From d93d2ca9e82db9e14673394f610426fdce1cb9fe Mon Sep 17 00:00:00 2001 From: "Kurt A. O'Hearn" <ohearnku@msu.edu> Date: Thu, 11 Feb 2021 01:27:03 -0500 Subject: [PATCH] sPuReMD: standardize QM/MM interface. Add test codes for QM/MM interface for AVE dataset in Python and Fortran. --- configure.ac | 12 +- sPuReMD/src/spuremd.c | 417 +---- sPuReMD/src/spuremd.h | 32 +- test/library/qmmm_amber/AVE/control | 2 +- .../library/qmmm_amber/AVE/{fort.4 => ffield} | 24 +- test/library/qmmm_amber/AVE/fort.3 | 1550 ++++++++--------- test/library/qmmm_amber/control | 25 +- .../qmmm_amber/fortran_stub/driver.F03 | 197 +++ .../qmmm_amber/fortran_stub/puremd.F03 | 313 ++++ .../qmmm_amber/fortran_stub/run_sim.bash | 11 + test/library/qmmm_amber/tester_AVE.py | 99 +- 11 files changed, 1385 insertions(+), 1297 deletions(-) rename test/library/qmmm_amber/AVE/{fort.4 => ffield} (97%) create mode 100644 test/library/qmmm_amber/fortran_stub/driver.F03 create mode 100644 test/library/qmmm_amber/fortran_stub/puremd.F03 create mode 100644 test/library/qmmm_amber/fortran_stub/run_sim.bash diff --git a/configure.ac b/configure.ac index 7f144cee..18133ec5 100644 --- a/configure.ac +++ b/configure.ac @@ -67,12 +67,6 @@ AC_ARG_ENABLE([qmmm], [enable build for code in QM/MM mode @<:@default: no@:>@])], [qmmm=${enableval}], [qmmm=no]) -# Build code with Fortran interface in QM/MM mode. -AC_ARG_ENABLE([qmmm-fortran-amber], - [AS_HELP_STRING([--enable-qmmm-fortran-amber], - [enable build for Fortran F90 interface to Amber code in QM/MM mode @<:@default: no@:>@])], - [qmmm_fortran_amber=${enableval}], [qmmm_fortran_amber=no]) - # Build LAMMPS/reaxc integration code. AC_ARG_ENABLE([lammps-reaxc], [AS_HELP_STRING([--enable-lammps-reaxc], @@ -332,13 +326,9 @@ if test "x${pack_serial_enabled}" = "xyes" || test "x${pack_openmp_enabled}" = " AC_SUBST([G_LIBS], ["${GSL_LIBS}"]) # Build code in QM/MM mode - AS_IF([test "x${qmmm}" = "xyes" || test "x${qmmm_fortran_amber}" = "xyes"], + AS_IF([test "x${qmmm}" = "xyes"], [AC_DEFINE([QMMM], [1], [Define to 1 to build PuReMD code in QMMM mode.])]) - # Build code with Fortran F90 interface to Amber in QM/MM mode - AS_IF([test "x${qmmm_fortran_amber}" = "xyes"], - [AC_DEFINE([QMMM_FORTRAN_AMBER], [1], [Define to 1 to build PuReMD with Fortran F90 interface for Amber code in QMMM mode.])]) - AC_LANG_POP([C]) fi AM_CONDITIONAL([BUILD_S_OMP], [test "x${pack_serial_enabled}" = "xyes" || test "x${pack_openmp_enabled}" = "xyes"]) diff --git a/sPuReMD/src/spuremd.c b/sPuReMD/src/spuremd.c index 8f38bc46..a39aa774 100644 --- a/sPuReMD/src/spuremd.c +++ b/sPuReMD/src/spuremd.c @@ -935,8 +935,10 @@ int set_control_parameter( const void * const handle, const char * const keyword if ( handle != NULL ) { spmd_handle = (spuremd_handle*) handle; + ret_ = Set_Control_Parameter( keyword, values, spmd_handle->control, spmd_handle->out_control ); + if ( ret_ == SUCCESS ) { ret = SPUREMD_SUCCESS; @@ -956,8 +958,7 @@ int set_control_parameter( const void * const handle, const char * const keyword * qm_pos: coordinates of QM atom positions (consecutively arranged), in Angstroms * mm_num_atoms: num. atoms in the MM region * mm_types: element types for MM atoms - * mm_pos: coordinates of MM atom positions (consecutively arranged), in Angstroms - * mm_q: charge of MM atom, in Coulombs + * mm_pos_q: coordinates and charges of MM atom positions (consecutively arranged), in Angstroms / Coulombs * sim_box_info: simulation box information, where the entries are * - box length per dimension (3 entries) * - angles per dimension (3 entries) @@ -966,9 +967,8 @@ int set_control_parameter( const void * const handle, const char * const keyword */ void * setup_qmmm( int qm_num_atoms, const int * const qm_types, const double * const qm_pos, int mm_num_atoms, const int * const mm_types, - const double * const mm_pos, const double * const mm_q, - const double * const sim_box_info, const char * const ffield_file, - const char * const control_file ) + const double * const mm_pos_q, const double * const sim_box_info, + const char * const ffield_file, const char * const control_file ) { int i; // char atom_name[9]; @@ -1026,9 +1026,9 @@ void * setup_qmmm( int qm_num_atoms, const int * const qm_types, for ( i = spmd_handle->system->N_qm; i < spmd_handle->system->N; ++i ) { - x[0] = mm_pos[3 * (i - spmd_handle->system->N_qm)]; - x[1] = mm_pos[3 * (i - spmd_handle->system->N_qm) + 1]; - x[2] = mm_pos[3 * (i - spmd_handle->system->N_qm) + 2]; + x[0] = mm_pos_q[4 * (i - spmd_handle->system->N_qm)]; + x[1] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 1]; + x[2] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 2]; Fit_to_Periodic_Box( &spmd_handle->system->box, x ); @@ -1042,8 +1042,8 @@ void * setup_qmmm( int qm_num_atoms, const int * const qm_types, rvec_Copy( spmd_handle->system->atoms[i].x, x ); rvec_MakeZero( spmd_handle->system->atoms[i].v ); rvec_MakeZero( spmd_handle->system->atoms[i].f ); - spmd_handle->system->atoms[i].q = mm_q[i - spmd_handle->system->N_qm]; - spmd_handle->system->atoms[i].q_init = mm_q[i - spmd_handle->system->N_qm]; + spmd_handle->system->atoms[i].q = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 3]; + spmd_handle->system->atoms[i].q_init = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 3]; spmd_handle->system->atoms[i].qmmm_mask = FALSE; } @@ -1063,8 +1063,7 @@ void * setup_qmmm( int qm_num_atoms, const int * const qm_types, * qm_pos: coordinates of QM atom positions (consecutively arranged), in Angstroms * mm_num_atoms: num. atoms in the MM region * mm_types: element types for MM atoms - * mm_pos: coordinates of MM atom positions (consecutively arranged), in Angstroms - * mm_q: charge of MM atom, in Coulombs + * mm_pos_q: coordinates and charges of MM atom positions (consecutively arranged), in Angstroms / Coulombs * sim_box_info: simulation box information, where the entries are * - box length per dimension (3 entries) * - angles per dimension (3 entries) @@ -1073,12 +1072,10 @@ void * setup_qmmm( int qm_num_atoms, const int * const qm_types, * * returns: SPUREMD_SUCCESS upon success, SPUREMD_FAILURE otherwise */ -int reset_qmmm( const void * const handle, - int qm_num_atoms, const int * const qm_types, - const double * const qm_pos, +int reset_qmmm( const void * const handle, int qm_num_atoms, + const int * const qm_types, const double * const qm_pos, int mm_num_atoms, const int * const mm_types, - const double * const mm_pos, const double * const mm_q, - const double * const sim_box_info, + const double * const mm_pos_q, const double * const sim_box_info, const char * const ffield_file, const char * const control_file ) { int i, ret; @@ -1146,9 +1143,9 @@ int reset_qmmm( const void * const handle, for ( i = spmd_handle->system->N_qm; i < spmd_handle->system->N; ++i ) { - x[0] = mm_pos[3 * (i - spmd_handle->system->N_qm)]; - x[1] = mm_pos[3 * (i - spmd_handle->system->N_qm) + 1]; - x[2] = mm_pos[3 * (i - spmd_handle->system->N_qm) + 2]; + x[0] = mm_pos_q[4 * (i - spmd_handle->system->N_qm)]; + x[1] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 1]; + x[2] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 2]; Fit_to_Periodic_Box( &spmd_handle->system->box, x ); @@ -1162,7 +1159,7 @@ int reset_qmmm( const void * const handle, rvec_Copy( spmd_handle->system->atoms[i].x, x ); rvec_MakeZero( spmd_handle->system->atoms[i].v ); rvec_MakeZero( spmd_handle->system->atoms[i].f ); - spmd_handle->system->atoms[i].q = mm_q[i - spmd_handle->system->N_qm]; + spmd_handle->system->atoms[i].q = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 3]; spmd_handle->system->atoms[i].qmmm_mask = FALSE; } @@ -1370,381 +1367,3 @@ int get_atom_charges_qmmm( const void * const handle, double * const qm_q, return ret; } #endif - - -#if defined(QMMM_FORTRAN_AMBER) -/* Allocate top-level data structures and parse input files - * for the first simulation - * - * handle: pointer to wrapper struct with top-level data structures - * qm_num_atoms: num. atoms in the QM region - * qm_types: element types for QM atoms - * qm_pos: coordinates of QM atom positions (consecutively arranged), in Angstroms - * mm_num_atoms: num. atoms in the MM region - * mm_types: element types for MM atoms - * mm_pos_q: coordinates and charges of MM atom positions (consecutively arranged), in Angstroms / Coulombs - * sim_box_info: simulation box information, where the entries are - * - box length per dimension (3 entries) - * - angles per dimension (3 entries) - * ffield_file: file containing force field parameters - * control_file: file containing simulation parameters - */ -void setup_qmmm_( void ** handle, const int * const qm_num_atoms, - const int * const qm_types, const double * const qm_pos, - const int * const mm_num_atoms, const int * const mm_types, - const double * const mm_pos_q, const double * const sim_box_info, - const char * const ffield_file, const char * const control_file ) -{ - int i; -// char atom_name[9]; - rvec x; - spuremd_handle *spmd_handle; - - Allocate_Top_Level_Structs( &spmd_handle ); - Initialize_Top_Level_Structs( spmd_handle ); - - /* override default */ - spmd_handle->output_enabled = FALSE; - - Read_Input_Files( NULL, ffield_file, control_file, - spmd_handle->system, spmd_handle->control, - spmd_handle->data, spmd_handle->workspace, - spmd_handle->out_control, FALSE ); - - spmd_handle->system->N_qm = *qm_num_atoms; - spmd_handle->system->N_mm = *mm_num_atoms; - spmd_handle->system->N = spmd_handle->system->N_qm + spmd_handle->system->N_mm; - /* note: assign here to avoid compiler warning - * of uninitialized usage in PreAllocate_Space */ - spmd_handle->system->N_max = 0; - - PreAllocate_Space( spmd_handle->system, spmd_handle->control, - spmd_handle->workspace, (int) CEIL( SAFE_ZONE * spmd_handle->system->N ) ); - - Setup_Box( sim_box_info[0], sim_box_info[1], sim_box_info[2], - sim_box_info[3], sim_box_info[4], sim_box_info[5], - &spmd_handle->system->box ); - - for ( i = 0; i < spmd_handle->system->N_qm; ++i ) - { - x[0] = qm_pos[3 * i]; - x[1] = qm_pos[3 * i + 1]; - x[2] = qm_pos[3 * i + 2]; - - Fit_to_Periodic_Box( &spmd_handle->system->box, x ); - - spmd_handle->workspace->orig_id[i] = i + 1; -// spmd_handle->system->atoms[i].type = Get_Atom_Type( &system->reax_param, -// element, sizeof(element) ); - spmd_handle->system->atoms[i].type = qm_types[i]; -// strncpy( spmd_handle->system->atoms[i].name, atom_name, -// sizeof(spmd_handle->system->atoms[i].name) - 1 ); -// spmd_handle->system->atoms[i].name[sizeof(spmd_handle->system->atoms[i].name) - 1] = '\0'; - rvec_Copy( spmd_handle->system->atoms[i].x, x ); - rvec_MakeZero( spmd_handle->system->atoms[i].v ); - rvec_MakeZero( spmd_handle->system->atoms[i].f ); - spmd_handle->system->atoms[i].q = 0.0; - spmd_handle->system->atoms[i].q_init = 0.0; - - spmd_handle->system->atoms[i].qmmm_mask = TRUE; - } - - for ( i = spmd_handle->system->N_qm; i < spmd_handle->system->N; ++i ) - { - x[0] = mm_pos_q[4 * (i - spmd_handle->system->N_qm)]; - x[1] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 1]; - x[2] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 2]; - - Fit_to_Periodic_Box( &spmd_handle->system->box, x ); - - spmd_handle->workspace->orig_id[i] = i + 1; -// spmd_handle->system->atoms[i].type = Get_Atom_Type( &system->reax_param, -// element, sizeof(element) ); - spmd_handle->system->atoms[i].type = mm_types[i - spmd_handle->system->N_qm]; -// strncpy( spmd_handle->system->atoms[i].name, atom_name, -// sizeof(spmd_handle->system->atoms[i].name) - 1 ); -// spmd_handle->system->atoms[i].name[sizeof(spmd_handle->system->atoms[i].name) - 1] = '\0'; - rvec_Copy( spmd_handle->system->atoms[i].x, x ); - rvec_MakeZero( spmd_handle->system->atoms[i].v ); - rvec_MakeZero( spmd_handle->system->atoms[i].f ); - spmd_handle->system->atoms[i].q = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 3]; - spmd_handle->system->atoms[i].q_init = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 3]; - - spmd_handle->system->atoms[i].qmmm_mask = FALSE; - } - - spmd_handle->system->N_max = (int) CEIL( SAFE_ZONE * spmd_handle->system->N ); - - *handle = (void *) spmd_handle; -} - - -/* Reset for the next simulation by parsing input files and triggering - * reallocation if more space is needed - * - * handle: pointer to wrapper struct with top-level data structures - * qm_num_atoms: num. atoms in the QM region - * qm_types: element types for QM atoms - * qm_pos: coordinates of QM atom positions (consecutively arranged), in Angstroms - * mm_num_atoms: num. atoms in the MM region - * mm_types: element types for MM atoms - * mm_pos_q: coordinates and charges of MM atom positions (consecutively arranged), in Angstroms / Coulombs - * sim_box_info: simulation box information, where the entries are - * - box length per dimension (3 entries) - * - angles per dimension (3 entries) - * ffield_file: file containing force field parameters - * control_file: file containing simulation parameters - */ -void reset_qmmm_( const void * const handle, - const int * const qm_num_atoms, const int * const qm_types, - const double * const qm_pos, const int * const mm_num_atoms, - const int * const mm_types, const double * const mm_pos_q, - const double * const sim_box_info, const char * const ffield_file, - const char * const control_file ) -{ - int i, ret; - rvec x; - spuremd_handle *spmd_handle; - - ret = SPUREMD_FAILURE; - - if ( handle != NULL ) - { - spmd_handle = (spuremd_handle*) handle; - - /* close files used in previous simulation */ - if ( spmd_handle->output_enabled == TRUE ) - { - Finalize_Out_Controls( spmd_handle->system, spmd_handle->control, - spmd_handle->workspace, spmd_handle->out_control ); - } - - spmd_handle->realloc = FALSE; - spmd_handle->data->sim_id++; - - Read_Input_Files( NULL, ffield_file, control_file, - spmd_handle->system, spmd_handle->control, - spmd_handle->data, spmd_handle->workspace, - spmd_handle->out_control, TRUE ); - - spmd_handle->system->N_qm = *qm_num_atoms; - spmd_handle->system->N_mm = *mm_num_atoms; - spmd_handle->system->N = spmd_handle->system->N_qm + spmd_handle->system->N_mm; - - if ( spmd_handle->system->prealloc_allocated == FALSE - || spmd_handle->system->N > spmd_handle->system->N_max ) - { - PreAllocate_Space( spmd_handle->system, spmd_handle->control, - spmd_handle->workspace, (int) CEIL( SAFE_ZONE * spmd_handle->system->N ) ); - } - - Setup_Box( sim_box_info[0], sim_box_info[1], sim_box_info[2], - sim_box_info[3], sim_box_info[4], sim_box_info[5], - &spmd_handle->system->box ); - - for ( i = 0; i < spmd_handle->system->N_qm; ++i ) - { - x[0] = qm_pos[3 * i]; - x[1] = qm_pos[3 * i + 1]; - x[2] = qm_pos[3 * i + 2]; - - Fit_to_Periodic_Box( &spmd_handle->system->box, x ); - - spmd_handle->workspace->orig_id[i] = i + 1; -// spmd_handle->system->atoms[i].type = Get_Atom_Type( &system->reax_param, -// element, sizeof(element) ); - spmd_handle->system->atoms[i].type = qm_types[i]; -// strncpy( spmd_handle->system->atoms[i].name, atom_name, -// sizeof(spmd_handle->system->atoms[i].name) - 1 ); -// spmd_handle->system->atoms[i].name[sizeof(spmd_handle->system->atoms[i].name) - 1] = '\0'; - rvec_Copy( spmd_handle->system->atoms[i].x, x ); - rvec_MakeZero( spmd_handle->system->atoms[i].v ); - rvec_MakeZero( spmd_handle->system->atoms[i].f ); - spmd_handle->system->atoms[i].q = 0.0; - - spmd_handle->system->atoms[i].qmmm_mask = TRUE; - } - - for ( i = spmd_handle->system->N_qm; i < spmd_handle->system->N; ++i ) - { - x[0] = mm_pos_q[4 * (i - spmd_handle->system->N_qm)]; - x[1] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 1]; - x[2] = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 2]; - - Fit_to_Periodic_Box( &spmd_handle->system->box, x ); - - spmd_handle->workspace->orig_id[i] = i + 1; -// spmd_handle->system->atoms[i].type = Get_Atom_Type( &system->reax_param, -// element, sizeof(element) ); - spmd_handle->system->atoms[i].type = mm_types[i - spmd_handle->system->N_qm]; -// strncpy( spmd_handle->system->atoms[i].name, atom_name, -// sizeof(spmd_handle->system->atoms[i].name) - 1 ); -// spmd_handle->system->atoms[i].name[sizeof(spmd_handle->system->atoms[i].name) - 1] = '\0'; - rvec_Copy( spmd_handle->system->atoms[i].x, x ); - rvec_MakeZero( spmd_handle->system->atoms[i].v ); - rvec_MakeZero( spmd_handle->system->atoms[i].f ); - spmd_handle->system->atoms[i].q = mm_pos_q[4 * (i - spmd_handle->system->N_qm) + 3]; - - spmd_handle->system->atoms[i].qmmm_mask = FALSE; - } - - if ( spmd_handle->system->N > spmd_handle->system->N_max ) - { - /* deallocate everything which needs more space - * (i.e., structures whose space is a function of the number of atoms), - * except for data structures allocated while parsing input files */ - Finalize( spmd_handle->system, spmd_handle->control, spmd_handle->data, - spmd_handle->workspace, spmd_handle->lists, spmd_handle->out_control, - spmd_handle->output_enabled, TRUE ); - - spmd_handle->system->N_max = (int) CEIL( SAFE_ZONE * spmd_handle->system->N ); - spmd_handle->realloc = TRUE; - } - - ret = SPUREMD_SUCCESS; - } - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} - - -/* Run the simulation according to the prescribed parameters - * - * handle: pointer to wrapper struct with top-level data structures - */ -void simulate_( const void * const handle ) -{ - int ret; - - ret = simulate( handle ); - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} - - -/* Deallocate all data structures post-simulation - * - * handle: pointer to wrapper struct with top-level data structures - */ -void cleanup_( const void * const handle ) -{ - int ret; - - ret = cleanup( handle ); - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} - - -/* Setter for writing output to files - * - * handle: pointer to wrapper struct with top-level data structures - * enabled: TRUE enables writing output to files, FALSE otherwise - */ -void set_output_enabled_( const void * const handle, const int enabled ) -{ - int ret; - - ret = set_output_enabled( handle, enabled ); - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} - - -/* Setter for simulation parameter values as defined in the input control file - * - * handle: pointer to wrapper struct with top-level data structures - * control_keyword: keyword from the control file to set the value for - * control_value: value to set - */ -void set_control_parameter_( const void * const handle, const char * const keyword, - const char ** const values ) -{ - int ret; - - ret = set_control_parameter( handle, keyword, values ); - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} - - -/* Getter for atom forces in QMMM mode - * - * handle: pointer to wrapper struct with top-level data structures - * qm_f: coordinates of QM atom forces (consecutively arranged), in Angstroms * Daltons / ps^2 (allocated by caller) - * mm_f: coordinates of MM atom forces (consecutively arranged), in Angstroms * Daltons / ps^2 (allocated by caller) - */ -void get_atom_forces_qmmm_( const void * const handle, double * const qm_f, - double * const mm_f ) -{ - int ret; - - ret = get_atom_forces_qmmm( handle, qm_f, mm_f ); - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} - - -/* Getter for atom charges in QMMM mode - * - * handle: pointer to wrapper struct with top-level data structures - * qm_q: QM atom charges, in Coulombs (allocated by caller) - * - * returns: SPUREMD_SUCCESS upon success, SPUREMD_FAILURE otherwise - */ -void get_atom_charges_qmmm_( const void * const handle, double * const qm_q ) -{ - int ret; - - ret = get_atom_charges_qmmm( handle, qm_q, NULL ); - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} - - -/* Getter for system energies - * - * handle: pointer to wrapper struct with top-level data structures - * e_tot: system total energy, in kcal / mol (reference from caller) - */ -void get_system_info_( const void * const handle, double * const e_tot ) -{ - int ret; - - ret = get_system_info( handle, NULL, NULL, e_tot, NULL, NULL, NULL ); - - if ( ret != SPUREMD_SUCCESS ) - { - /* TODO: pass errors via another mechanism */ - ; - } -} -#endif diff --git a/sPuReMD/src/spuremd.h b/sPuReMD/src/spuremd.h index 63d0ff5a..cae887f4 100644 --- a/sPuReMD/src/spuremd.h +++ b/sPuReMD/src/spuremd.h @@ -76,12 +76,12 @@ int set_control_parameter( const void * const, const char * const, void * setup_qmmm( int, const int * const, const double * const, int, const int * const, const double * const, const double * const, - const double * const, const char * const, const char * const ); + const char * const, const char * const ); int reset_qmmm( const void * const, int, const int * const, const double * const, int, const int * const, const double * const, const double * const, - const double * const, const char * const, const char * const ); + const char * const, const char * const ); int get_atom_positions_qmmm( const void * const, double * const, double * const ); @@ -95,34 +95,6 @@ int get_atom_forces_qmmm( const void * const, double * const, int get_atom_charges_qmmm( const void * const, double * const, double * const ); #endif -#if defined(QMMM_FORTRAN_AMBER) -void setup_qmmm_( void **, const int * const, const int * const, - const double * const, const int * const, const int * const, - const double * const, const double * const, const char * const, - const char * const ); - -void reset_qmmm_( const void * const, const int * const, const int * const, - const double * const, const int * const, const int * const, - const double * const, const double * const, const char * const, - const char * const ); - -void simulate_( const void * const ); - -void cleanup_( const void * const ); - -void set_output_enabled_( const void * const, const int ); - -void set_control_parameter_( const void * const, const char * const, - const char ** const ); - -void get_atom_forces_qmmm_( const void * const, double * const, - double * const ); - -void get_atom_charges_qmmm_( const void * const, double * const ); - -void get_system_info_( const void * const, double * const ); -#endif - #if defined(__cplusplus) } #endif diff --git a/test/library/qmmm_amber/AVE/control b/test/library/qmmm_amber/AVE/control index 0b785422..7456d835 100644 --- a/test/library/qmmm_amber/AVE/control +++ b/test/library/qmmm_amber/AVE/control @@ -7,7 +7,7 @@ 80.000 axis1 a (for non-periodical systems) 80.000 axis2 b (for non-periodical systems) 80.000 axis3 c (for non-periodical systems) - 0.0010 cutof2 BO-cutoff for valency angles and torsion angles + 0.0050 cutof2 BO-cutoff for valency angles and torsion angles 0.300 cutof3 BO-cutoff for bond order for graphs 4 icharg Charges. 1:EEM 2:- 3: Shielded EEM (default for crystals) 4: Full system EEM 5: Fixed (unit 26) 6: Fragment EEM 1 ichaen Charges. 1:include charge energy 0: Do not include charge energy diff --git a/test/library/qmmm_amber/AVE/fort.4 b/test/library/qmmm_amber/AVE/ffield similarity index 97% rename from test/library/qmmm_amber/AVE/fort.4 rename to test/library/qmmm_amber/AVE/ffield index 0f955730..a15781ac 100644 --- a/test/library/qmmm_amber/AVE/fort.4 +++ b/test/library/qmmm_amber/AVE/ffield @@ -97,8 +97,8 @@ Reactive CHON-2017_weak force field: Dec13 2016, 2017(CH-retrain) Source: https: 8.2974 1.0000 0.0000 1.0000 -0.0809 6.3908 0.0000 0.0000 2 2 165.6186 0.0000 0.0000 -0.4194 0.0000 1.0000 6.0000 0.6197 6.3245 1.0000 0.0000 1.0000 -0.0879 6.0634 0.0000 0.0000 - 1 3 161.2413 119.3000 98.9000 -0.4044 -0.6000 1.0000 21.9000 0.8787 - 1.4350 -0.3347 7.9000 0.9812 -0.2559 6.3865 0.0000 0.0000 + 1 3 146.3000 119.3000 98.9000 -0.3000 -0.6000 1.0000 21.9000 1.0000 + 0.2000 -0.3347 7.9000 1.0000 -0.2457 4.7000 0.0000 0.0000 2 3 159.4722 0.0000 0.0000 -0.5725 0.0000 1.0000 6.0000 0.5505 1.1150 1.0000 0.0000 0.0000 -0.0920 4.2790 0.0000 0.0000 3 3 142.2858 85.0000 0.0000 0.2506 -0.1000 1.0000 29.7503 0.6051 @@ -204,20 +204,20 @@ Reactive CHON-2017_weak force field: Dec13 2016, 2017(CH-retrain) Source: https: 9 10 0.1402 2.1604 10.9786 1.7505 -1.0000 -1.0000 105 ! Nr of angles;at1;at2;at3;Thetao,o;ka;kb;pv1;pv2 1 1 1 66.0347 45.0000 1.1248 0.0000 3.0000 70.0000 2.4142 - 1 1 2 57.5203 11.1542 4.7426 -0.7339 -0.9176 0.0000 1.7607 + 1 1 2 58.9292 15.1099 4.4631 0.0000 0.0287 0.0000 1.8837 2 1 2 64.1492 18.6633 1.9552 0.0000 3.0000 0.0000 1.0010 1 2 2 0.0000 0.0000 6.0000 0.0000 0.0000 0.0000 1.0400 1 2 1 0.0000 7.5000 5.0000 0.0000 0.0000 0.0000 1.0400 2 2 2 0.0000 27.9213 5.8635 0.0000 0.0000 0.0000 1.0400 - 1 1 3 68.6071 46.1858 2.5058 -0.4029 -0.1784 58.6562 1.5863 + 1 1 3 51.0000 44.5000 1.2000 3.0000 4.0000 58.6562 5.0000 3 1 3 70.8589 10.0656 7.5000 -17.8180 1.1419 0.0000 1.4986 1 1 4 54.9449 38.0899 0.5948 0.0000 1.4838 0.0000 1.5862 3 1 4 86.4061 17.5133 2.2425 0.0000 0.4036 32.5000 1.3710 4 1 4 69.6085 2.5000 0.1000 0.0000 0.9683 0.0000 1.5523 - 2 1 3 54.7474 4.8106 9.4520 -30.0000 -1.0000 0.0000 4.2208 + 2 1 3 50.0000 23.3223 1.0888 0.0000 0.1000 0.0000 1.5647 2 1 4 75.3048 9.9497 2.4268 0.0000 0.1000 0.0000 1.5478 1 2 4 0.0000 0.0019 6.3000 0.0000 0.0000 0.0000 1.0400 - 1 3 1 -57.4049 4.5141 11.8498 2.0995 4.0000 0.0000 1.8452 + 1 3 1 47.8605 21.3463 1.5872 -2.2883 2.2753 0.0000 1.6518 1 3 3 82.8564 45.0000 1.5233 0.0000 1.1034 68.1072 1.6192 1 3 4 87.0300 18.3166 1.0893 0.0000 3.0479 0.0000 1.0825 3 3 3 90.0000 21.1742 1.8914 0.0000 1.6310 50.0000 1.0000 @@ -310,14 +310,14 @@ Reactive CHON-2017_weak force field: Dec13 2016, 2017(CH-retrain) Source: https: 1 4 9 55.0000 15.0000 1.0000 0.0000 1.0000 0.0000 1.5000 66 ! Nr of torsions;at1;at2;at3;at4;;V1;V2;V3;V2(BO);vconj;n.u;n 1 1 1 1 0.3619 5.0000 0.2257 -9.0000 -2.4400 0.0000 0.0000 - 1 1 1 2 -1.9878 78.0106 -0.8993 -6.0559 0.9721 0.0000 0.0000 - 2 1 1 2 3.4027 97.0884 1.4919 -5.4079 3.5966 0.0000 0.0000 - 1 1 1 3 2.6596 -21.6776 -0.8522 -4.1011 -4.0000 0.0000 0.0000 - 2 1 1 3 -0.5174 94.7613 1.5000 -9.5447 -4.0000 0.0000 0.0000 + 1 1 1 2 0.2330 56.0330 -0.0369 -6.3749 -1.6179 0.0000 0.0000 + 2 1 1 2 -0.0662 44.7480 0.3945 -6.5879 -3.0000 0.0000 0.0000 + 1 1 1 3 1.0000 77.0000 -0.3000 -6.8000 -0.0720 0.0000 0.0000 + 2 1 1 3 3.5000 16.0000 1.4000 -7.7000 -2.5000 0.0000 0.0000 3 1 1 3 -2.3605 29.3576 -1.0000 -2.5000 -0.8614 0.0000 0.0000 - 1 1 3 1 -2.5000 -21.9374 1.5000 -1.5000 -3.5912 0.0000 0.0000 + 1 1 3 1 -2.0057 24.8146 0.7743 -4.2047 -1.0000 0.0000 0.0000 1 1 3 2 -2.4164 5.0000 -0.8158 -9.0000 -0.9000 0.0000 0.0000 - 2 1 3 1 -2.5000 14.0094 0.1288 -1.1453 -3.5751 0.0000 0.0000 + 2 1 3 1 -2.3755 100.0000 1.0000 -3.6742 -5.0000 0.0000 0.0000 2 1 3 2 -2.4308 80.0000 1.0000 -3.9796 -1.1000 0.0000 0.0000 2 1 3 3 -0.7523 100.0000 1.0000 -4.2517 -2.8274 0.0000 0.0000 3 1 3 1 -2.5000 5.2291 -1.0000 -7.9957 -3.0437 0.0000 0.0000 diff --git a/test/library/qmmm_amber/AVE/fort.3 b/test/library/qmmm_amber/AVE/fort.3 index aef79db5..aa56586c 100644 --- a/test/library/qmmm_amber/AVE/fort.3 +++ b/test/library/qmmm_amber/AVE/fort.3 @@ -1,781 +1,779 @@ BIOGRF 200 DESCRP AMBER-REAX bgf REMARK .bgf-file generated by amber -HETATM 1 C -1.65460 0.98104 0.08681 C 0 0 0.11473 -HETATM 2 O -1.42542 0.31336 -1.21380 O 0 0 -0.54053 -HETATM 3 C -0.67167 -0.83192 -1.03518 C 0 0 0.09807 -HETATM 4 C 0.88286 -0.45943 -0.91203 C 0 0 -0.05189 -HETATM 5 C -0.68256 1.31997 0.93751 C 0 0 -0.03019 -HETATM 6 C 1.74254 -0.98094 0.00111 C 0 0 -0.08214 -HETATM 7 H -0.92503 -1.51330 -1.84567 H 0 0 0.07882 -HETATM 8 H -0.72447 -1.29225 -0.01108 H 0 0 0.07563 -HETATM 9 H 0.96493 0.22311 -1.72226 H 0 0 0.07363 -HETATM 10 H -1.10310 1.79396 1.84567 H 0 0 0.04146 -HETATM 11 H 0.35955 1.07205 0.83497 H 0 0 0.04636 -HETATM 12 H 1.42234 -1.79396 0.64896 H 0 0 0.05007 -HETATM 13 H 2.75145 -0.55465 -0.06272 H 0 0 0.03641 -HETATM 14 H -2.75145 1.09686 0.08169 H 0 0 0.08958 -HETATM 15 H 12.47437 -2.46007 -0.86770 H 0 0 0.41700 -HETATM 16 H 1.51043 -9.55854 -6.96047 H 0 0 0.41700 -HETATM 17 O -1.52245 -4.17882 -0.98859 O 0 0 -0.83400 -HETATM 18 H -2.05818 -3.70939 -1.62801 H 0 0 0.41700 -HETATM 19 H -2.07281 -4.90875 -0.70481 H 0 0 0.41700 -HETATM 20 O 1.64531 7.58528 7.47500 O 0 0 -0.83400 -HETATM 21 H 1.28772 7.72415 8.35197 H 0 0 0.41700 -HETATM 22 H 2.10499 8.39997 7.27200 H 0 0 0.41700 -HETATM 23 O -4.80137 1.40579 7.54104 O 0 0 -0.83400 -HETATM 24 H -4.49650 2.23505 7.90928 H 0 0 0.41700 -HETATM 25 H -5.75577 1.47887 7.54405 H 0 0 0.41700 -HETATM 26 O -5.86344 0.78091 2.53354 O 0 0 -0.83400 -HETATM 27 H -5.38331 0.88531 3.35501 H 0 0 0.41700 -HETATM 28 H -5.85173 -0.16169 2.36740 H 0 0 0.41700 -HETATM 29 O 1.18766 6.14728 -5.29738 O 0 0 -0.83400 -HETATM 30 H 2.00788 6.13799 -5.79071 H 0 0 0.41700 -HETATM 31 H 1.45909 6.10316 -4.38053 H 0 0 0.41700 -HETATM 32 O 6.23125 -4.40479 6.82307 O 0 0 -0.83400 -HETATM 33 H 6.91478 -4.69426 6.21874 H 0 0 0.41700 -HETATM 34 H 5.42190 -4.46421 6.31547 H 0 0 0.41700 -HETATM 35 O -9.78227 0.91352 3.04722 O 0 0 -0.83400 -HETATM 36 H -9.09905 1.28231 3.60707 H 0 0 0.41700 -HETATM 37 H -9.47702 1.08017 2.15543 H 0 0 0.41700 -HETATM 38 O 0.27563 2.25473 11.64407 O 0 0 -0.83400 -HETATM 39 H -0.37657 1.56635 11.77448 H 0 0 0.41700 -HETATM 40 H 0.15242 2.53255 10.73640 H 0 0 0.41700 -HETATM 41 O 7.78028 5.27491 -3.31086 O 0 0 -0.83400 -HETATM 42 H 8.59723 4.77724 -3.27699 H 0 0 0.41700 -HETATM 43 H 7.28263 4.97029 -2.55205 H 0 0 0.41700 -HETATM 44 O -9.32232 4.78234 -3.62344 O 0 0 -0.83400 -HETATM 45 H -10.08586 5.22696 -3.25525 H 0 0 0.41700 -HETATM 46 H -9.14676 5.24619 -4.44213 H 0 0 0.41700 -HETATM 47 O 4.07673 -4.96939 5.17839 O 0 0 -0.83400 -HETATM 48 H 3.68738 -5.77251 5.52428 H 0 0 0.41700 -HETATM 49 H 3.92524 -5.01703 4.23445 H 0 0 0.41700 -HETATM 50 O 0.90425 8.50466 -3.48230 O 0 0 -0.83400 -HETATM 51 H 1.43251 9.13865 -3.96730 H 0 0 0.41700 -HETATM 52 H 0.75174 7.79381 -4.10493 H 0 0 0.41700 -HETATM 53 O 4.71819 -2.92704 2.37050 O 0 0 -0.83400 -HETATM 54 H 4.88041 -2.48863 1.53521 H 0 0 0.41700 -HETATM 55 H 5.58766 -3.03999 2.75454 H 0 0 0.41700 -HETATM 56 O -2.91781 -5.62346 8.14339 O 0 0 -0.83400 -HETATM 57 H -2.98733 -6.44008 7.64890 H 0 0 0.41700 -HETATM 58 H -2.40702 -5.85577 8.91886 H 0 0 0.41700 -HETATM 59 O -7.81577 -4.63150 5.13329 O 0 0 -0.83400 -HETATM 60 H -8.11606 -3.85362 4.66323 H 0 0 0.41700 -HETATM 61 H -7.99848 -4.44079 6.05333 H 0 0 0.41700 -HETATM 62 O 2.44516 2.28769 5.27087 O 0 0 -0.83400 -HETATM 63 H 2.25147 1.60422 4.62933 H 0 0 0.41700 -HETATM 64 H 1.92723 3.03963 4.98353 H 0 0 0.41700 -HETATM 65 H 3.86232 -11.05629 2.78783 H 0 0 0.41700 -HETATM 66 O -4.19147 6.54452 7.17018 O 0 0 -0.83400 -HETATM 67 H -3.57169 7.01302 7.72930 H 0 0 0.41700 -HETATM 68 H -5.03804 6.94911 7.35955 H 0 0 0.41700 -HETATM 69 O -2.39190 -5.34344 -8.05266 O 0 0 -0.83400 -HETATM 70 H -3.24081 -5.00668 -7.76599 H 0 0 0.41700 -HETATM 71 H -2.07678 -5.86076 -7.31151 H 0 0 0.41700 -HETATM 72 O 0.16193 -8.48154 5.96619 O 0 0 -0.83400 -HETATM 73 H -0.63200 -8.27232 6.45826 H 0 0 0.41700 -HETATM 74 H -0.06298 -9.27032 5.47276 H 0 0 0.41700 -HETATM 75 O 10.61884 4.48455 3.06688 O 0 0 -0.83400 -HETATM 76 O -7.43674 0.48914 -2.65133 O 0 0 -0.83400 -HETATM 77 H -8.17450 -0.11987 -2.68366 H 0 0 0.41700 -HETATM 78 H -7.26820 0.61183 -1.71711 H 0 0 0.41700 -HETATM 79 O -3.00211 -2.03050 2.74258 O 0 0 -0.83400 -HETATM 80 H -2.45061 -1.44224 3.25835 H 0 0 0.41700 -HETATM 81 H -2.48346 -2.83031 2.65573 H 0 0 0.41700 -HETATM 82 O 0.26145 -6.47543 -8.22080 O 0 0 -0.83400 -HETATM 83 H -0.46195 -5.88762 -8.43854 H 0 0 0.41700 -HETATM 84 H 0.67277 -6.67112 -9.06267 H 0 0 0.41700 -HETATM 85 O -5.53231 -2.29276 2.41034 O 0 0 -0.83400 -HETATM 86 H -4.57734 -2.22945 2.42632 H 0 0 0.41700 -HETATM 87 H -5.76805 -2.12769 1.49743 H 0 0 0.41700 -HETATM 88 O 5.69668 3.80971 6.90579 O 0 0 -0.83400 -HETATM 89 H 4.84654 4.18824 6.68171 H 0 0 0.41700 -HETATM 90 H 6.28034 4.09997 6.20485 H 0 0 0.41700 -HETATM 91 O 5.05535 2.90612 3.12351 O 0 0 -0.83400 -HETATM 92 H 4.61555 2.40467 2.43696 H 0 0 0.41700 -HETATM 93 H 5.64669 2.27762 3.53768 H 0 0 0.41700 -HETATM 94 O 12.10441 -1.86721 2.60602 O 0 0 -0.83400 -HETATM 95 H 11.84128 -2.70607 2.98458 H 0 0 0.41700 -HETATM 96 O -0.33891 -2.59062 -5.56421 O 0 0 -0.83400 -HETATM 97 H 0.08556 -2.83587 -6.38636 H 0 0 0.41700 -HETATM 98 H -1.00742 -1.95512 -5.82007 H 0 0 0.41700 -HETATM 99 O 1.18815 -10.80660 2.75850 O 0 0 -0.83400 -HETATM 100 H 1.26126 -11.22728 1.90181 H 0 0 0.41700 -HETATM 101 H 1.31700 -9.87512 2.57970 H 0 0 0.41700 -HETATM 102 O 10.28026 -6.27764 1.25187 O 0 0 -0.83400 -HETATM 103 H 10.39772 -6.82808 0.47762 H 0 0 0.41700 -HETATM 104 O 7.46402 -0.63599 1.22262 O 0 0 -0.83400 -HETATM 105 H 6.87255 -1.12202 0.64802 H 0 0 0.41700 -HETATM 106 H 7.74581 0.11326 0.69778 H 0 0 0.41700 -HETATM 107 H -11.23556 -0.64867 -3.79961 H 0 0 0.41700 -HETATM 108 O -5.16204 -9.26949 3.87501 O 0 0 -0.83400 -HETATM 109 H -4.76341 -9.13614 3.01504 H 0 0 0.41700 -HETATM 110 O -0.77280 3.62158 -2.08117 O 0 0 -0.83400 -HETATM 111 H -1.37041 3.56446 -1.33563 H 0 0 0.41700 -HETATM 112 H 0.10056 3.57501 -1.69218 H 0 0 0.41700 -HETATM 113 O -7.33073 -7.23562 2.96805 O 0 0 -0.83400 -HETATM 114 H -7.82138 -7.15014 3.78548 H 0 0 0.41700 -HETATM 115 H -6.64493 -6.57070 3.02970 H 0 0 0.41700 -HETATM 116 O -8.95003 -2.56815 -7.08701 O 0 0 -0.83400 -HETATM 117 H -8.30912 -2.02875 -7.55017 H 0 0 0.41700 -HETATM 118 H -8.47456 -2.90675 -6.32840 H 0 0 0.41700 -HETATM 119 O 3.29681 -1.12525 7.73678 O 0 0 -0.83400 -HETATM 120 H 4.21086 -1.39029 7.83919 H 0 0 0.41700 -HETATM 121 H 3.34306 -0.22377 7.41830 H 0 0 0.41700 -HETATM 122 H 6.77244 -5.67568 7.76257 H 0 0 0.41700 -HETATM 123 O -5.80451 3.53698 2.89728 O 0 0 -0.83400 -HETATM 124 H -6.43209 3.65801 3.60983 H 0 0 0.41700 -HETATM 125 H -5.69966 2.58799 2.82907 H 0 0 0.41700 -HETATM 126 O 2.37009 -8.90098 0.65776 O 0 0 -0.83400 -HETATM 127 H 2.67859 -9.56774 0.04418 H 0 0 0.41700 -HETATM 128 H 3.11538 -8.74645 1.23820 H 0 0 0.41700 -HETATM 129 O 1.86096 3.37904 -1.12249 O 0 0 -0.83400 -HETATM 130 H 1.96782 3.64661 -0.20968 H 0 0 0.41700 -HETATM 131 H 2.56926 2.75305 -1.27307 H 0 0 0.41700 -HETATM 132 O 3.64397 5.61553 -7.06748 O 0 0 -0.83400 -HETATM 133 H 4.06592 6.25380 -7.64263 H 0 0 0.41700 -HETATM 134 H 3.27777 4.96175 -7.66305 H 0 0 0.41700 -HETATM 135 O 5.72388 -2.06404 8.09509 O 0 0 -0.83400 -HETATM 136 H 6.44578 -2.04864 8.72347 H 0 0 0.41700 -HETATM 137 H 5.91652 -2.81014 7.52723 H 0 0 0.41700 -HETATM 138 O -4.06434 -6.19809 -4.93422 O 0 0 -0.83400 -HETATM 139 H -4.62090 -5.67414 -5.51037 H 0 0 0.41700 -HETATM 140 H -3.32550 -6.45663 -5.48513 H 0 0 0.41700 -HETATM 141 H 4.98272 -0.41895 9.32879 H 0 0 0.41700 -HETATM 142 O -2.92512 10.10889 5.04619 O 0 0 -0.83400 -HETATM 143 H -3.32716 9.34681 5.46311 H 0 0 0.41700 -HETATM 144 H -3.46291 10.84836 5.32938 H 0 0 0.41700 -HETATM 145 O -3.44407 -6.00847 -0.21847 O 0 0 -0.83400 -HETATM 146 H -3.21323 -6.18917 0.69273 H 0 0 0.41700 -HETATM 147 H -4.39621 -6.10233 -0.24748 H 0 0 0.41700 -HETATM 148 H -4.02684 -2.71273 -10.76308 H 0 0 0.41700 -HETATM 149 O -4.54862 8.53014 1.73190 O 0 0 -0.83400 -HETATM 150 H -4.99310 7.76190 2.09031 H 0 0 0.41700 -HETATM 151 H -4.62900 8.43242 0.78310 H 0 0 0.41700 -HETATM 152 O 10.78063 -0.96494 -4.59914 O 0 0 -0.83400 -HETATM 153 H 11.04495 -0.47626 -3.81969 H 0 0 0.41700 -HETATM 154 H 9.93990 -0.58135 -4.84867 H 0 0 0.41700 -HETATM 155 O 2.89254 5.17030 6.65149 O 0 0 -0.83400 -HETATM 156 H 2.51351 6.04876 6.68126 H 0 0 0.41700 -HETATM 157 H 3.27138 5.10248 5.77507 H 0 0 0.41700 -HETATM 158 O 7.84173 -6.55780 -5.33986 O 0 0 -0.83400 -HETATM 159 H 8.24917 -5.99135 -5.99512 H 0 0 0.41700 -HETATM 160 H 7.27221 -7.13770 -5.84542 H 0 0 0.41700 -HETATM 161 O 4.66649 2.51840 -4.25366 O 0 0 -0.83400 -HETATM 162 H 5.06330 2.37465 -5.11279 H 0 0 0.41700 -HETATM 163 H 3.72739 2.57505 -4.43003 H 0 0 0.41700 -HETATM 164 O 0.55960 4.33625 4.39654 O 0 0 -0.83400 -HETATM 165 H 0.74411 4.98633 3.71862 H 0 0 0.41700 -HETATM 166 H 0.24107 4.84881 5.13954 H 0 0 0.41700 -HETATM 167 O -2.68137 3.79140 -0.05413 O 0 0 -0.83400 -HETATM 168 H -3.61402 3.83339 -0.26537 H 0 0 0.41700 -HETATM 169 H -2.65213 3.79414 0.90262 H 0 0 0.41700 -HETATM 170 H 6.22380 2.51887 8.41741 H 0 0 0.41700 -HETATM 171 O -4.96717 8.54163 -4.69896 O 0 0 -0.83400 -HETATM 172 H -4.98358 7.62252 -4.43215 H 0 0 0.41700 -HETATM 173 H -4.06862 8.68940 -4.99392 H 0 0 0.41700 -HETATM 174 O -2.68488 -8.74332 1.83822 O 0 0 -0.83400 -HETATM 175 H -1.84251 -8.86831 2.27528 H 0 0 0.41700 -HETATM 176 H -3.08849 -8.00934 2.30147 H 0 0 0.41700 -HETATM 177 O -5.51579 -9.91124 -1.46756 O 0 0 -0.83400 -HETATM 178 H -5.82413 -9.48484 -0.66797 H 0 0 0.41700 -HETATM 179 H -5.23631 -9.18985 -2.03121 H 0 0 0.41700 -HETATM 180 O 8.79414 -4.47557 5.75492 O 0 0 -0.83400 -HETATM 181 H 9.18631 -3.66200 6.07198 H 0 0 0.41700 -HETATM 182 H 9.54081 -5.01997 5.50523 H 0 0 0.41700 -HETATM 183 O -8.17368 -2.44728 3.54684 O 0 0 -0.83400 -HETATM 184 H -7.25929 -2.19197 3.42455 H 0 0 0.41700 -HETATM 185 H -8.64632 -1.98358 2.85559 H 0 0 0.41700 -HETATM 186 O 10.24812 -1.08944 -0.91798 O 0 0 -0.83400 -HETATM 187 H 9.39204 -0.89976 -1.30188 H 0 0 0.41700 -HETATM 188 H 10.21798 -2.02451 -0.71559 H 0 0 0.41700 -HETATM 189 O -6.12070 -8.81526 0.99087 O 0 0 -0.83400 -HETATM 190 H -6.48226 -8.47893 1.81086 H 0 0 0.41700 -HETATM 191 H -6.07446 -8.04998 0.41778 H 0 0 0.41700 -HETATM 192 O -2.30669 7.56848 8.95256 O 0 0 -0.83400 -HETATM 193 H -1.57344 8.17235 9.07054 H 0 0 0.41700 -HETATM 194 H -2.77427 7.59348 9.78740 H 0 0 0.41700 -HETATM 195 O -10.00365 -0.90118 5.19505 O 0 0 -0.83400 -HETATM 196 H -10.31338 -0.29249 4.52438 H 0 0 0.41700 -HETATM 197 H -9.29096 -1.38062 4.77262 H 0 0 0.41700 -HETATM 198 O 2.52803 5.44788 -3.06166 O 0 0 -0.83400 -HETATM 199 H 3.47255 5.37164 -3.19692 H 0 0 0.41700 -HETATM 200 H 2.31444 4.73688 -2.45744 H 0 0 0.41700 -HETATM 201 H -9.02098 6.87753 5.11797 H 0 0 0.41700 -HETATM 202 O -4.32138 0.74601 -5.84398 O 0 0 -0.83400 -HETATM 203 H -4.06427 1.01751 -4.96284 H 0 0 0.41700 -HETATM 204 H -5.18643 0.35228 -5.73044 H 0 0 0.41700 -HETATM 205 O 6.31913 -9.35841 -2.07819 O 0 0 -0.83400 -HETATM 206 H 5.90959 -9.81600 -1.34395 H 0 0 0.41700 -HETATM 207 H 5.94046 -8.47963 -2.05397 H 0 0 0.41700 -HETATM 208 O 4.67133 0.94878 1.38187 O 0 0 -0.83400 -HETATM 209 H 5.47143 0.42481 1.34266 H 0 0 0.41700 -HETATM 210 H 4.40664 1.05055 0.46764 H 0 0 0.41700 -HETATM 211 O 8.94578 -6.76656 -2.89672 O 0 0 -0.83400 -HETATM 212 H 8.30537 -6.83658 -3.60468 H 0 0 0.41700 -HETATM 213 H 8.77622 -7.52947 -2.34405 H 0 0 0.41700 -HETATM 214 O -2.14844 -8.19920 7.23757 O 0 0 -0.83400 -HETATM 215 O 0.73695 -6.22008 8.23993 O 0 0 -0.83400 -HETATM 216 H 0.31143 -6.37994 7.39755 H 0 0 0.41700 -HETATM 217 H 1.64662 -6.02430 8.01542 H 0 0 0.41700 -HETATM 218 O -5.50895 -5.88655 5.98084 O 0 0 -0.83400 -HETATM 219 H -4.92626 -5.15222 5.78728 H 0 0 0.41700 -HETATM 220 H -6.36683 -5.60081 5.66678 H 0 0 0.41700 -HETATM 221 O -5.92957 -4.78518 3.28455 O 0 0 -0.83400 -HETATM 222 H -6.46862 -4.60858 4.05557 H 0 0 0.41700 -HETATM 223 H -5.68182 -3.91871 2.96194 H 0 0 0.41700 -HETATM 224 O -2.60894 -3.58537 -3.52131 O 0 0 -0.83400 -HETATM 225 H -3.19939 -4.14359 -4.02726 H 0 0 0.41700 -HETATM 226 H -2.02298 -3.20262 -4.17429 H 0 0 0.41700 -HETATM 227 O -5.81896 4.06062 -2.16226 O 0 0 -0.83400 -HETATM 228 H -6.21046 4.00545 -1.29053 H 0 0 0.41700 -HETATM 229 H -5.80883 3.15701 -2.47789 H 0 0 0.41700 -HETATM 230 O -7.89340 2.45586 -4.45248 O 0 0 -0.83400 -HETATM 231 H -8.46115 3.09429 -4.02088 H 0 0 0.41700 -HETATM 232 H -7.76776 1.76717 -3.79967 H 0 0 0.41700 -HETATM 233 O 0.18533 0.09029 -9.70858 O 0 0 -0.83400 -HETATM 234 H -0.43518 -0.61086 -9.90756 H 0 0 0.41700 -HETATM 235 H -0.32892 0.73415 -9.22152 H 0 0 0.41700 -HETATM 236 O -0.64980 5.91174 6.36486 O 0 0 -0.83400 -HETATM 237 H 0.02469 6.45545 6.77189 H 0 0 0.41700 -HETATM 238 H -1.11162 5.51148 7.10156 H 0 0 0.41700 -HETATM 239 O 2.05252 -3.22299 -4.03573 O 0 0 -0.83400 -HETATM 240 H 2.48145 -3.57481 -4.81577 H 0 0 0.41700 -HETATM 241 H 1.17720 -2.97631 -4.33440 H 0 0 0.41700 -HETATM 242 O 7.95718 -0.49263 -5.32217 O 0 0 -0.83400 -HETATM 243 H 7.84864 -1.40822 -5.06498 H 0 0 0.41700 -HETATM 244 H 7.06933 -0.19101 -5.51451 H 0 0 0.41700 -HETATM 245 H -6.19234 8.20464 -6.04733 H 0 0 0.41700 -HETATM 246 H 5.45757 8.98645 -2.59250 H 0 0 0.41700 -HETATM 247 H 4.45199 9.15837 -1.47436 H 0 0 0.41700 -HETATM 248 O 4.11316 6.41054 0.02398 O 0 0 -0.83400 -HETATM 249 H 3.70797 5.69074 0.50766 H 0 0 0.41700 -HETATM 250 H 3.43763 6.69594 -0.59119 H 0 0 0.41700 -HETATM 251 O -6.39003 -6.38728 -0.34118 O 0 0 -0.83400 -HETATM 252 H -6.99805 -5.75842 0.04751 H 0 0 0.41700 -HETATM 253 H -6.39050 -6.17535 -1.27462 H 0 0 0.41700 -HETATM 254 O 5.85842 -2.45347 -7.81959 O 0 0 -0.83400 -HETATM 255 H 5.74919 -3.26134 -7.31796 H 0 0 0.41700 -HETATM 256 H 6.79797 -2.40654 -7.99646 H 0 0 0.41700 -HETATM 257 O -11.19635 -2.65011 1.87006 O 0 0 -0.83400 -HETATM 258 H -11.98574 -2.23232 1.52576 H 0 0 0.41700 -HETATM 259 H -10.48426 -2.28785 1.34288 H 0 0 0.41700 -HETATM 260 H 0.89347 1.56175 -11.59387 H 0 0 0.41700 -HETATM 261 O 2.37851 4.04829 1.41053 O 0 0 -0.83400 -HETATM 262 H 2.63714 3.29698 1.94426 H 0 0 0.41700 -HETATM 263 H 1.97605 4.65580 2.03117 H 0 0 0.41700 -HETATM 264 O 5.02088 8.51370 -4.39435 O 0 0 -0.83400 -HETATM 265 H 4.89613 7.60373 -4.66383 H 0 0 0.41700 -HETATM 266 O 3.90683 1.39796 7.20617 O 0 0 -0.83400 -HETATM 267 H 3.36912 1.66992 6.46244 H 0 0 0.41700 -HETATM 268 H 3.82396 2.11386 7.83612 H 0 0 0.41700 -HETATM 269 O -4.11246 -6.60061 2.71738 O 0 0 -0.83400 -HETATM 270 H -4.75111 -5.91060 2.89697 H 0 0 0.41700 -HETATM 271 H -3.38899 -6.41942 3.31738 H 0 0 0.41700 -HETATM 272 O 1.67252 -7.35881 4.00741 O 0 0 -0.83400 -HETATM 273 H 1.17999 -7.64254 4.77757 H 0 0 0.41700 -HETATM 274 H 1.09573 -7.55414 3.26890 H 0 0 0.41700 -HETATM 275 O 11.64243 1.06247 -2.93088 O 0 0 -0.83400 -HETATM 276 H 11.10474 0.79668 -2.18491 H 0 0 0.41700 -HETATM 277 O 1.60401 8.94506 1.12675 O 0 0 -0.83400 -HETATM 278 H 1.66631 9.68842 1.72655 H 0 0 0.41700 -HETATM 279 H 0.66765 8.75161 1.08153 H 0 0 0.41700 -HETATM 280 O 5.53385 -1.98063 -0.22380 O 0 0 -0.83400 -HETATM 281 H 4.91081 -1.87857 -0.94327 H 0 0 0.41700 -HETATM 282 H 6.23470 -2.52089 -0.58869 H 0 0 0.41700 -HETATM 283 O -2.73895 5.99648 4.77908 O 0 0 -0.83400 -HETATM 284 H -3.37896 6.18026 5.46672 H 0 0 0.41700 -HETATM 285 H -1.92589 5.81567 5.25076 H 0 0 0.41700 -HETATM 286 O 8.94324 2.14955 3.10427 O 0 0 -0.83400 -HETATM 287 H 9.15310 1.45100 2.48441 H 0 0 0.41700 -HETATM 288 H 9.38540 2.92238 2.75290 H 0 0 0.41700 -HETATM 289 O 9.03025 5.19097 -0.06371 O 0 0 -0.83400 -HETATM 290 H 8.94117 6.11182 0.18190 H 0 0 0.41700 -HETATM 291 H 9.96961 5.01695 -0.00401 H 0 0 0.41700 -HETATM 292 O -0.90043 9.79934 -2.05315 O 0 0 -0.83400 -HETATM 293 H -1.50838 9.99666 -2.76567 H 0 0 0.41700 -HETATM 294 H -0.21802 9.26641 -2.46123 H 0 0 0.41700 -HETATM 295 O 4.12597 8.48114 2.82768 O 0 0 -0.83400 -HETATM 296 H 3.56805 8.68350 2.07667 H 0 0 0.41700 -HETATM 297 H 4.74748 7.83283 2.49655 H 0 0 0.41700 -HETATM 298 O -6.75930 -0.01303 -5.38251 O 0 0 -0.83400 -HETATM 299 H -7.49837 0.50653 -5.69884 H 0 0 0.41700 -HETATM 300 H -6.89058 -0.06462 -4.43576 H 0 0 0.41700 -HETATM 301 O -3.44196 -2.88438 8.51624 O 0 0 -0.83400 -HETATM 302 H -3.81926 -2.38937 7.78903 H 0 0 0.41700 -HETATM 303 H -3.42725 -3.79022 8.20727 H 0 0 0.41700 -HETATM 304 O 3.16078 -5.19646 2.29728 O 0 0 -0.83400 -HETATM 305 H 3.61289 -4.36555 2.44368 H 0 0 0.41700 -HETATM 306 H 2.23324 -4.96213 2.26574 H 0 0 0.41700 -HETATM 307 O 0.99214 -2.48416 6.68060 O 0 0 -0.83400 -HETATM 308 H 1.73823 -2.05894 7.10342 H 0 0 0.41700 -HETATM 309 H 0.48099 -2.84617 7.40440 H 0 0 0.41700 -HETATM 310 H 2.11044 -11.48747 -0.46525 H 0 0 0.41700 -HETATM 311 O 1.43034 11.28060 3.67448 O 0 0 -0.83400 -HETATM 312 H 0.86793 11.19041 4.44376 H 0 0 0.41700 -HETATM 313 O 2.42532 -4.88436 -1.69139 O 0 0 -0.83400 -HETATM 314 H 3.36089 -4.87298 -1.89337 H 0 0 0.41700 -HETATM 315 H 2.05966 -4.16748 -2.20966 H 0 0 0.41700 -HETATM 316 O -4.37211 3.98196 8.67165 O 0 0 -0.83400 -HETATM 317 H -4.96545 4.33616 9.33402 H 0 0 0.41700 -HETATM 318 H -4.29210 4.68145 8.02315 H 0 0 0.41700 -HETATM 319 O -4.46063 6.24538 -7.75163 O 0 0 -0.83400 -HETATM 320 H -3.61909 5.86985 -7.49275 H 0 0 0.41700 -HETATM 321 H -4.74592 5.70744 -8.49018 H 0 0 0.41700 -HETATM 322 O -5.07232 6.43449 3.43407 O 0 0 -0.83400 -HETATM 323 H -5.35113 5.60376 3.04888 H 0 0 0.41700 -HETATM 324 H -4.20656 6.25081 3.79871 H 0 0 0.41700 -HETATM 325 O 6.44127 -0.12335 6.01936 O 0 0 -0.83400 -HETATM 326 H 6.06509 0.75678 6.02918 H 0 0 0.41700 -HETATM 327 H 5.98490 -0.58674 6.72166 H 0 0 0.41700 -HETATM 328 O 3.75562 -9.12315 3.15419 O 0 0 -0.83400 -HETATM 329 H 3.26343 -8.30270 3.18300 H 0 0 0.41700 -HETATM 330 H 3.82236 -9.39469 4.06964 H 0 0 0.41700 -HETATM 331 O -10.61228 3.94743 5.15007 O 0 0 -0.83400 -HETATM 332 H -10.98648 3.93281 4.26917 H 0 0 0.41700 -HETATM 333 O 0.57695 -4.34367 0.73611 O 0 0 -0.83400 -HETATM 334 H 0.10938 -3.98990 -0.02050 H 0 0 0.41700 -HETATM 335 H 1.47039 -4.48270 0.42199 H 0 0 0.41700 -HETATM 336 O 5.19852 -0.25246 -6.45625 O 0 0 -0.83400 -HETATM 337 H 5.32935 -0.88512 -7.16254 H 0 0 0.41700 -HETATM 338 H 4.36422 -0.50448 -6.06045 H 0 0 0.41700 -HETATM 339 O 8.30016 -1.13794 4.38521 O 0 0 -0.83400 -HETATM 340 H 7.59024 -0.66781 4.82249 H 0 0 0.41700 -HETATM 341 H 8.33851 -0.75324 3.50956 H 0 0 0.41700 -HETATM 342 O -10.56875 -3.57863 -0.85652 O 0 0 -0.83400 -HETATM 343 H -9.91300 -4.03847 -1.38070 H 0 0 0.41700 -HETATM 344 O -9.91555 1.53454 0.24262 O 0 0 -0.83400 -HETATM 345 H -10.50565 1.15137 -0.40637 H 0 0 0.41700 -HETATM 346 H -10.20444 2.44367 0.32179 H 0 0 0.41700 -HETATM 347 H 12.00913 -0.70024 -0.17835 H 0 0 0.41700 -HETATM 348 H 12.47897 -1.20158 1.17031 H 0 0 0.41700 -HETATM 349 O 6.69664 7.50824 -0.07334 O 0 0 -0.83400 -HETATM 350 H 6.14664 6.72964 -0.16003 H 0 0 0.41700 -HETATM 351 H 6.31013 8.14290 -0.67671 H 0 0 0.41700 -HETATM 352 O -2.26700 8.44526 -5.81695 O 0 0 -0.83400 -HETATM 353 H -2.13618 9.17509 -5.21159 H 0 0 0.41700 -HETATM 354 H -1.70912 7.74695 -5.47434 H 0 0 0.41700 -HETATM 355 O 4.05205 -1.57307 -2.65767 O 0 0 -0.83400 -HETATM 356 H 4.10140 -2.52036 -2.78593 H 0 0 0.41700 -HETATM 357 H 3.62708 -1.24584 -3.45048 H 0 0 0.41700 -HETATM 358 H -11.49627 3.87188 -3.88160 H 0 0 0.41700 -HETATM 359 H 8.09367 6.23373 -5.12648 H 0 0 0.41700 -HETATM 360 O -4.94353 6.03694 -3.63876 O 0 0 -0.83400 -HETATM 361 H -5.21707 5.30994 -3.07941 H 0 0 0.41700 -HETATM 362 H -3.99849 5.92099 -3.73719 H 0 0 0.41700 -HETATM 363 O 1.85661 -7.42402 -1.74087 O 0 0 -0.83400 -HETATM 364 H 1.17884 -7.67424 -1.11297 H 0 0 0.41700 -HETATM 365 H 2.01666 -6.49705 -1.56382 H 0 0 0.41700 -HETATM 366 O 6.94195 6.83397 3.93913 O 0 0 -0.83400 -HETATM 367 H 6.36795 7.26666 4.57122 H 0 0 0.41700 -HETATM 368 H 7.75542 6.68099 4.41986 H 0 0 0.41700 -HETATM 369 O -1.36148 -11.05704 3.15380 O 0 0 -0.83400 -HETATM 370 H -0.41651 -10.96411 3.03289 H 0 0 0.41700 -HETATM 371 O 7.45869 3.88688 4.86320 O 0 0 -0.83400 -HETATM 372 H 7.86924 3.41197 4.14060 H 0 0 0.41700 -HETATM 373 H 7.04237 4.64201 4.44765 H 0 0 0.41700 -HETATM 374 O -1.50201 -7.70158 -1.95787 O 0 0 -0.83400 -HETATM 375 H -1.03907 -7.18269 -2.61566 H 0 0 0.41700 -HETATM 376 H -2.08443 -7.07655 -1.52619 H 0 0 0.41700 -HETATM 377 O 0.77453 -3.91483 9.28125 O 0 0 -0.83400 -HETATM 378 H 0.33533 -3.78157 10.12123 H 0 0 0.41700 -HETATM 379 H 0.53433 -4.80496 9.02393 H 0 0 0.41700 -HETATM 380 O 1.43188 6.23063 2.66750 O 0 0 -0.83400 -HETATM 381 H 0.69311 6.79579 2.89341 H 0 0 0.41700 -HETATM 382 H 2.16391 6.83362 2.53802 H 0 0 0.41700 -HETATM 383 O -8.70994 -1.20990 1.08300 O 0 0 -0.83400 -HETATM 384 H -8.21803 -1.86587 0.58909 H 0 0 0.41700 -HETATM 385 H -8.68323 -0.42661 0.53347 H 0 0 0.41700 -HETATM 386 O -7.82822 8.89435 2.05490 O 0 0 -0.83400 -HETATM 387 H -7.53469 8.59506 2.91542 H 0 0 0.41700 -HETATM 388 O -8.58987 6.22957 0.70702 O 0 0 -0.83400 -HETATM 389 H -8.20377 6.68768 -0.03950 H 0 0 0.41700 -HETATM 390 H -8.70956 6.90985 1.36969 H 0 0 0.41700 -HETATM 391 O 2.90643 3.26410 9.16992 O 0 0 -0.83400 -HETATM 392 H 1.96571 3.14889 9.03573 H 0 0 0.41700 -HETATM 393 H 3.13064 4.03330 8.64618 H 0 0 0.41700 -HETATM 394 O 4.81196 -7.07100 -1.94947 O 0 0 -0.83400 -HETATM 395 H 3.95665 -7.48614 -2.06053 H 0 0 0.41700 -HETATM 396 H 4.98223 -7.12117 -1.00888 H 0 0 0.41700 -HETATM 397 O 5.08592 5.72725 -4.07195 O 0 0 -0.83400 -HETATM 398 H 6.01514 5.71415 -3.84260 H 0 0 0.41700 -HETATM 399 H 5.03677 5.24916 -4.89975 H 0 0 0.41700 -HETATM 400 O 9.63937 1.36204 -6.87457 O 0 0 -0.83400 -HETATM 401 H 9.01771 0.70564 -6.56004 H 0 0 0.41700 -HETATM 402 H 9.17807 2.19503 -6.77682 H 0 0 0.41700 -HETATM 403 O 4.76634 -6.64142 0.64817 O 0 0 -0.83400 -HETATM 404 H 4.22087 -6.11798 1.23528 H 0 0 0.41700 -HETATM 405 H 5.65159 -6.30059 0.77628 H 0 0 0.41700 -HETATM 406 O -0.89941 -0.42265 4.04954 O 0 0 -0.83400 -HETATM 407 H -0.92545 0.51418 4.24424 H 0 0 0.41700 -HETATM 408 H -0.03459 -0.56322 3.66410 H 0 0 0.41700 -HETATM 409 H -11.61596 0.45658 3.20305 H 0 0 0.41700 -HETATM 410 O 2.44528 -1.73397 10.39924 O 0 0 -0.83400 -HETATM 411 H 2.61209 -1.67533 9.45851 H 0 0 0.41700 -HETATM 412 H 1.56176 -1.38219 10.50821 H 0 0 0.41700 -HETATM 413 O 2.47066 -2.16897 4.41589 O 0 0 -0.83400 -HETATM 414 H 1.93589 -2.27179 5.20309 H 0 0 0.41700 -HETATM 415 H 3.25412 -2.69106 4.58870 H 0 0 0.41700 -HETATM 416 O -1.08487 2.15551 4.72745 O 0 0 -0.83400 -HETATM 417 H -0.93568 1.69959 5.55576 H 0 0 0.41700 -HETATM 418 H -0.29623 2.68248 4.59868 H 0 0 0.41700 -HETATM 419 O -1.14714 -4.34202 2.68458 O 0 0 -0.83400 -HETATM 420 H -0.95067 -5.17838 3.10664 H 0 0 0.41700 -HETATM 421 H -0.45469 -4.23429 2.03256 H 0 0 0.41700 -HETATM 422 O 10.26020 1.30876 0.53961 O 0 0 -0.83400 -HETATM 423 H 10.43411 0.39822 0.30105 H 0 0 0.41700 -HETATM 424 H 9.53604 1.57113 -0.02872 H 0 0 0.41700 -HETATM 425 O 6.71490 4.12624 -0.77932 O 0 0 -0.83400 -HETATM 426 H 7.43941 4.69718 -0.52369 H 0 0 0.41700 -HETATM 427 H 6.04583 4.27451 -0.11104 H 0 0 0.41700 -HETATM 428 O -6.56002 1.13141 -0.03053 O 0 0 -0.83400 -HETATM 429 H -6.38997 0.86494 0.87298 H 0 0 0.41700 -HETATM 430 H -6.81566 2.05149 0.03520 H 0 0 0.41700 -HETATM 431 O -0.88532 7.82051 1.73006 O 0 0 -0.83400 -HETATM 432 H -1.69416 7.30914 1.70712 H 0 0 0.41700 -HETATM 433 H -1.17282 8.71545 1.91077 H 0 0 0.41700 -HETATM 434 O -1.23848 -10.31599 -2.64164 O 0 0 -0.83400 -HETATM 435 H -1.86511 -10.76301 -2.07266 H 0 0 0.41700 -HETATM 436 H -1.18580 -9.42778 -2.28873 H 0 0 0.41700 -HETATM 437 H -6.76024 -7.52965 -7.16640 H 0 0 0.41700 -HETATM 438 O -6.36403 -1.82293 -0.31996 O 0 0 -0.83400 -HETATM 439 H -6.20856 -0.88029 -0.37903 H 0 0 0.41700 -HETATM 440 H -5.61846 -2.21746 -0.77240 H 0 0 0.41700 -HETATM 441 O -5.00210 -4.59571 -6.68907 O 0 0 -0.83400 -HETATM 442 H -5.33979 -3.80354 -6.27116 H 0 0 0.41700 -HETATM 443 H -5.30541 -4.53648 -7.59501 H 0 0 0.41700 -HETATM 444 O -1.99926 4.11878 2.72816 O 0 0 -0.83400 -HETATM 445 H -1.75381 3.29018 3.13976 H 0 0 0.41700 -HETATM 446 H -2.30607 4.66433 3.45237 H 0 0 0.41700 -HETATM 447 O -3.99586 1.10287 4.58511 O 0 0 -0.83400 -HETATM 448 H -3.15962 1.56832 4.60171 H 0 0 0.41700 -HETATM 449 H -4.33291 1.18407 5.47732 H 0 0 0.41700 -HETATM 450 H -5.27196 -7.06546 -8.89856 H 0 0 0.41700 -HETATM 451 O 2.71222 8.28329 -1.46545 O 0 0 -0.83400 -HETATM 452 H 1.94144 8.40867 -2.01900 H 0 0 0.41700 -HETATM 453 H 2.42582 8.55035 -0.59202 H 0 0 0.41700 -HETATM 454 O -9.57763 -1.26796 -2.64866 O 0 0 -0.83400 -HETATM 455 H -9.41151 -2.11143 -3.06961 H 0 0 0.41700 -HETATM 456 H -9.98888 -1.49357 -1.81427 H 0 0 0.41700 -HETATM 457 O -2.72189 0.78078 9.66725 O 0 0 -0.83400 -HETATM 458 H -3.29611 1.21251 10.29979 H 0 0 0.41700 -HETATM 459 H -3.29253 0.57605 8.92652 H 0 0 0.41700 -HETATM 460 O -1.79943 4.19360 -10.02272 O 0 0 -0.83400 -HETATM 461 H -2.50283 3.65606 -10.38673 H 0 0 0.41700 -HETATM 462 H -2.22649 4.72269 -9.34898 H 0 0 0.41700 -HETATM 463 O -3.07333 -10.58769 -0.17281 O 0 0 -0.83400 -HETATM 464 H -2.87459 -10.09203 0.62158 H 0 0 0.41700 -HETATM 465 H -3.87822 -10.19186 -0.50703 H 0 0 0.41700 -HETATM 466 O -4.14459 -8.30711 -3.04888 O 0 0 -0.83400 -HETATM 467 H -4.20541 -7.53280 -3.60832 H 0 0 0.41700 -HETATM 468 H -3.22957 -8.32891 -2.76872 H 0 0 0.41700 -HETATM 469 O -6.40244 -2.97748 -5.15540 O 0 0 -0.83400 -HETATM 470 H -7.11989 -3.05153 -4.52610 H 0 0 0.41700 -HETATM 471 H -6.35367 -2.04239 -5.35408 H 0 0 0.41700 -HETATM 472 O -6.91490 3.85033 0.32613 O 0 0 -0.83400 -HETATM 473 H -6.42495 3.91710 1.14571 H 0 0 0.41700 -HETATM 474 H -7.70511 4.36916 0.47652 H 0 0 0.41700 -HETATM 475 O 6.62840 2.83802 -6.41474 O 0 0 -0.83400 -HETATM 476 H 6.90006 3.55205 -6.99144 H 0 0 0.41700 -HETATM 477 H 6.48407 2.09678 -7.00293 H 0 0 0.41700 -HETATM 478 O 0.16963 2.53329 8.83607 O 0 0 -0.83400 -HETATM 479 H 0.06891 1.84964 8.17371 H 0 0 0.41700 -HETATM 480 H -0.40838 3.23773 8.54301 H 0 0 0.41700 -HETATM 481 O -7.73082 3.27607 -7.04417 O 0 0 -0.83400 -HETATM 482 H -7.92855 3.17011 -6.11363 H 0 0 0.41700 -HETATM 483 H -8.06033 4.14815 -7.26126 H 0 0 0.41700 -HETATM 484 O 3.01412 -0.25348 -9.16032 O 0 0 -0.83400 -HETATM 485 H 3.35067 -1.12495 -9.36892 H 0 0 0.41700 -HETATM 486 H 2.07416 -0.31249 -9.33129 H 0 0 0.41700 -HETATM 487 O -1.60144 4.77965 8.60771 O 0 0 -0.83400 -HETATM 488 H -2.49082 4.44343 8.71809 H 0 0 0.41700 -HETATM 489 H -1.65233 5.69088 8.89634 H 0 0 0.41700 -HETATM 490 O 2.63212 -4.06327 -10.34548 O 0 0 -0.83400 -HETATM 491 H 1.91677 -4.00557 -10.97887 H 0 0 0.41700 -HETATM 492 H 2.53411 -4.93025 -9.95181 H 0 0 0.41700 -HETATM 493 H -8.16260 8.74724 -2.29250 H 0 0 0.41700 -HETATM 494 O 1.64386 1.88207 -4.00667 O 0 0 -0.83400 -HETATM 495 H 1.24591 2.25208 -4.79468 H 0 0 0.41700 -HETATM 496 H 1.22021 2.34549 -3.28418 H 0 0 0.41700 -HETATM 497 O 10.04210 -1.54664 6.39276 O 0 0 -0.83400 -HETATM 498 H 9.66714 -1.21099 5.57853 H 0 0 0.41700 -HETATM 499 O 7.37859 -5.62019 1.25693 O 0 0 -0.83400 -HETATM 500 H 7.62628 -4.89311 1.82811 H 0 0 0.41700 -HETATM 501 H 8.09455 -6.24926 1.34585 H 0 0 0.41700 -HETATM 502 O 5.08168 -5.41299 -7.57551 O 0 0 -0.83400 -HETATM 503 H 5.86262 -5.42927 -8.12877 H 0 0 0.41700 -HETATM 504 H 5.29108 -5.99913 -6.84831 H 0 0 0.41700 -HETATM 505 O 4.25060 5.34546 4.22885 O 0 0 -0.83400 -HETATM 506 H 5.05976 5.85379 4.28453 H 0 0 0.41700 -HETATM 507 H 4.51114 4.52572 3.80886 H 0 0 0.41700 -HETATM 508 O 7.65593 -3.68376 3.22965 O 0 0 -0.83400 -HETATM 509 H 7.88433 -4.18220 4.01426 H 0 0 0.41700 -HETATM 510 H 7.94435 -2.79122 3.42050 H 0 0 0.41700 -HETATM 511 O 7.69644 -2.97175 -4.00379 O 0 0 -0.83400 -HETATM 512 H 8.47729 -3.47487 -4.23485 H 0 0 0.41700 -HETATM 513 H 6.98653 -3.61375 -4.01271 H 0 0 0.41700 -HETATM 514 O 0.13722 -7.91205 1.76024 O 0 0 -0.83400 -HETATM 515 H -0.35299 -7.20036 1.34863 H 0 0 0.41700 -HETATM 516 H 0.84515 -8.10252 1.14479 H 0 0 0.41700 -HETATM 517 O -6.74347 -5.41264 -2.91010 O 0 0 -0.83400 -HETATM 518 H -5.94387 -5.13375 -3.35631 H 0 0 0.41700 -HETATM 519 H -7.24161 -5.87969 -3.58088 H 0 0 0.41700 -HETATM 520 O -7.44652 2.34018 7.67247 O 0 0 -0.83400 -HETATM 521 H -8.38900 2.23394 7.80160 H 0 0 0.41700 -HETATM 522 H -7.22924 3.14415 8.14432 H 0 0 0.41700 -HETATM 523 O 0.49814 -7.41774 -4.00280 O 0 0 -0.83400 -HETATM 524 H 1.10585 -7.11930 -4.67944 H 0 0 0.41700 -HETATM 525 H 1.03805 -7.50405 -3.21713 H 0 0 0.41700 -HETATM 526 H 8.36694 2.49895 6.98528 H 0 0 0.41700 -HETATM 527 O -6.84253 7.80913 -1.65907 O 0 0 -0.83400 -HETATM 528 H -5.89549 7.93662 -1.71477 H 0 0 0.41700 -HETATM 529 H -6.99620 6.96610 -2.08559 H 0 0 0.41700 -HETATM 530 O 0.98204 3.40426 -6.45759 O 0 0 -0.83400 -HETATM 531 H 0.90327 4.20053 -5.93225 H 0 0 0.41700 -HETATM 532 H 1.50468 3.66775 -7.21499 H 0 0 0.41700 -HETATM 533 H -2.32230 -10.04266 4.42941 H 0 0 0.41700 -HETATM 534 O -8.42746 0.57146 -7.93668 O 0 0 -0.83400 -HETATM 535 H -8.30027 1.51720 -7.86157 H 0 0 0.41700 -HETATM 536 O 4.29675 1.37781 -1.70238 O 0 0 -0.83400 -HETATM 537 H 4.57926 1.79786 -2.51477 H 0 0 0.41700 -HETATM 538 H 4.09831 0.47622 -1.95535 H 0 0 0.41700 -HETATM 539 O -1.94330 -0.43676 -6.70157 O 0 0 -0.83400 -HETATM 540 H -1.70408 0.39212 -7.11626 H 0 0 0.41700 -HETATM 541 H -2.76782 -0.25065 -6.25238 H 0 0 0.41700 -HETATM 542 O -5.46158 -1.47354 6.99725 O 0 0 -0.83400 -HETATM 543 H -5.34751 -0.59052 7.34868 H 0 0 0.41700 -HETATM 544 H -5.92977 -1.94650 7.68524 H 0 0 0.41700 -HETATM 545 H 4.07930 10.04324 3.77952 H 0 0 0.41700 -HETATM 546 O 0.06660 -0.20928 9.87424 O 0 0 -0.83400 -HETATM 547 H -0.15014 0.63944 9.48832 H 0 0 0.41700 -HETATM 548 H -0.73657 -0.72305 9.78948 H 0 0 0.41700 -HETATM 549 O -2.51352 0.37280 -10.77570 O 0 0 -0.83400 -HETATM 550 H -3.42753 0.34026 -10.49328 H 0 0 0.41700 -HETATM 551 O -2.48532 4.26680 -7.09615 O 0 0 -0.83400 -HETATM 552 H -3.33279 4.03514 -6.71620 H 0 0 0.41700 -HETATM 553 H -1.97758 4.60715 -6.35953 H 0 0 0.41700 -HETATM 554 H 5.45245 -2.90517 -9.75409 H 0 0 0.41700 -HETATM 555 H 4.09032 -3.06208 -10.39515 H 0 0 0.41700 -HETATM 556 O 7.21371 -4.00255 -0.95789 O 0 0 -0.83400 -HETATM 557 H 8.15888 -3.91484 -1.08115 H 0 0 0.41700 -HETATM 558 H 7.12265 -4.46163 -0.12291 H 0 0 0.41700 -HETATM 559 O 2.40899 3.83778 -8.89353 O 0 0 -0.83400 -HETATM 560 H 2.98360 3.20411 -9.32309 H 0 0 0.41700 -HETATM 561 H 1.82625 4.14263 -9.58903 H 0 0 0.41700 -HETATM 562 O 3.53253 -5.93545 7.86977 O 0 0 -0.83400 -HETATM 563 H 3.55944 -6.78674 8.30660 H 0 0 0.41700 -HETATM 564 H 4.29733 -5.46895 8.20694 H 0 0 0.41700 -HETATM 565 O 0.97513 -3.08556 -7.91344 O 0 0 -0.83400 -HETATM 566 H 1.77654 -3.43182 -7.52090 H 0 0 0.41700 -HETATM 567 H 1.15217 -3.08008 -8.85410 H 0 0 0.41700 -HETATM 568 O -3.41275 -2.25176 -8.59787 O 0 0 -0.83400 -HETATM 569 H -2.87308 -1.49037 -8.81065 H 0 0 0.41700 -HETATM 570 H -2.78268 -2.95239 -8.42948 H 0 0 0.41700 -HETATM 571 O 7.74809 -0.84979 -2.06751 O 0 0 -0.83400 -HETATM 572 H 7.28414 -0.35701 -2.74438 H 0 0 0.41700 -HETATM 573 H 7.68484 -1.76225 -2.34975 H 0 0 0.41700 -HETATM 574 O 6.57784 -8.62468 3.40201 O 0 0 -0.83400 -HETATM 575 H 5.69038 -8.94250 3.23576 H 0 0 0.41700 -HETATM 576 H 6.72520 -7.96187 2.72733 H 0 0 0.41700 -HETATM 577 H 11.63402 2.01999 1.20276 H 0 0 0.41700 -HETATM 578 H 11.55270 2.88015 2.44554 H 0 0 0.41700 -HETATM 579 O -2.69224 -1.75675 10.80550 O 0 0 -0.83400 -HETATM 580 H -2.99347 -2.15910 9.99088 H 0 0 0.41700 -HETATM 581 H -3.16243 -0.92416 10.84957 H 0 0 0.41700 -HETATM 582 O 2.91726 -4.37748 -6.57098 O 0 0 -0.83400 -HETATM 583 H 3.76697 -4.70784 -6.86270 H 0 0 0.41700 -HETATM 584 H 2.32801 -5.12743 -6.65214 H 0 0 0.41700 -HETATM 585 O -1.08831 1.89265 -8.09227 O 0 0 -0.83400 -HETATM 586 H -0.44589 2.36778 -7.56522 H 0 0 0.41700 -HETATM 587 H -1.61287 2.57821 -8.50589 H 0 0 0.41700 -HETATM 588 O 2.86029 -10.56198 -1.85038 O 0 0 -0.83400 -HETATM 589 H 2.54234 -10.06227 -2.60234 H 0 0 0.41700 -HETATM 590 H 3.61700 -11.04314 -2.18521 H 0 0 0.41700 -HETATM 591 O -0.02782 10.52005 6.01351 O 0 0 -0.83400 -HETATM 592 H -0.09484 9.57535 5.87465 H 0 0 0.41700 -HETATM 593 H -0.87242 10.86520 5.72410 H 0 0 0.41700 -HETATM 594 H 2.03877 -9.80840 5.58481 H 0 0 0.41700 -HETATM 595 H 1.76343 -10.88056 4.55251 H 0 0 0.41700 -HETATM 596 O -3.09165 1.36434 -3.40809 O 0 0 -0.83400 -HETATM 597 H -2.53659 1.12919 -2.66455 H 0 0 0.41700 -HETATM 598 H -2.79345 2.23749 -3.66289 H 0 0 0.41700 -HETATM 599 H 7.20645 -8.09502 5.02739 H 0 0 0.41700 -HETATM 600 O 4.07141 2.11995 -9.97116 O 0 0 -0.83400 -HETATM 601 H 4.82830 1.91723 -10.52094 H 0 0 0.41700 -HETATM 602 H 3.73104 1.26505 -9.70750 H 0 0 0.41700 -HETATM 603 O 5.06216 7.36447 6.59556 O 0 0 -0.83400 -HETATM 604 H 4.31120 7.62770 6.06359 H 0 0 0.41700 -HETATM 605 O -0.25130 0.52989 6.85064 O 0 0 -0.83400 -HETATM 606 H -1.03228 0.06657 6.54790 H 0 0 0.41700 -HETATM 607 H 0.27877 -0.14542 7.27398 H 0 0 0.41700 -HETATM 608 O -2.52058 10.11709 2.31315 O 0 0 -0.83400 -HETATM 609 H -3.26835 9.53915 2.16129 H 0 0 0.41700 -HETATM 610 H -2.54035 10.29213 3.25401 H 0 0 0.41700 -HETATM 611 O -11.14957 4.65746 0.40068 O 0 0 -0.83400 -HETATM 612 H -11.48478 4.56472 1.29246 H 0 0 0.41700 -HETATM 613 H -10.40364 5.25125 0.48574 H 0 0 0.41700 -HETATM 614 H -6.35737 -9.12296 -4.90288 H 0 0 0.41700 -HETATM 615 O -1.62373 5.47765 -3.92219 O 0 0 -0.83400 -HETATM 616 H -1.24599 4.92136 -3.24095 H 0 0 0.41700 -HETATM 617 H -0.87654 5.95421 -4.28389 H 0 0 0.41700 -HETATM 618 O -4.09146 -2.01346 -1.92537 O 0 0 -0.83400 -HETATM 619 H -3.76319 -1.16883 -2.23370 H 0 0 0.41700 -HETATM 620 H -3.51760 -2.65869 -2.33840 H 0 0 0.41700 -HETATM 621 O 7.91131 1.61057 -0.50124 O 0 0 -0.83400 -HETATM 622 H 7.33648 2.36557 -0.62683 H 0 0 0.41700 -HETATM 623 H 7.67867 1.01175 -1.21084 H 0 0 0.41700 -HETATM 624 O -4.06295 8.29877 -0.82034 O 0 0 -0.83400 -HETATM 625 H -4.23127 9.20561 -1.07636 H 0 0 0.41700 -HETATM 626 H -3.18175 8.11728 -1.14709 H 0 0 0.41700 -HETATM 627 O 7.05644 1.94118 -3.21256 O 0 0 -0.83400 -HETATM 628 H 7.72038 2.33119 -3.78116 H 0 0 0.41700 -HETATM 629 H 6.23065 2.32017 -3.51368 H 0 0 0.41700 -HETATM 630 O 9.85020 -3.99178 -0.39739 O 0 0 -0.83400 -HETATM 631 H 9.86541 -4.75973 0.17379 H 0 0 0.41700 -HETATM 632 H 10.71884 -3.97487 -0.79916 H 0 0 0.41700 -HETATM 633 O -2.25637 -6.27641 4.68283 O 0 0 -0.83400 -HETATM 634 H -1.67437 -5.62071 5.06697 H 0 0 0.41700 -HETATM 635 H -2.43028 -6.88990 5.39670 H 0 0 0.41700 -HETATM 636 H 3.99235 -7.34834 -8.02710 H 0 0 0.41700 -HETATM 637 O -1.78086 -7.10843 -6.06497 O 0 0 -0.83400 -HETATM 638 H -1.66434 -7.91445 -6.56795 H 0 0 0.41700 -HETATM 639 H -1.06427 -7.11639 -5.43041 H 0 0 0.41700 -HETATM 640 O -7.31236 7.59482 4.46127 O 0 0 -0.83400 -HETATM 641 H -7.28909 7.61187 5.41804 H 0 0 0.41700 -HETATM 642 H -6.44318 7.28565 4.20602 H 0 0 0.41700 -HETATM 643 H -5.43092 10.31183 1.82974 H 0 0 0.41700 -HETATM 644 O 5.01348 -4.45553 -2.38305 O 0 0 -0.83400 -HETATM 645 H 5.13301 -5.39295 -2.53534 H 0 0 0.41700 -HETATM 646 H 5.78979 -4.19227 -1.88881 H 0 0 0.41700 -HETATM 647 H 2.93270 -3.53082 10.32034 H 0 0 0.41700 -HETATM 648 H 3.27931 -4.84398 9.65215 H 0 0 0.41700 -HETATM 649 O -4.05359 -3.60361 5.52138 O 0 0 -0.83400 -HETATM 650 H -3.46705 -3.38966 4.79582 H 0 0 0.41700 -HETATM 651 H -4.53903 -2.79471 5.68345 H 0 0 0.41700 -HETATM 652 O -0.82696 -4.75665 6.06102 O 0 0 -0.83400 -HETATM 653 H 0.05580 -4.40574 5.94346 H 0 0 0.41700 -HETATM 654 H -1.23132 -4.17664 6.70624 H 0 0 0.41700 -HETATM 655 O 2.05725 0.26234 3.50811 O 0 0 -0.83400 -HETATM 656 H 2.81916 0.32976 2.93263 H 0 0 0.41700 -HETATM 657 H 2.20698 -0.53827 4.01094 H 0 0 0.41700 -HETATM 658 O -4.98307 3.26701 -6.45794 O 0 0 -0.83400 -HETATM 659 H -4.73367 2.36362 -6.26320 H 0 0 0.41700 -HETATM 660 H -5.93378 3.23534 -6.56458 H 0 0 0.41700 -HETATM 661 O 10.62945 1.59100 5.08413 O 0 0 -0.83400 -HETATM 662 H 10.27696 2.01969 5.86400 H 0 0 0.41700 -HETATM 663 H 10.09126 1.92186 4.36502 H 0 0 0.41700 -HETATM 664 O 1.75613 -6.90244 -6.13554 O 0 0 -0.83400 -HETATM 665 H 1.07061 -6.74561 -6.78493 H 0 0 0.41700 -HETATM 666 H 2.23627 -7.65903 -6.47207 H 0 0 0.41700 -HETATM 667 O -4.31764 3.20194 -8.96267 O 0 0 -0.83400 -HETATM 668 H -4.58167 2.28488 -9.03699 H 0 0 0.41700 -HETATM 669 H -4.62044 3.46878 -8.09472 H 0 0 0.41700 -HETATM 670 O -5.90723 -4.00919 -9.27177 O 0 0 -0.83400 -HETATM 671 H -5.57042 -4.28363 -10.12469 H 0 0 0.41700 -HETATM 672 H -6.25401 -3.12990 -9.42283 H 0 0 0.41700 -HETATM 673 O -9.07584 -3.58333 -3.91105 O 0 0 -0.83400 -HETATM 674 H -8.47711 -4.25368 -3.58182 H 0 0 0.41700 -HETATM 675 H -9.87724 -4.06159 -4.12378 H 0 0 0.41700 -HETATM 676 O 10.15990 3.44728 -3.62674 O 0 0 -0.83400 -HETATM 677 H 10.67066 2.67056 -3.85491 H 0 0 0.41700 -HETATM 678 O -0.40127 10.97249 0.69380 O 0 0 -0.83400 -HETATM 679 H -1.16182 10.85306 1.26260 H 0 0 0.41700 -HETATM 680 H -0.70052 10.68681 -0.16937 H 0 0 0.41700 -HETATM 681 O -5.43324 0.72930 -9.49308 O 0 0 -0.83400 -HETATM 682 H -5.35959 -0.14576 -9.11219 H 0 0 0.41700 -HETATM 683 H -6.32926 0.77040 -9.82729 H 0 0 0.41700 -HETATM 684 O -8.38182 -6.54287 -4.92307 O 0 0 -0.83400 -HETATM 685 H -8.24341 -7.47240 -5.10483 H 0 0 0.41700 -HETATM 686 O 2.66164 -0.73941 -5.11390 O 0 0 -0.83400 -HETATM 687 H 1.92784 -1.35258 -5.15630 H 0 0 0.41700 -HETATM 688 H 2.28878 0.05416 -4.72991 H 0 0 0.41700 -HETATM 689 O -8.17434 2.36772 5.01513 O 0 0 -0.83400 -HETATM 690 H -8.96595 2.88879 5.14954 H 0 0 0.41700 -HETATM 691 H -7.82156 2.23665 5.89525 H 0 0 0.41700 -HETATM 692 O -8.30784 -4.61066 1.18657 O 0 0 -0.83400 -HETATM 693 H -7.73024 -4.96191 1.86423 H 0 0 0.41700 -HETATM 694 H -8.89660 -4.01993 1.65629 H 0 0 0.41700 -HETATM 695 O -2.15914 -10.49054 -5.19114 O 0 0 -0.83400 -HETATM 696 H -2.04942 -10.61688 -4.24868 H 0 0 0.41700 -HETATM 697 H -3.05762 -10.17482 -5.28748 H 0 0 0.41700 -HETATM 698 O 10.23097 -4.71126 -4.30465 O 0 0 -0.83400 -HETATM 699 H 9.81293 -5.36884 -3.74872 H 0 0 0.41700 -HETATM 700 O 12.30451 -3.32117 -1.24965 O 0 0 -0.83400 -HETATM 701 H 12.35406 -3.17797 -2.19478 H 0 0 0.41700 -HETATM 702 O 2.44518 -9.45385 -7.13800 O 0 0 -0.83400 -HETATM 703 H 2.86778 -10.12197 -6.59832 H 0 0 0.41700 -HETATM 704 O 4.23979 -11.92627 2.91775 O 0 0 -0.83400 -HETATM 705 H 3.80636 -12.47542 2.26445 H 0 0 0.41700 -HETATM 706 H 11.33635 5.09870 2.91120 H 0 0 0.41700 -HETATM 707 H 10.46595 4.52913 4.01074 H 0 0 0.41700 -HETATM 708 H 12.54584 -1.40951 3.32147 H 0 0 0.41700 -HETATM 709 H 11.11996 -6.32486 1.70893 H 0 0 0.41700 -HETATM 710 O -12.07484 -0.35388 -4.15307 O 0 0 -0.83400 -HETATM 711 H -12.11808 -0.74534 -5.02550 H 0 0 0.41700 -HETATM 712 H -5.84813 -9.91937 3.72280 H 0 0 0.41700 -HETATM 713 O 7.00555 -6.50894 8.17194 O 0 0 -0.83400 -HETATM 714 H 7.04667 -7.12988 7.44464 H 0 0 0.41700 -HETATM 715 O 4.80864 -0.36754 10.26863 O 0 0 -0.83400 -HETATM 716 H 4.04338 -0.92698 10.40142 H 0 0 0.41700 -HETATM 717 O -3.99341 -2.55537 -11.70666 O 0 0 -0.83400 -HETATM 718 H -4.71205 -1.94546 -11.87338 H 0 0 0.41700 -HETATM 719 O 6.55326 2.21838 9.26440 O 0 0 -0.83400 -HETATM 720 H 7.43364 1.89269 9.07707 H 0 0 0.41700 -HETATM 721 O -9.94106 7.10134 5.25800 O 0 0 -0.83400 -HETATM 722 H -10.41822 6.30088 5.03933 H 0 0 0.41700 -HETATM 723 H -2.61561 -8.80200 6.65911 H 0 0 0.41700 -HETATM 724 H -2.26078 -8.57124 8.11233 H 0 0 0.41700 -HETATM 725 O -6.62490 7.96884 -6.86801 O 0 0 -0.83400 -HETATM 726 H -6.03650 7.33278 -7.27475 H 0 0 0.41700 -HETATM 727 O 5.35221 9.36969 -1.72172 O 0 0 -0.83400 -HETATM 728 O 0.54965 2.33862 -12.03489 O 0 0 -0.83400 -HETATM 729 H 0.42274 2.97633 -11.33243 H 0 0 0.41700 -HETATM 730 H 5.80872 8.79534 -4.85934 H 0 0 0.41700 -HETATM 731 H 12.21569 1.74495 -2.58184 H 0 0 0.41700 -HETATM 732 O 1.71726 -11.80876 0.34618 O 0 0 -0.83400 -HETATM 733 H 1.15252 -12.53034 0.06937 H 0 0 0.41700 -HETATM 734 H 0.86411 11.66996 3.00814 H 0 0 0.41700 -HETATM 735 H -11.18873 3.38246 5.66459 H 0 0 0.41700 -HETATM 736 H -11.37174 -4.08490 -0.97957 H 0 0 0.41700 -HETATM 737 O 12.79812 -0.94527 0.30504 O 0 0 -0.83400 -HETATM 738 O -12.33719 3.70429 -3.45617 O 0 0 -0.83400 -HETATM 739 H -12.32895 4.26469 -2.68021 H 0 0 0.41700 -HETATM 740 O 8.41208 6.69216 -5.90410 O 0 0 -0.83400 -HETATM 741 H 8.77391 6.00072 -6.45838 H 0 0 0.41700 -HETATM 742 H -1.54690 -11.96252 2.90487 H 0 0 0.41700 -HETATM 743 H -8.62042 9.40060 2.23478 H 0 0 0.41700 -HETATM 744 O -12.47600 0.25085 3.56942 O 0 0 -0.83400 -HETATM 745 H -13.05893 0.91354 3.19891 H 0 0 0.41700 -HETATM 746 O -7.35361 -7.06648 -7.75769 O 0 0 -0.83400 -HETATM 747 H -7.88122 -6.51271 -7.18218 H 0 0 0.41700 -HETATM 748 O -4.94059 -7.64439 -9.58505 O 0 0 -0.83400 -HETATM 749 H -5.09730 -7.16524 -10.39874 H 0 0 0.41700 -HETATM 750 O -8.93029 9.31180 -2.38273 O 0 0 -0.83400 -HETATM 751 H -9.54124 8.80207 -2.91484 H 0 0 0.41700 -HETATM 752 H 10.86679 -1.07070 6.49075 H 0 0 0.41700 -HETATM 753 O 9.28927 2.74153 7.06714 O 0 0 -0.83400 -HETATM 754 H 9.35845 3.57854 6.60795 H 0 0 0.41700 -HETATM 755 O -2.84091 -9.82108 5.20283 O 0 0 -0.83400 -HETATM 756 H -3.70069 -9.58447 4.85494 H 0 0 0.41700 -HETATM 757 H -9.29703 0.47687 -8.32544 H 0 0 0.41700 -HETATM 758 O 4.07550 10.96583 4.03457 O 0 0 -0.83400 -HETATM 759 H 3.18618 11.26360 3.84307 H 0 0 0.41700 -HETATM 760 H -2.47257 1.12325 -11.36847 H 0 0 0.41700 -HETATM 761 O 4.96964 -2.72172 -10.55999 O 0 0 -0.83400 -HETATM 762 O 12.16507 2.57057 1.77816 O 0 0 -0.83400 -HETATM 763 O 1.76471 -10.72125 5.49636 O 0 0 -0.83400 -HETATM 764 O 7.64671 -8.12743 5.87671 O 0 0 -0.83400 -HETATM 765 H 7.61827 -9.05112 6.12614 H 0 0 0.41700 -HETATM 766 H 4.81797 7.60372 7.48963 H 0 0 0.41700 -HETATM 767 O -6.96430 -8.98333 -5.62978 O 0 0 -0.83400 -HETATM 768 H -6.97823 -9.82016 -6.09428 H 0 0 0.41700 -HETATM 769 O 3.90419 -7.97132 -8.74845 O 0 0 -0.83400 -HETATM 770 H 3.36189 -8.67506 -8.39223 H 0 0 0.41700 -HETATM 771 O -5.87456 10.86223 1.18439 O 0 0 -0.83400 -HETATM 772 H -6.72929 10.44852 1.06389 H 0 0 0.41700 -HETATM 773 O 3.63662 -4.17379 10.23475 O 0 0 -0.83400 -HETATM 774 H 10.70592 4.18295 -3.90401 H 0 0 0.41700 -HETATM 775 H -9.29960 -6.38906 -5.14724 H 0 0 0.41700 -HETATM 776 H 10.31776 -5.13830 -5.15690 H 0 0 0.41700 +CRYSTX 80.0 80.0 80.0 90.0 90.0 90.0 +HETATM 1 C -0.65076 0.47090 -1.13876 C 0 0 0.11579 +HETATM 2 O 0.57815 -0.01528 -1.48535 O 0 0 -0.45883 +HETATM 3 C 1.17435 -0.92466 -0.55288 C 0 0 0.07084 +HETATM 4 C 1.64948 -0.24144 0.69913 C 0 0 -0.04747 +HETATM 5 C -1.30544 1.35458 -1.89193 C 0 0 -0.05483 +HETATM 6 C 1.34833 -0.64570 1.93364 C 0 0 -0.06264 +HETATM 7 H 2.01864 -1.35578 -1.10255 H 0 0 0.06778 +HETATM 8 H 0.47714 -1.73970 -0.31105 H 0 0 0.03153 +HETATM 9 H 2.28509 0.62954 0.54266 H 0 0 0.05560 +HETATM 10 H -2.28509 1.70174 -1.58726 H 0 0 -0.00707 +HETATM 11 H -0.88244 1.73970 -2.81323 H 0 0 0.05444 +HETATM 12 H 0.71006 -1.50981 2.11244 H 0 0 0.09030 +HETATM 13 H 1.73392 -0.13774 2.81323 H 0 0 0.05641 +HETATM 14 H -1.06049 0.08160 -0.20671 H 0 0 0.08816 +HETATM 15 O -3.60422 -2.28049 5.29226 O 0 0 -0.83400 +HETATM 16 H -4.25542 -1.69509 4.90566 H 0 0 0.41700 +HETATM 17 H -2.80978 -1.74987 5.35176 H 0 0 0.41700 +HETATM 18 O -2.12669 -4.59145 5.82916 O 0 0 -0.83400 +HETATM 19 H -2.76211 -4.51799 6.54125 H 0 0 0.41700 +HETATM 20 H -2.45695 -4.00209 5.15106 H 0 0 0.41700 +HETATM 21 O 0.03873 -9.71159 6.03876 O 0 0 -0.83400 +HETATM 22 H 0.95052 -9.47885 5.86353 H 0 0 0.41700 +HETATM 23 H -0.47030 -9.12788 5.47627 H 0 0 0.41700 +HETATM 24 O 2.52462 -3.79356 10.78455 O 0 0 -0.83400 +HETATM 25 H 1.83972 -3.41367 10.23426 H 0 0 0.41700 +HETATM 26 H 2.60900 -3.18403 11.51775 H 0 0 0.41700 +HETATM 27 O -5.62525 -2.05515 7.58029 O 0 0 -0.83400 +HETATM 28 H -5.76068 -1.21000 8.00878 H 0 0 0.41700 +HETATM 29 H -5.08427 -1.85323 6.81689 H 0 0 0.41700 +HETATM 30 O -2.31097 -8.54124 4.61742 O 0 0 -0.83400 +HETATM 31 H -2.82631 -7.77078 4.85626 H 0 0 0.41700 +HETATM 32 H -2.58324 -9.21472 5.24073 H 0 0 0.41700 +HETATM 33 O 2.66246 -5.78800 6.55274 O 0 0 -0.83400 +HETATM 34 H 1.88540 -6.12688 6.10826 H 0 0 0.41700 +HETATM 35 H 3.34160 -5.78274 5.87824 H 0 0 0.41700 +HETATM 36 O -4.07770 -4.50950 8.09270 O 0 0 -0.83400 +HETATM 37 H -4.60556 -5.24423 7.78002 H 0 0 0.41700 +HETATM 38 H -4.57895 -3.73204 7.84670 H 0 0 0.41700 +HETATM 39 O -5.93244 -6.69148 1.09620 O 0 0 -0.83400 +HETATM 40 H -6.83973 -6.92256 1.29531 H 0 0 0.41700 +HETATM 41 H -5.43534 -7.48772 1.28359 H 0 0 0.41700 +HETATM 42 O -3.02563 2.01827 4.01586 O 0 0 -0.83400 +HETATM 43 H -3.69946 2.32144 4.62436 H 0 0 0.41700 +HETATM 44 H -2.63905 2.82118 3.66641 H 0 0 0.41700 +HETATM 45 H -2.27910 -8.57394 8.32661 H 0 0 0.41700 +HETATM 46 O -4.75361 -6.59022 5.61859 O 0 0 -0.83400 +HETATM 47 H -5.66249 -6.87432 5.71584 H 0 0 0.41700 +HETATM 48 H -4.72411 -6.17032 4.75893 H 0 0 0.41700 +HETATM 49 O 0.47831 -2.97956 9.38771 O 0 0 -0.83400 +HETATM 50 H 0.02454 -3.82047 9.44423 H 0 0 0.41700 +HETATM 51 H -0.15229 -2.34342 9.72519 H 0 0 0.41700 +HETATM 52 O -1.07839 -1.14192 10.32269 O 0 0 -0.83400 +HETATM 53 H -0.78610 -0.58141 9.60393 H 0 0 0.41700 +HETATM 54 H -0.56853 -0.84906 11.07801 H 0 0 0.41700 +HETATM 55 O -5.05601 -5.04935 2.95740 O 0 0 -0.83400 +HETATM 56 H -5.49406 -5.76576 2.49797 H 0 0 0.41700 +HETATM 57 H -4.31496 -4.82174 2.39591 H 0 0 0.41700 +HETATM 58 O 3.06131 -6.77363 9.01503 O 0 0 -0.83400 +HETATM 59 H 2.92310 -6.58347 8.08715 H 0 0 0.41700 +HETATM 60 H 2.70493 -6.01169 9.47184 H 0 0 0.41700 +HETATM 61 O -4.82651 2.18623 6.23057 O 0 0 -0.83400 +HETATM 62 H -4.65133 1.71504 7.04513 H 0 0 0.41700 +HETATM 63 H -5.51323 2.81281 6.45870 H 0 0 0.41700 +HETATM 64 O -0.93488 -6.19091 2.55061 O 0 0 -0.83400 +HETATM 65 H -1.55197 -6.91623 2.45391 H 0 0 0.41700 +HETATM 66 H -1.40323 -5.42998 2.20732 H 0 0 0.41700 +HETATM 67 O -5.95864 0.38026 8.91899 O 0 0 -0.83400 +HETATM 68 H -5.25936 0.89766 9.31841 H 0 0 0.41700 +HETATM 69 O -1.56599 -5.05311 9.13625 O 0 0 -0.83400 +HETATM 70 H -2.50037 -4.93296 8.96672 H 0 0 0.41700 +HETATM 71 H -1.38833 -5.95586 8.87225 H 0 0 0.41700 +HETATM 72 O -0.11111 -2.86699 6.66987 O 0 0 -0.83400 +HETATM 73 H 0.16487 -2.98133 7.57926 H 0 0 0.41700 +HETATM 74 H -0.98067 -3.26525 6.63109 H 0 0 0.41700 +HETATM 75 O -3.47571 1.38164 10.31315 O 0 0 -0.83400 +HETATM 76 H -3.29347 0.56381 10.77593 H 0 0 0.41700 +HETATM 77 H -2.65241 1.59841 9.87564 H 0 0 0.41700 +HETATM 78 O -3.14149 0.30846 7.57466 O 0 0 -0.83400 +HETATM 79 H -2.61272 -0.20229 6.96167 H 0 0 0.41700 +HETATM 80 H -2.87867 -0.00729 8.43921 H 0 0 0.41700 +HETATM 81 H -2.61507 -1.03927 11.26317 H 0 0 0.41700 +HETATM 82 H 1.08765 -0.44414 12.69639 H 0 0 0.41700 +HETATM 83 O -0.04747 0.28014 8.19016 O 0 0 -0.83400 +HETATM 84 H 0.12621 -0.28522 7.43754 H 0 0 0.41700 +HETATM 85 H 0.44542 1.08023 8.00811 H 0 0 0.41700 +HETATM 86 O 2.83919 -2.95321 6.81858 O 0 0 -0.83400 +HETATM 87 H 3.36432 -2.61449 6.09351 H 0 0 0.41700 +HETATM 88 H 2.75142 -3.88851 6.63489 H 0 0 0.41700 +HETATM 89 H -8.31920 -2.10828 6.07285 H 0 0 0.41700 +HETATM 90 H -7.66137 -2.81131 7.24113 H 0 0 0.41700 +HETATM 91 O -4.96847 -0.29701 4.19736 O 0 0 -0.83400 +HETATM 92 H -5.54107 0.32201 3.74440 H 0 0 0.41700 +HETATM 93 H -4.39519 0.25293 4.73135 H 0 0 0.41700 +HETATM 94 O -1.74874 -0.01329 5.32821 O 0 0 -0.83400 +HETATM 95 H -0.81568 -0.07874 5.53150 H 0 0 0.41700 +HETATM 96 H -1.83642 0.82233 4.86967 H 0 0 0.41700 +HETATM 97 O -4.58379 -8.96093 1.53896 O 0 0 -0.83400 +HETATM 98 H -3.63788 -9.09031 1.60780 H 0 0 0.41700 +HETATM 99 H -4.96237 -9.69946 2.01590 H 0 0 0.41700 +HETATM 100 O -0.71977 -7.62892 8.02983 O 0 0 -0.83400 +HETATM 101 H -0.77625 -7.17207 7.19060 H 0 0 0.41700 +HETATM 102 H -0.16693 -8.38985 7.85212 H 0 0 0.41700 +HETATM 103 O 0.01371 -6.43844 5.32509 O 0 0 -0.83400 +HETATM 104 H -0.04141 -6.60402 4.38393 H 0 0 0.41700 +HETATM 105 H -0.61168 -5.73084 5.48131 H 0 0 0.41700 +HETATM 106 O 3.49735 6.29688 3.32282 O 0 0 -0.83400 +HETATM 107 H 3.74990 5.77503 2.56116 H 0 0 0.41700 +HETATM 108 H 2.55981 6.13349 3.42549 H 0 0 0.41700 +HETATM 109 O 3.21698 8.19969 5.52525 O 0 0 -0.83400 +HETATM 110 H 3.10060 7.52418 6.19336 H 0 0 0.41700 +HETATM 111 H 3.32720 7.71293 4.70847 H 0 0 0.41700 +HETATM 112 O 5.20068 2.68969 4.22606 O 0 0 -0.83400 +HETATM 113 H 5.36812 3.55772 4.59311 H 0 0 0.41700 +HETATM 114 H 5.01040 2.85242 3.30219 H 0 0 0.41700 +HETATM 115 O 5.17960 5.14546 5.21072 O 0 0 -0.83400 +HETATM 116 H 5.05957 5.59116 6.04927 H 0 0 0.41700 +HETATM 117 H 4.48486 5.49399 4.65208 H 0 0 0.41700 +HETATM 118 O 3.97475 6.45994 7.50408 O 0 0 -0.83400 +HETATM 119 H 4.67716 6.91205 7.97147 H 0 0 0.41700 +HETATM 120 H 3.64282 5.81833 8.13207 H 0 0 0.41700 +HETATM 121 O -0.33124 5.08276 9.76414 O 0 0 -0.83400 +HETATM 122 H -1.12812 5.19463 10.28249 H 0 0 0.41700 +HETATM 123 H -0.55868 5.42142 8.89823 H 0 0 0.41700 +HETATM 124 O 8.52840 6.78796 4.61742 O 0 0 -0.83400 +HETATM 125 H 8.01307 7.55842 4.85626 H 0 0 0.41700 +HETATM 126 H 8.25613 6.11447 5.24073 H 0 0 0.41700 +HETATM 127 O 6.11311 1.63293 9.67595 O 0 0 -0.83400 +HETATM 128 H 5.25727 1.24361 9.49651 H 0 0 0.41700 +HETATM 129 H 6.52581 1.71212 8.81593 H 0 0 0.41700 +HETATM 130 O 8.31703 4.66067 6.44340 O 0 0 -0.83400 +HETATM 131 H 8.01205 4.97528 7.29442 H 0 0 0.41700 +HETATM 132 H 9.27008 4.73881 6.48614 H 0 0 0.41700 +HETATM 133 O 1.49355 1.48165 10.45336 O 0 0 -0.83400 +HETATM 134 H 2.06793 1.25917 9.72068 H 0 0 0.41700 +HETATM 135 H 2.08065 1.55052 11.20622 H 0 0 0.41700 +HETATM 136 O 1.82051 3.51210 4.47295 O 0 0 -0.83400 +HETATM 137 H 0.98424 3.84957 4.79388 H 0 0 0.41700 +HETATM 138 H 1.68099 3.37700 3.53566 H 0 0 0.41700 +HETATM 139 O 3.79582 -1.64422 9.18087 O 0 0 -0.83400 +HETATM 140 H 3.14226 -1.95932 8.55653 H 0 0 0.41700 +HETATM 141 H 3.75386 -2.26665 9.90685 H 0 0 0.41700 +HETATM 142 O 4.90694 8.63771 1.09620 O 0 0 -0.83400 +HETATM 143 H 3.99964 8.40663 1.29531 H 0 0 0.41700 +HETATM 144 H 5.40404 7.84147 1.28359 H 0 0 0.41700 +HETATM 145 H 5.17688 8.45487 5.71584 H 0 0 0.41700 +HETATM 146 H 5.34531 9.56343 2.49797 H 0 0 0.41700 +HETATM 147 O 2.57349 4.96954 9.47861 O 0 0 -0.83400 +HETATM 148 H 1.76027 5.26895 9.88513 H 0 0 0.41700 +HETATM 149 H 3.06939 4.57511 10.19606 H 0 0 0.41700 +HETATM 150 O -0.85080 5.98592 7.28421 O 0 0 -0.83400 +HETATM 151 H -1.78104 5.92437 7.50121 H 0 0 0.41700 +HETATM 152 H -0.75505 5.46352 6.48787 H 0 0 0.41700 +HETATM 153 O -0.93225 2.51140 9.87203 O 0 0 -0.83400 +HETATM 154 H -0.67156 3.42594 9.76295 H 0 0 0.41700 +HETATM 155 H -0.11053 2.04385 10.02170 H 0 0 0.41700 +HETATM 156 O 4.77390 3.66065 11.28958 O 0 0 -0.83400 +HETATM 157 H 5.26981 3.05647 10.73708 H 0 0 0.41700 +HETATM 158 O -3.57778 4.95101 7.11403 O 0 0 -0.83400 +HETATM 159 H -3.28244 4.04208 7.06073 H 0 0 0.41700 +HETATM 160 H -4.47898 4.92978 6.79213 H 0 0 0.41700 +HETATM 161 O -1.84900 2.63242 7.23796 O 0 0 -0.83400 +HETATM 162 H -2.17773 1.75216 7.05547 H 0 0 0.41700 +HETATM 163 H -1.49506 2.57719 8.12560 H 0 0 0.41700 +HETATM 164 O 1.26518 2.91972 7.60551 O 0 0 -0.83400 +HETATM 165 H 1.60479 3.44831 6.88337 H 0 0 0.41700 +HETATM 166 H 1.71239 3.25776 8.38137 H 0 0 0.41700 +HETATM 167 O 3.25200 1.41718 5.80484 O 0 0 -0.83400 +HETATM 168 H 3.97283 1.79530 5.30121 H 0 0 0.41700 +HETATM 169 H 2.62853 2.13607 5.90834 H 0 0 0.41700 +HETATM 170 O 7.39511 2.12169 6.74067 O 0 0 -0.83400 +HETATM 171 H 7.61147 3.00416 6.43955 H 0 0 0.41700 +HETATM 172 H 6.91452 1.73031 6.01124 H 0 0 0.41700 +HETATM 173 O 3.39836 0.95196 8.63459 O 0 0 -0.83400 +HETATM 174 H 3.51995 0.02362 8.83368 H 0 0 0.41700 +HETATM 175 H 3.10856 0.96583 7.72242 H 0 0 0.41700 +HETATM 176 H 6.28965 -1.29862 10.81646 H 0 0 0.41700 +HETATM 177 H -0.11877 7.66012 7.93031 H 0 0 0.41700 +HETATM 178 H 0.29622 8.56560 6.79024 H 0 0 0.41700 +HETATM 179 O -0.60381 4.29672 5.23090 O 0 0 -0.83400 +HETATM 180 H -1.29688 4.37116 4.57491 H 0 0 0.41700 +HETATM 181 H -0.84863 3.53276 5.75306 H 0 0 0.41700 +HETATM 182 O 6.25559 6.36826 1.53896 O 0 0 -0.83400 +HETATM 183 H 7.20150 6.23888 1.60780 H 0 0 0.41700 +HETATM 184 H 5.87701 5.62973 2.01590 H 0 0 0.41700 +HETATM 185 O 4.43988 4.29326 1.47445 O 0 0 -0.83400 +HETATM 186 H 3.53302 3.99657 1.55072 H 0 0 0.41700 +HETATM 187 H 4.71748 3.99624 0.60788 H 0 0 0.41700 +HETATM 188 O 6.05608 -1.16305 7.62887 O 0 0 -0.83400 +HETATM 189 H 5.24616 -1.50834 8.00440 H 0 0 0.41700 +HETATM 190 H 6.74453 -1.47229 8.21763 H 0 0 0.41700 +HETATM 191 O 7.98514 -2.08524 9.25130 O 0 0 -0.83400 +HETATM 192 H 8.53824 -1.66570 9.91031 H 0 0 0.41700 +HETATM 193 H 8.22215 -3.01167 9.29360 H 0 0 0.41700 +HETATM 194 H 9.25809 2.46978 7.59682 H 0 0 0.41700 +HETATM 195 H 10.56091 2.02419 6.96753 H 0 0 0.41700 +HETATM 196 O 4.16270 -1.60844 4.90362 O 0 0 -0.83400 +HETATM 197 H 4.15057 -0.66426 5.06045 H 0 0 0.41700 +HETATM 198 H 5.05504 -1.79143 4.60956 H 0 0 0.41700 +HETATM 199 H 2.70821 -10.62397 5.50686 H 0 0 0.41700 +HETATM 200 O 2.94029 -5.07796 -4.41573 O 0 0 -0.83400 +HETATM 201 H 2.86270 -4.12718 -4.33688 H 0 0 0.41700 +HETATM 202 H 2.33646 -5.42338 -3.75824 H 0 0 0.41700 +HETATM 203 H 5.07870 -8.87460 -5.26669 H 0 0 0.41700 +HETATM 204 O 0.47656 -9.08563 -3.04011 O 0 0 -0.83400 +HETATM 205 H 0.65322 -8.16383 -3.22801 H 0 0 0.41700 +HETATM 206 H 1.27224 -9.39979 -2.61067 H 0 0 0.41700 +HETATM 207 O 1.59969 -7.56781 2.96092 O 0 0 -0.83400 +HETATM 208 H 2.15043 -7.69611 2.18862 H 0 0 0.41700 +HETATM 209 H 0.76084 -7.26832 2.61041 H 0 0 0.41700 +HETATM 210 H 7.13992 -5.34316 -8.65111 H 0 0 0.41700 +HETATM 211 O 4.72434 -8.02848 -1.86343 O 0 0 -0.83400 +HETATM 212 H 4.68196 -7.80239 -2.79258 H 0 0 0.41700 +HETATM 213 H 5.64061 -8.26214 -1.71485 H 0 0 0.41700 +HETATM 214 O 2.84092 -11.15217 -2.06723 O 0 0 -0.83400 +HETATM 215 O 7.66041 -8.77036 2.28400 O 0 0 -0.83400 +HETATM 216 H 7.71411 -8.20127 3.05177 H 0 0 0.41700 +HETATM 217 H 6.79189 -8.60017 1.91941 H 0 0 0.41700 +HETATM 218 H 4.62951 -10.06451 1.44094 H 0 0 0.41700 +HETATM 219 O 6.01287 -5.47836 -7.04490 O 0 0 -0.83400 +HETATM 220 H 6.18804 -5.94956 -6.23033 H 0 0 0.41700 +HETATM 221 H 5.32615 -4.85178 -6.81677 H 0 0 0.41700 +HETATM 222 O 5.09176 -6.52151 2.13324 O 0 0 -0.83400 +HETATM 223 H 5.01878 -5.71602 2.64517 H 0 0 0.41700 +HETATM 224 H 4.64950 -6.32232 1.30804 H 0 0 0.41700 +HETATM 225 O 4.88074 -7.28434 -4.35648 O 0 0 -0.83400 +HETATM 226 H 4.09749 -6.74217 -4.26266 H 0 0 0.41700 +HETATM 227 H 5.58001 -6.76694 -3.95705 H 0 0 0.41700 +HETATM 228 O 7.55163 -6.62283 4.28906 O 0 0 -0.83400 +HETATM 229 H 8.26443 -5.98808 4.21665 H 0 0 0.41700 +HETATM 230 H 7.06063 -6.52644 3.47306 H 0 0 0.41700 +HETATM 231 O 2.60282 -8.87338 5.10961 O 0 0 -0.83400 +HETATM 232 H 3.30377 -8.23974 5.26255 H 0 0 0.41700 +HETATM 233 H 2.13233 -8.53191 4.34918 H 0 0 0.41700 +HETATM 234 O 7.36367 -6.28295 -2.96232 O 0 0 -0.83400 +HETATM 235 H 7.54591 -7.10079 -2.49954 H 0 0 0.41700 +HETATM 236 H 8.18697 -6.06619 -3.39983 H 0 0 0.41700 +HETATM 237 O 7.69788 -7.35614 -5.70081 O 0 0 -0.83400 +HETATM 238 H 7.96071 -7.67188 -4.83626 H 0 0 0.41700 +HETATM 239 O -1.80041 -9.33975 2.04272 O 0 0 -0.83400 +HETATM 240 H -1.21506 -10.08538 2.17551 H 0 0 0.41700 +HETATM 241 H -1.99792 -9.02935 2.92639 H 0 0 0.41700 +HETATM 242 O 1.05346 -6.30462 -2.94103 O 0 0 -0.83400 +HETATM 243 H 0.38450 -5.82001 -3.42463 H 0 0 0.41700 +HETATM 244 H 0.91475 -6.05770 -2.02670 H 0 0 0.41700 +HETATM 245 O 5.19399 -4.27025 3.65723 O 0 0 -0.83400 +HETATM 246 H 5.74582 -4.10709 4.42214 H 0 0 0.41700 +HETATM 247 H 5.53460 -3.67981 2.98523 H 0 0 0.41700 +HETATM 248 O 8.33082 -6.32205 0.64360 O 0 0 -0.83400 +HETATM 249 H 8.20594 -7.12308 0.13470 H 0 0 0.41700 +HETATM 250 H 8.98873 -5.82743 0.15500 H 0 0 0.41700 +HETATM 251 O 7.39896 -8.72588 -1.52801 O 0 0 -0.83400 +HETATM 252 H 7.25145 -9.65421 -1.34725 H 0 0 0.41700 +HETATM 253 H 8.22431 -8.70387 -2.01230 H 0 0 0.41700 +HETATM 254 O 5.34057 -6.70440 5.67210 O 0 0 -0.83400 +HETATM 255 H 5.64928 -6.94949 6.54437 H 0 0 0.41700 +HETATM 256 H 6.13811 -6.49974 5.18398 H 0 0 0.41700 +HETATM 257 O 5.36263 -4.55061 -2.09736 O 0 0 -0.83400 +HETATM 258 H 4.92313 -5.04297 -1.40408 H 0 0 0.41700 +HETATM 259 H 6.11344 -5.09331 -2.33816 H 0 0 0.41700 +HETATM 260 O -2.15814 -8.35946 -2.09490 O 0 0 -0.83400 +HETATM 261 H -1.33234 -8.65908 -2.47504 H 0 0 0.41700 +HETATM 262 H -2.50873 -9.12869 -1.64592 H 0 0 0.41700 +HETATM 263 O 2.81001 -9.00681 -0.02513 O 0 0 -0.83400 +HETATM 264 H 2.18802 -9.66974 -0.32491 H 0 0 0.41700 +HETATM 265 H 3.48050 -8.98070 -0.70777 H 0 0 0.41700 +HETATM 266 O -3.95728 -10.44082 -1.13601 O 0 0 -0.83400 +HETATM 267 H -3.98491 -10.24758 -0.19893 H 0 0 0.41700 +HETATM 268 O -1.84607 -6.22820 -0.37352 O 0 0 -0.83400 +HETATM 269 H -1.98062 -6.98816 -0.93972 H 0 0 0.41700 +HETATM 270 H -2.26286 -5.50411 -0.84064 H 0 0 0.41700 +HETATM 271 O 1.31085 -5.33126 -0.16168 O 0 0 -0.83400 +HETATM 272 H 1.19408 -4.38672 -0.26381 H 0 0 0.41700 +HETATM 273 H 0.49009 -5.63391 0.22690 H 0 0 0.41700 +HETATM 274 O 2.33630 -4.67844 3.05392 O 0 0 -0.83400 +HETATM 275 H 3.23902 -4.64608 3.37057 H 0 0 0.41700 +HETATM 276 H 2.11003 -5.60839 3.06855 H 0 0 0.41700 +HETATM 277 O 4.09166 -5.92534 -0.28508 O 0 0 -0.83400 +HETATM 278 H 3.14122 -5.92515 -0.39864 H 0 0 0.41700 +HETATM 279 H 4.39491 -6.67207 -0.80147 H 0 0 0.41700 +HETATM 280 O 10.04102 3.21212 -0.45624 O 0 0 -0.83400 +HETATM 281 H 10.83315 2.87121 -0.87161 H 0 0 0.41700 +HETATM 282 H 10.28069 3.32162 0.46398 H 0 0 0.41700 +HETATM 283 H 11.32389 -0.19420 -1.14139 H 0 0 0.41700 +HETATM 284 O 9.60972 -0.41850 -0.51478 O 0 0 -0.83400 +HETATM 285 H 9.73896 -0.16505 0.39916 H 0 0 0.41700 +HETATM 286 H 8.92946 0.17427 -0.83431 H 0 0 0.41700 +HETATM 287 O 8.55666 -2.94630 -0.46967 O 0 0 -0.83400 +HETATM 288 H 7.76657 -2.69054 -0.94566 H 0 0 0.41700 +HETATM 289 H 9.04779 -2.13146 -0.36447 H 0 0 0.41700 +HETATM 290 O 10.50814 -2.58184 -3.51133 O 0 0 -0.83400 +HETATM 291 H 9.71125 -2.46997 -2.99298 H 0 0 0.41700 +HETATM 292 H 10.28070 -2.24317 -4.37724 H 0 0 0.41700 +HETATM 293 O 6.84043 -2.69325 1.96182 O 0 0 -0.83400 +HETATM 294 H 7.09124 -1.80855 2.22758 H 0 0 0.41700 +HETATM 295 H 7.37639 -2.87279 1.18933 H 0 0 0.41700 +HETATM 296 O 9.50644 3.12699 -5.12238 O 0 0 -0.83400 +HETATM 297 H 10.15872 2.42962 -5.18902 H 0 0 0.41700 +HETATM 298 O 10.60117 -1.70997 6.83611 O 0 0 -0.83400 +HETATM 299 H 9.74562 -1.46360 6.48459 H 0 0 0.41700 +HETATM 300 O 7.47134 1.45585 -4.34643 O 0 0 -0.83400 +HETATM 301 H 8.30886 1.86555 -4.56306 H 0 0 0.41700 +HETATM 302 H 7.64916 0.51580 -4.37641 H 0 0 0.41700 +HETATM 303 O 7.49395 -1.20508 -3.67535 O 0 0 -0.83400 +HETATM 304 H 7.29639 -1.79814 -4.40025 H 0 0 0.41700 +HETATM 305 H 6.93862 -1.50986 -2.95776 H 0 0 0.41700 +HETATM 306 O 9.98858 -1.67867 -5.99126 O 0 0 -0.83400 +HETATM 307 H 9.05833 -1.74023 -5.77426 H 0 0 0.41700 +HETATM 308 H 10.08432 -2.20108 -6.78760 H 0 0 0.41700 +HETATM 309 O 9.90713 -5.15319 -3.40344 O 0 0 -0.83400 +HETATM 310 H 10.16781 -4.23866 -3.51252 H 0 0 0.41700 +HETATM 311 H 10.72885 -5.62075 -3.25377 H 0 0 0.41700 +HETATM 312 H 10.55260 -3.93721 3.32697 H 0 0 0.41700 +HETATM 313 O 8.85741 -4.63104 2.91992 O 0 0 -0.83400 +HETATM 314 H 8.77323 -5.23847 2.18496 H 0 0 0.41700 +HETATM 315 H 8.03568 -4.14014 2.92087 H 0 0 0.41700 +HETATM 316 O 9.03897 5.98944 2.04272 O 0 0 -0.83400 +HETATM 317 H 9.62431 5.24381 2.17551 H 0 0 0.41700 +HETATM 318 H 8.84145 6.29984 2.92639 H 0 0 0.41700 +HETATM 319 O 7.26159 -2.71359 -6.16144 O 0 0 -0.83400 +HETATM 320 H 7.55694 -3.62252 -6.21473 H 0 0 0.41700 +HETATM 321 H 6.36040 -2.73481 -6.48334 H 0 0 0.41700 +HETATM 322 O 10.79102 -4.63799 -0.17869 O 0 0 -0.83400 +HETATM 323 H 10.06967 -4.02439 -0.31794 H 0 0 0.41700 +HETATM 324 H 11.58034 -4.10221 -0.25702 H 0 0 0.41700 +HETATM 325 O 8.99038 -5.03218 -6.03751 O 0 0 -0.83400 +HETATM 326 H 8.66165 -5.91244 -6.22000 H 0 0 0.41700 +HETATM 327 H 9.34431 -5.08741 -5.14987 H 0 0 0.41700 +HETATM 328 O 7.44897 -0.04380 2.98104 O 0 0 -0.83400 +HETATM 329 H 6.90432 0.73218 3.11307 H 0 0 0.41700 +HETATM 330 H 8.32691 0.30328 2.82296 H 0 0 0.41700 +HETATM 331 O 8.23558 -0.91681 5.87406 O 0 0 -0.83400 +HETATM 332 H 7.49375 -0.76854 6.46052 H 0 0 0.41700 +HETATM 333 H 7.91485 -0.65598 5.01073 H 0 0 0.41700 +HETATM 334 O 8.68124 6.96973 -2.09490 O 0 0 -0.83400 +HETATM 335 H 9.50704 6.67011 -2.47504 H 0 0 0.41700 +HETATM 336 H 8.33064 6.20050 -1.64592 H 0 0 0.41700 +HETATM 337 O 6.88210 4.88837 -1.13601 O 0 0 -0.83400 +HETATM 338 H 6.04529 4.46058 -1.31761 H 0 0 0.41700 +HETATM 339 H 6.85446 5.08161 -0.19893 H 0 0 0.41700 +HETATM 340 H 10.72061 -0.00448 -5.34516 H 0 0 0.41700 +HETATM 341 O 6.19705 -2.05070 -1.35112 O 0 0 -0.83400 +HETATM 342 H 5.87733 -2.90417 -1.64368 H 0 0 0.41700 +HETATM 343 H 5.65039 -1.83584 -0.59532 H 0 0 0.41700 +HETATM 344 O 9.97504 0.66555 2.36584 O 0 0 -0.83400 +HETATM 345 H 10.19364 1.59726 2.38464 H 0 0 0.41700 +HETATM 346 H 10.38762 0.30634 3.15132 H 0 0 0.41700 +HETATM 347 O 6.06587 1.56959 0.61820 O 0 0 -0.83400 +HETATM 348 H 5.37222 1.15499 0.10519 H 0 0 0.41700 +HETATM 349 H 6.81317 1.61165 0.02154 H 0 0 0.41700 +HETATM 350 O 7.97955 1.50142 -1.50520 O 0 0 -0.83400 +HETATM 351 H 7.95662 1.60019 -2.45701 H 0 0 0.41700 +HETATM 352 H 8.28961 2.34793 -1.18348 H 0 0 0.41700 +HETATM 353 O 10.63829 3.55903 2.60946 O 0 0 -0.83400 +HETATM 354 H 11.59261 3.52743 2.54245 H 0 0 0.41700 +HETATM 355 H 10.43954 3.09810 3.42448 H 0 0 0.41700 +HETATM 356 O 6.48171 -3.53704 5.87576 O 0 0 -0.83400 +HETATM 357 H 7.12760 -4.04715 6.36448 H 0 0 0.41700 +HETATM 358 H 6.27343 -2.80017 6.45010 H 0 0 0.41700 +HETATM 359 O -7.73623 -2.42662 -1.24188 O 0 0 -0.83400 +HETATM 360 H -7.00371 -2.99669 -1.00810 H 0 0 0.41700 +HETATM 361 H -8.49230 -2.81446 -0.80123 H 0 0 0.41700 +HETATM 362 H -10.37206 -3.51776 1.12510 H 0 0 0.41700 +HETATM 363 O -8.45466 -5.79331 2.07470 O 0 0 -0.83400 +HETATM 364 H -9.09722 -5.50005 1.42868 H 0 0 0.41700 +HETATM 365 O -8.31476 3.87104 -2.49092 O 0 0 -0.83400 +HETATM 366 H -8.99966 4.25093 -3.04121 H 0 0 0.41700 +HETATM 367 H -8.23037 4.48057 -1.75772 H 0 0 0.41700 +HETATM 368 H -10.84798 2.16021 3.43206 H 0 0 0.41700 +HETATM 369 O -9.94508 4.39423 2.28085 O 0 0 -0.83400 +HETATM 370 H -9.12334 3.99225 1.99912 H 0 0 0.41700 +HETATM 371 H -9.94884 4.29105 3.23246 H 0 0 0.41700 +HETATM 372 O -8.17692 1.87660 -6.72273 O 0 0 -0.83400 +HETATM 373 H -8.95398 1.53771 -7.16721 H 0 0 0.41700 +HETATM 374 H -7.49777 1.88186 -7.39723 H 0 0 0.41700 +HETATM 375 O -9.93779 1.34999 -0.06607 O 0 0 -0.83400 +HETATM 376 H -10.59542 2.03992 0.02195 H 0 0 0.41700 +HETATM 377 H -9.13375 1.73964 0.27733 H 0 0 0.41700 +HETATM 378 O -11.12724 -0.29557 -2.01567 O 0 0 -0.83400 +HETATM 379 H -10.61405 0.33743 -1.51350 H 0 0 0.41700 +HETATM 380 H -10.47712 -0.89545 -2.38134 H 0 0 0.41700 +HETATM 381 O -10.36106 4.68503 -3.88776 O 0 0 -0.83400 +HETATM 382 H -10.81483 3.84412 -3.83124 H 0 0 0.41700 +HETATM 383 H -10.99167 5.32117 -3.55028 H 0 0 0.41700 +HETATM 384 O -7.77807 0.89097 -4.26044 O 0 0 -0.83400 +HETATM 385 H -7.91628 1.08113 -5.18832 H 0 0 0.41700 +HETATM 386 H -8.13445 1.65290 -3.80363 H 0 0 0.41700 +HETATM 387 O -7.75113 2.95862 0.75069 O 0 0 -0.83400 +HETATM 388 H -7.31748 2.86615 1.59900 H 0 0 0.41700 +HETATM 389 H -7.03797 2.93437 0.11269 H 0 0 0.41700 +HETATM 390 O -6.88958 3.00099 3.28398 O 0 0 -0.83400 +HETATM 391 H -6.69599 3.90557 3.52991 H 0 0 0.41700 +HETATM 392 H -6.98952 2.54173 4.11784 H 0 0 0.41700 +HETATM 393 O -5.63537 -0.44164 -0.07123 O 0 0 -0.83400 +HETATM 394 H -5.64638 0.44083 -0.44184 H 0 0 0.41700 +HETATM 395 H -6.50363 -0.79449 -0.26578 H 0 0 0.41700 +HETATM 396 O -9.01811 -1.54678 -3.60421 O 0 0 -0.83400 +HETATM 397 H -8.55207 -0.71398 -3.67818 H 0 0 0.41700 +HETATM 398 H -8.56736 -2.01228 -2.89969 H 0 0 0.41700 +HETATM 399 H -10.67451 4.68326 -5.69621 H 0 0 0.41700 +HETATM 400 H -9.75173 7.22045 -0.57908 H 0 0 0.41700 +HETATM 401 O -5.03291 0.70838 -3.46628 O 0 0 -0.83400 +HETATM 402 H -4.58980 -0.04089 -3.86437 H 0 0 0.41700 +HETATM 403 H -5.91026 0.69939 -3.84891 H 0 0 0.41700 +HETATM 404 O -8.00019 4.71138 -6.45689 O 0 0 -0.83400 +HETATM 405 H -7.47506 5.05011 -7.18196 H 0 0 0.41700 +HETATM 406 H -8.08795 3.77608 -6.64058 H 0 0 0.41700 +HETATM 407 O -8.19101 2.19392 6.16150 O 0 0 -0.83400 +HETATM 408 H -8.29962 1.32665 5.77129 H 0 0 0.41700 +HETATM 409 O -6.68919 4.61361 6.40570 O 0 0 -0.83400 +HETATM 410 H -7.30198 3.90031 6.22704 H 0 0 0.41700 +HETATM 411 O -5.48962 2.17890 -1.07404 O 0 0 -0.83400 +HETATM 412 H -4.65493 2.61788 -0.91028 H 0 0 0.41700 +HETATM 413 H -5.35371 1.70277 -1.89321 H 0 0 0.41700 +HETATM 414 O -8.44047 -0.26313 4.87371 O 0 0 -0.83400 +HETATM 415 H -7.96506 -0.07036 4.06560 H 0 0 0.41700 +HETATM 416 H -9.36392 -0.20721 4.62805 H 0 0 0.41700 +HETATM 417 O -9.74031 -3.38655 3.10654 O 0 0 -0.83400 +HETATM 418 H -8.78856 -3.28674 3.12776 H 0 0 0.41700 +HETATM 419 O -7.26150 -0.16594 2.22077 O 0 0 -0.83400 +HETATM 420 H -7.29387 -1.10434 2.40674 H 0 0 0.41700 +HETATM 421 H -6.65144 -0.08753 1.48735 H 0 0 0.41700 +HETATM 422 O -7.11205 -3.37483 2.26660 O 0 0 -0.83400 +HETATM 423 H -7.62814 -4.15899 2.07959 H 0 0 0.41700 +HETATM 424 H -6.22805 -3.70296 2.43125 H 0 0 0.41700 +HETATM 425 O -3.36231 -0.96355 1.95882 O 0 0 -0.83400 +HETATM 426 H -4.08900 -1.09795 1.35047 H 0 0 0.41700 +HETATM 427 H -3.77758 -0.65587 2.76449 H 0 0 0.41700 +HETATM 428 O -8.18179 -5.45513 -1.74523 O 0 0 -0.83400 +HETATM 429 H -7.40575 -4.96548 -1.47277 H 0 0 0.41700 +HETATM 430 H -8.90698 -5.02932 -1.28804 H 0 0 0.41700 +HETATM 431 O -5.74453 -4.74236 -0.68784 O 0 0 -0.83400 +HETATM 432 H -5.15008 -4.98279 -1.39851 H 0 0 0.41700 +HETATM 433 H -5.67188 -5.46165 -0.06048 H 0 0 0.41700 +HETATM 434 H -11.00631 -0.72526 -5.42335 H 0 0 0.41700 +HETATM 435 O -7.74866 -4.17535 -4.42062 O 0 0 -0.83400 +HETATM 436 H -8.00497 -4.57569 -3.58980 H 0 0 0.41700 +HETATM 437 H -8.37337 -3.46097 -4.54561 H 0 0 0.41700 +HETATM 438 O 0.62569 6.61473 3.21758 O 0 0 -0.83400 +HETATM 439 H 0.29402 7.48427 2.99370 H 0 0 0.41700 +HETATM 440 H 0.03025 6.29836 3.89698 H 0 0 0.41700 +HETATM 441 H -0.38976 11.26578 0.00279 H 0 0 0.41700 +HETATM 442 O 2.38472 9.53589 2.07470 O 0 0 -0.83400 +HETATM 443 H 1.74216 9.82914 1.42868 H 0 0 0.41700 +HETATM 444 H 1.88021 9.42118 2.88002 H 0 0 0.41700 +HETATM 445 O -2.61767 9.45801 1.01227 O 0 0 -0.83400 +HETATM 446 H -3.47922 9.75613 1.30395 H 0 0 0.41700 +HETATM 447 H -2.59142 9.67505 0.08038 H 0 0 0.41700 +HETATM 448 O -2.27600 4.46169 2.83471 O 0 0 -0.83400 +HETATM 449 H -2.61957 5.35185 2.75862 H 0 0 0.41700 +HETATM 450 H -1.90810 4.27186 1.97167 H 0 0 0.41700 +HETATM 451 O -4.72626 9.29752 -3.59952 O 0 0 -0.83400 +HETATM 452 H -5.58210 8.90821 -3.77896 H 0 0 0.41700 +HETATM 453 H -4.31357 9.37672 -4.45954 H 0 0 0.41700 +HETATM 454 O -3.19635 6.83216 0.79963 O 0 0 -0.83400 +HETATM 455 H -3.69987 6.79517 -0.01358 H 0 0 0.41700 +HETATM 456 H -2.90329 7.74143 0.85930 H 0 0 0.41700 +HETATM 457 O -6.95206 6.91603 -0.19375 O 0 0 -0.83400 +HETATM 458 H -6.08676 6.72031 -0.55316 H 0 0 0.41700 +HETATM 459 H -6.88431 6.68706 0.73319 H 0 0 0.41700 +HETATM 460 H -8.77145 8.92377 -3.55479 H 0 0 0.41700 +HETATM 461 H -8.75873 9.21512 -2.06925 H 0 0 0.41700 +HETATM 462 O -7.04356 6.02037 -4.09460 O 0 0 -0.83400 +HETATM 463 H -7.69712 5.70528 -4.71894 H 0 0 0.41700 +HETATM 464 H -7.08551 5.39795 -3.36862 H 0 0 0.41700 +HETATM 465 O -0.57840 10.94342 -2.65769 O 0 0 -0.83400 +HETATM 466 H -1.31612 10.43116 -2.32667 H 0 0 0.41700 +HETATM 467 H -0.32572 10.50346 -3.46936 H 0 0 0.41700 +HETATM 468 O -2.64897 9.18351 -1.71306 O 0 0 -0.83400 +HETATM 469 H -2.15210 8.43051 -2.03295 H 0 0 0.41700 +HETATM 470 H -3.42027 9.21994 -2.27874 H 0 0 0.41700 +HETATM 471 H -6.43570 10.77235 -1.29780 H 0 0 0.41700 +HETATM 472 H -5.56956 10.72106 -2.53839 H 0 0 0.41700 +HETATM 473 O -0.20707 6.15047 0.43488 O 0 0 -0.83400 +HETATM 474 H -1.12076 6.38089 0.60310 H 0 0 0.41700 +HETATM 475 H 0.22224 6.23431 1.28628 H 0 0 0.41700 +HETATM 476 H -7.22017 8.16880 4.18241 H 0 0 0.41700 +HETATM 477 O -6.22820 6.05295 2.23308 O 0 0 -0.83400 +HETATM 478 H -5.40559 5.57900 2.11097 H 0 0 0.41700 +HETATM 479 H -5.98440 6.83200 2.73295 H 0 0 0.41700 +HETATM 480 O -3.44427 9.78629 -6.53480 O 0 0 -0.83400 +HETATM 481 H -3.92486 9.39491 -7.26423 H 0 0 0.41700 +HETATM 482 O -6.84471 9.73511 0.09037 O 0 0 -0.83400 +HETATM 483 H -6.85855 8.83922 -0.24640 H 0 0 0.41700 +HETATM 484 H -6.12746 9.74218 0.72419 H 0 0 0.41700 +HETATM 485 O -4.99209 10.16885 2.13568 O 0 0 -0.83400 +HETATM 486 H -5.52359 9.77189 2.82572 H 0 0 0.41700 +HETATM 487 O -7.44102 8.61655 -4.64088 O 0 0 -0.83400 +HETATM 488 H -7.31942 7.68822 -4.44179 H 0 0 0.41700 +HETATM 489 H -7.73081 8.63042 -5.55305 H 0 0 0.41700 +HETATM 490 O -4.57190 6.30204 -1.50421 O 0 0 -0.83400 +HETATM 491 H -4.54973 6.36598 -2.45901 H 0 0 0.41700 +HETATM 492 H -4.15509 5.46249 -1.31015 H 0 0 0.41700 +HETATM 493 O -3.02308 7.10085 3.83929 O 0 0 -0.83400 +HETATM 494 H -2.50488 7.83695 3.51394 H 0 0 0.41700 +HETATM 495 H -3.37756 7.40725 4.67397 H 0 0 0.41700 +HETATM 496 O -0.87949 9.02820 3.29248 O 0 0 -0.83400 +HETATM 497 H -1.47450 9.30870 2.59713 H 0 0 0.41700 +HETATM 498 H -1.16452 9.51759 4.06416 H 0 0 0.41700 +HETATM 499 O 1.38840 5.69846 -1.77382 O 0 0 -0.83400 +HETATM 500 H 1.19088 5.38997 -0.88949 H 0 0 0.41700 +HETATM 501 H 1.99837 6.42462 -1.64403 H 0 0 0.41700 +HETATM 502 O -4.78329 6.50155 -5.64660 O 0 0 -0.83400 +HETATM 503 H -5.59322 6.15625 -5.27107 H 0 0 0.41700 +HETATM 504 H -4.09485 6.19230 -5.05783 H 0 0 0.41700 +HETATM 505 O -2.85424 5.57935 -4.02417 O 0 0 -0.83400 +HETATM 506 H -2.30113 5.99890 -3.36516 H 0 0 0.41700 +HETATM 507 H -2.61723 4.65293 -3.98187 H 0 0 0.41700 +HETATM 508 O 0.52364 7.68940 -4.51630 O 0 0 -0.83400 +HETATM 509 H -0.05649 8.34788 -4.89849 H 0 0 0.41700 +HETATM 510 H 0.25724 6.86714 -4.92756 H 0 0 0.41700 +HETATM 511 O -1.02600 7.08991 -2.31417 O 0 0 -0.83400 +HETATM 512 H -0.52602 7.20156 -3.12274 H 0 0 0.41700 +HETATM 513 H -0.38244 6.78601 -1.67409 H 0 0 0.41700 +HETATM 514 O -0.69387 9.84941 -5.46066 O 0 0 -0.83400 +HETATM 515 H -1.58128 10.13438 -5.67865 H 0 0 0.41700 +HETATM 516 H -0.27847 9.68879 -6.30794 H 0 0 0.41700 +HETATM 517 O 2.65759 9.87406 -1.74523 O 0 0 -0.83400 +HETATM 518 H 3.43362 10.36371 -1.47277 H 0 0 0.41700 +HETATM 519 H 1.93240 10.29987 -1.28804 H 0 0 0.41700 +HETATM 520 H 5.16750 9.86754 -0.06048 H 0 0 0.41700 +HETATM 521 H 2.83441 10.75350 -3.58980 H 0 0 0.41700 +HETATM 522 O -6.67668 6.05616 -8.37185 O 0 0 -0.83400 +HETATM 523 H -6.68881 7.00034 -8.21502 H 0 0 0.41700 +HETATM 524 H -5.78433 5.87317 -8.66591 H 0 0 0.41700 +HETATM 525 O -4.56088 -6.64765 -6.60120 O 0 0 -0.83400 +HETATM 526 H -4.39881 -7.38105 -6.00782 H 0 0 0.41700 +HETATM 527 O -7.84015 -3.86394 -7.65328 O 0 0 -0.83400 +HETATM 528 H -8.13116 -2.95938 -7.76861 H 0 0 0.41700 +HETATM 529 H -7.20445 -3.82229 -6.93887 H 0 0 0.41700 +HETATM 530 H -3.18109 -3.27530 -10.76672 H 0 0 0.41700 +HETATM 531 H -3.22606 -4.44458 -9.80618 H 0 0 0.41700 +HETATM 532 O -1.67719 -5.28912 -6.87605 O 0 0 -0.83400 +HETATM 533 H -1.26885 -5.73088 -7.62059 H 0 0 0.41700 +HETATM 534 H -2.39946 -5.86386 -6.62263 H 0 0 0.41700 +HETATM 535 O -0.22029 -6.14756 -9.16685 O 0 0 -0.83400 +HETATM 536 H -0.00860 -5.50439 -9.84341 H 0 0 0.41700 +HETATM 537 O 0.89429 -3.27037 -10.99462 O 0 0 -0.83400 +HETATM 538 H 0.89053 -3.37354 -10.04300 H 0 0 0.41700 +HETATM 539 O -5.34005 -3.72196 -8.83855 O 0 0 -0.83400 +HETATM 540 H -5.27560 -3.25992 -8.00273 H 0 0 0.41700 +HETATM 541 H -6.04896 -4.35223 -8.71031 H 0 0 0.41700 +HETATM 542 O -3.99840 -1.43280 -4.84061 O 0 0 -0.83400 +HETATM 543 H -4.44201 -2.21916 -5.15852 H 0 0 0.41700 +HETATM 544 H -3.33668 -1.24488 -5.50622 H 0 0 0.41700 +HETATM 545 O -1.90027 -1.15252 -6.81247 O 0 0 -0.83400 +HETATM 546 H -1.91843 -0.33163 -7.30445 H 0 0 0.41700 +HETATM 547 H -0.97828 -1.27711 -6.58746 H 0 0 0.41700 +HETATM 548 O -5.44297 -3.63810 -5.97012 O 0 0 -0.83400 +HETATM 549 H -4.91014 -4.39927 -6.20019 H 0 0 0.41700 +HETATM 550 H -5.97156 -3.93074 -5.22771 H 0 0 0.41700 +HETATM 551 O -3.17897 -1.10577 -10.99147 O 0 0 -0.83400 +HETATM 552 H -3.12526 -0.53667 -10.22370 H 0 0 0.41700 +HETATM 553 H -4.04749 -0.93558 -11.35606 H 0 0 0.41700 +HETATM 554 O 3.94980 -4.66361 -9.99149 O 0 0 -0.83400 +HETATM 555 H 4.14339 -3.75903 -9.74556 H 0 0 0.41700 +HETATM 556 H 3.84986 -5.12287 -9.15763 H 0 0 0.41700 +HETATM 557 O -0.98869 -4.51293 -4.41740 O 0 0 -0.83400 +HETATM 558 H -1.14014 -4.74188 -5.33439 H 0 0 0.41700 +HETATM 559 H -0.99822 -3.55587 -4.40427 H 0 0 0.41700 +HETATM 560 O 0.72053 -1.48102 -6.33975 O 0 0 -0.83400 +HETATM 561 H 0.66178 -2.16510 -7.00669 H 0 0 0.41700 +HETATM 562 H 1.12248 -0.73912 -6.79169 H 0 0 0.41700 +HETATM 563 O 0.72227 -3.51706 -8.10835 O 0 0 -0.83400 +HETATM 564 H -0.16505 -3.85447 -7.98571 H 0 0 0.41700 +HETATM 565 H 1.29213 -4.24876 -7.87148 H 0 0 0.41700 +HETATM 566 O -5.74761 1.14308 -11.14223 O 0 0 -0.83400 +HETATM 567 H -5.82060 1.94858 -10.63030 H 0 0 0.41700 +HETATM 568 O -3.28775 1.04177 -8.98641 O 0 0 -0.83400 +HETATM 569 H -2.57495 1.67651 -9.05882 H 0 0 0.41700 +HETATM 570 H -3.77874 1.13815 -9.80241 H 0 0 0.41700 +HETATM 571 O -8.23655 -1.20879 -8.16586 O 0 0 -0.83400 +HETATM 572 H -7.53561 -0.57514 -8.01292 H 0 0 0.41700 +HETATM 573 O -4.38767 -7.91235 -3.85400 O 0 0 -0.83400 +HETATM 574 H -5.06360 -8.01293 -3.18376 H 0 0 0.41700 +HETATM 575 H -3.56490 -8.06843 -3.39040 H 0 0 0.41700 +HETATM 576 O -5.64539 3.39435 -9.61824 O 0 0 -0.83400 +HETATM 577 H -5.09356 3.55751 -8.85333 H 0 0 0.41700 +HETATM 578 H -5.30477 3.98479 -10.29023 H 0 0 0.41700 +HETATM 579 O -2.50855 1.34254 -12.63187 O 0 0 -0.83400 +HETATM 580 O -0.44506 -0.85655 -11.00391 O 0 0 -0.83400 +HETATM 581 H -1.39203 -0.97602 -11.07608 H 0 0 0.41700 +HETATM 582 H -0.09678 -1.74431 -10.92129 H 0 0 0.41700 +HETATM 583 O -5.49881 0.96019 -7.60337 O 0 0 -0.83400 +HETATM 584 H -5.19010 0.71511 -6.73110 H 0 0 0.41700 +HETATM 585 H -4.70126 1.16486 -8.09148 H 0 0 0.41700 +HETATM 586 O 2.52858 -2.31992 -4.42724 O 0 0 -0.83400 +HETATM 587 H 1.73813 -2.33751 -4.96679 H 0 0 0.41700 +HETATM 588 H 2.29191 -1.78109 -3.67234 H 0 0 0.41700 +HETATM 589 O 2.64836 -5.47068 -7.11397 O 0 0 -0.83400 +HETATM 590 H 2.69816 -5.63568 -6.17241 H 0 0 0.41700 +HETATM 591 H 2.53976 -6.33795 -7.50418 H 0 0 0.41700 +HETATM 592 O -0.06126 -9.48758 -5.79804 O 0 0 -0.83400 +HETATM 593 H 0.83973 -9.62694 -6.08964 H 0 0 0.41700 +HETATM 594 H 0.01354 -9.32214 -4.85822 H 0 0 0.41700 +HETATM 595 O 4.15018 -3.05098 -6.86976 O 0 0 -0.83400 +HETATM 596 H 3.85866 -2.68798 -6.03342 H 0 0 0.41700 +HETATM 597 H 3.53740 -3.76428 -7.04843 H 0 0 0.41700 +HETATM 598 O 2.39890 -7.92772 -8.40176 O 0 0 -0.83400 +HETATM 599 H 1.47546 -7.87180 -8.64742 H 0 0 0.41700 +HETATM 600 O -4.69992 -4.90915 -3.55191 O 0 0 -0.83400 +HETATM 601 H -3.77962 -4.73129 -3.35791 H 0 0 0.41700 +HETATM 602 H -4.73496 -5.85355 -3.70394 H 0 0 0.41700 +HETATM 603 H -7.45109 -7.19598 -2.49646 H 0 0 0.41700 +HETATM 604 O -2.67170 -4.13355 -1.90050 O 0 0 -0.83400 +HETATM 605 H -1.80258 -3.95949 -2.26183 H 0 0 0.41700 +HETATM 606 H -3.15102 -3.31411 -2.02292 H 0 0 0.41700 +HETATM 607 H -7.60035 3.01852 -9.90490 H 0 0 0.41700 +HETATM 608 O 5.43202 5.08861 -5.03506 O 0 0 -0.83400 +HETATM 609 H 4.65535 5.64800 -5.04478 H 0 0 0.41700 +HETATM 610 H 6.07107 5.57429 -4.51358 H 0 0 0.41700 +HETATM 611 O 3.68665 7.89716 -5.47327 O 0 0 -0.83400 +HETATM 612 H 4.42812 8.43566 -5.74979 H 0 0 0.41700 +HETATM 613 H 2.98035 8.52378 -5.31611 H 0 0 0.41700 +HETATM 614 O 5.51529 4.97733 -9.50270 O 0 0 -0.83400 +HETATM 615 H 5.45516 4.32069 -8.80884 H 0 0 0.41700 +HETATM 616 O 2.42279 5.05112 -4.67174 O 0 0 -0.83400 +HETATM 617 H 1.79265 5.73275 -4.43820 H 0 0 0.41700 +HETATM 618 H 2.31640 4.93943 -5.61642 H 0 0 0.41700 +HETATM 619 O -3.99894 4.97135 -11.31365 O 0 0 -0.83400 +HETATM 620 H -3.74814 5.85605 -11.04789 H 0 0 0.41700 +HETATM 621 O 4.61766 0.76898 -4.71719 O 0 0 -0.83400 +HETATM 622 H 5.35863 1.36970 -4.79674 H 0 0 0.41700 +HETATM 623 H 4.84945 0.02675 -5.27538 H 0 0 0.41700 +HETATM 624 O -0.23821 5.95462 -6.43936 O 0 0 -0.83400 +HETATM 625 H -0.35286 5.05315 -6.13865 H 0 0 0.41700 +HETATM 626 H -1.09376 6.20099 -6.79088 H 0 0 0.41700 +HETATM 627 O 2.06489 2.54137 -11.45620 O 0 0 -0.83400 +HETATM 628 H 1.23265 2.25482 -11.83234 H 0 0 0.41700 +HETATM 629 O 0.54025 3.92518 -9.50902 O 0 0 -0.83400 +HETATM 630 H 1.21255 3.71692 -10.15776 H 0 0 0.41700 +HETATM 631 H -0.28677 3.72739 -9.94850 H 0 0 0.41700 +HETATM 632 O 6.44281 0.55137 -7.49246 O 0 0 -0.83400 +HETATM 633 H 5.79560 1.25037 -7.58601 H 0 0 0.41700 +HETATM 634 H 7.21291 0.98499 -7.12483 H 0 0 0.41700 +HETATM 635 O 0.94300 7.19944 -8.74878 O 0 0 -0.83400 +HETATM 636 H 0.80498 6.46746 -8.14762 H 0 0 0.41700 +HETATM 637 H 1.85349 7.11033 -9.03036 H 0 0 0.41700 +HETATM 638 O 3.57123 6.91144 -9.26041 O 0 0 -0.83400 +HETATM 639 H 4.28119 6.27076 -9.30175 H 0 0 0.41700 +HETATM 640 H 3.52816 7.16273 -8.33779 H 0 0 0.41700 +HETATM 641 O 2.28412 3.89796 -7.44085 O 0 0 -0.83400 +HETATM 642 H 1.74786 3.44703 -6.78869 H 0 0 0.41700 +HETATM 643 H 1.69579 4.03255 -8.18380 H 0 0 0.41700 +HETATM 644 O -1.98197 3.03356 -10.35555 O 0 0 -0.83400 +HETATM 645 H -2.06615 2.42613 -11.09051 H 0 0 0.41700 +HETATM 646 H -2.80370 3.52446 -10.35460 H 0 0 0.41700 +HETATM 647 O 6.45171 7.41684 -3.85400 O 0 0 -0.83400 +HETATM 648 H 5.77577 7.31626 -3.18376 H 0 0 0.41700 +HETATM 649 H 7.27447 7.26077 -3.39040 H 0 0 0.41700 +HETATM 650 O 0.17043 1.07105 -9.01605 O 0 0 -0.83400 +HETATM 651 H 0.23457 1.93254 -9.42831 H 0 0 0.41700 +HETATM 652 H 0.10715 0.45845 -9.74881 H 0 0 0.41700 +HETATM 653 O 2.75427 0.36205 -7.18009 O 0 0 -0.83400 +HETATM 654 H 3.27771 0.60828 -6.41746 H 0 0 0.41700 +HETATM 655 H 2.53551 1.19405 -7.59978 H 0 0 0.41700 +HETATM 656 O 3.95953 1.30342 -9.49512 O 0 0 -0.83400 +HETATM 657 H 3.61921 0.50420 -9.09305 H 0 0 0.41700 +HETATM 658 H 3.25343 1.60359 -10.06744 H 0 0 0.41700 +HETATM 659 H 4.85498 -0.83260 -10.54252 H 0 0 0.41700 +HETATM 660 H 5.31579 2.10730 -10.44974 H 0 0 0.41700 +HETATM 661 O -3.39040 7.62080 -10.29443 O 0 0 -0.83400 +HETATM 662 H -2.51247 7.96788 -10.45251 H 0 0 0.41700 +HETATM 663 O -2.60380 6.74779 -7.40141 O 0 0 -0.83400 +HETATM 664 H -3.34563 6.89605 -6.81495 H 0 0 0.41700 +HETATM 665 H -2.92453 7.00861 -8.26474 H 0 0 0.41700 +HETATM 666 O 2.88247 2.46516 -3.70735 O 0 0 -0.83400 +HETATM 667 H 2.93128 3.34137 -4.08958 H 0 0 0.41700 +HETATM 668 H 3.42472 1.92290 -4.28019 H 0 0 0.41700 +HETATM 669 O 5.11240 3.21829 -6.95272 O 0 0 -0.83400 +HETATM 670 H 4.24273 3.51165 -7.22446 H 0 0 0.41700 +HETATM 671 H 5.34834 3.80234 -6.23199 H 0 0 0.41700 +HETATM 672 H 7.46181 -0.25735 -8.60150 H 0 0 0.41700 +HETATM 673 H -0.45176 7.97094 -10.12415 H 0 0 0.41700 +HETATM 674 O 4.00845 3.90346 -1.51936 O 0 0 -0.83400 +HETATM 675 H 3.90812 4.85290 -1.58815 H 0 0 0.41700 +HETATM 676 H 3.79060 3.57529 -2.39175 H 0 0 0.41700 +HETATM 677 O 3.87158 7.33318 -2.70285 O 0 0 -0.83400 +HETATM 678 H 3.38828 8.13321 -2.49646 H 0 0 0.41700 +HETATM 679 H 3.95767 7.34397 -3.65611 H 0 0 0.41700 +HETATM 680 O 0.38885 9.79374 -8.09893 O 0 0 -0.83400 +HETATM 681 H 0.66253 8.87694 -8.12717 H 0 0 0.41700 +HETATM 682 O -4.35766 4.12755 -7.39971 O 0 0 -0.83400 +HETATM 683 H -3.71177 3.61745 -6.91099 H 0 0 0.41700 +HETATM 684 H -4.56595 4.86442 -6.82537 H 0 0 0.41700 +HETATM 685 O -3.02628 -9.08608 8.63590 O 0 0 -0.83400 +HETATM 686 H -2.75712 -9.40767 9.49634 H 0 0 0.41700 +HETATM 687 H -6.74188 0.92243 9.01281 H 0 0 0.41700 +HETATM 688 O -3.44042 -1.06128 11.74746 O 0 0 -0.83400 +HETATM 689 H -3.58792 -1.98961 11.92822 H 0 0 0.41700 +HETATM 690 O 0.16299 -0.23843 12.83395 O 0 0 -0.83400 +HETATM 691 H -0.00547 -0.48679 13.74288 H 0 0 0.41700 +HETATM 692 O -8.46801 -2.79182 6.72618 O 0 0 -0.83400 +HETATM 693 O 6.08576 8.73897 5.61859 O 0 0 -0.83400 +HETATM 694 H 6.11527 9.15888 4.75893 H 0 0 0.41700 +HETATM 695 O 5.78337 10.27984 2.95740 O 0 0 -0.83400 +HETATM 696 H 6.52441 10.50745 2.39591 H 0 0 0.41700 +HETATM 697 H 4.40368 3.10776 11.97767 H 0 0 0.41700 +HETATM 698 O 6.26748 -1.36255 11.77126 O 0 0 -0.83400 +HETATM 699 H 6.68428 -2.20210 11.96532 H 0 0 0.41700 +HETATM 700 O 0.12663 8.56389 7.73229 O 0 0 -0.83400 +HETATM 701 O 10.14551 2.18482 7.81480 O 0 0 -0.83400 +HETATM 702 O 2.99923 -11.52854 5.62219 O 0 0 -0.83400 +HETATM 703 H 3.63492 -11.48689 6.33660 H 0 0 0.41700 +HETATM 704 O 5.21413 -9.71975 -5.69518 O 0 0 -0.83400 +HETATM 705 H 5.75511 -9.51782 -6.45858 H 0 0 0.41700 +HETATM 706 O 7.81375 -5.64633 -9.25961 O 0 0 -0.83400 +HETATM 707 H 8.20033 -4.84342 -9.60906 H 0 0 0.41700 +HETATM 708 H 3.63498 -11.64714 -2.26898 H 0 0 0.41700 +HETATM 709 H 2.13009 -11.68039 -2.43046 H 0 0 0.41700 +HETATM 710 O 5.41805 -10.57927 1.61255 O 0 0 -0.83400 +HETATM 711 H 5.27916 -10.94739 2.48514 H 0 0 0.41700 +HETATM 712 H 8.22666 -7.86689 -6.31379 H 0 0 0.41700 +HETATM 713 H -4.79409 -10.86861 -1.31761 H 0 0 0.41700 +HETATM 714 O 12.24884 -0.06182 -1.34916 O 0 0 -0.83400 +HETATM 715 H 12.49728 0.71760 -0.85216 H 0 0 0.41700 +HETATM 716 H 10.01890 3.92131 -4.97183 H 0 0 0.41700 +HETATM 717 H 10.48652 -2.61145 7.13682 H 0 0 0.41700 +HETATM 718 O 11.37962 -3.73942 3.76645 O 0 0 -0.83400 +HETATM 719 H 12.05193 -3.94768 3.11771 H 0 0 0.41700 +HETATM 720 O 10.96600 0.89929 -5.54318 O 0 0 -0.83400 +HETATM 721 H 11.13560 0.90101 -6.48523 H 0 0 0.41700 +HETATM 722 O -10.32082 -3.99495 0.29692 O 0 0 -0.83400 +HETATM 723 H -11.22913 -4.06341 0.00279 H 0 0 0.41700 +HETATM 724 H -8.95916 -5.90801 2.88002 H 0 0 0.41700 +HETATM 725 O -11.05967 1.51703 4.10862 O 0 0 -0.83400 +HETATM 726 H -11.10669 0.68326 3.64081 H 0 0 0.41700 +HETATM 727 O -10.95049 4.79760 -6.60560 O 0 0 -0.83400 +HETATM 728 H -11.82004 4.39935 -6.64438 H 0 0 0.41700 +HETATM 729 O -10.67638 7.42617 -0.44152 O 0 0 -0.83400 +HETATM 730 H -10.84485 7.17781 0.46741 H 0 0 0.41700 +HETATM 731 H -8.14121 2.02892 7.10305 H 0 0 0.41700 +HETATM 732 H -6.98071 4.97661 7.24205 H 0 0 0.41700 +HETATM 733 H -9.90996 -4.17872 3.61635 H 0 0 0.41700 +HETATM 734 O -11.55914 0.03567 -5.24564 O 0 0 -0.83400 +HETATM 735 H -11.61562 0.49253 -6.08487 H 0 0 0.41700 +HETATM 736 O 0.51855 11.33424 0.29692 O 0 0 -0.83400 +HETATM 737 H 0.46731 11.81144 1.12510 H 0 0 0.41700 +HETATM 738 O -9.34583 9.14625 -2.82211 O 0 0 -0.83400 +HETATM 739 O -6.06547 11.32525 -1.98589 O 0 0 -0.83400 +HETATM 740 O -6.87985 8.96802 3.78035 O 0 0 -0.83400 +HETATM 741 H -7.58595 9.26819 3.20803 H 0 0 0.41700 +HETATM 742 H -3.22790 10.66875 -6.83591 H 0 0 0.41700 +HETATM 743 H -5.25031 11.09056 2.13411 H 0 0 0.41700 +HETATM 744 O 5.09484 10.58683 -0.68784 O 0 0 -0.83400 +HETATM 745 H 5.68929 10.34640 -1.39851 H 0 0 0.41700 +HETATM 746 O 3.09072 11.15384 -4.42062 O 0 0 -0.83400 +HETATM 747 H 2.46600 11.86822 -4.54561 H 0 0 0.41700 +HETATM 748 H -4.57201 -7.04237 -7.47315 H 0 0 0.41700 +HETATM 749 O -2.88116 -4.17780 -10.65830 O 0 0 -0.83400 +HETATM 750 H -0.26732 -6.98133 -9.63466 H 0 0 0.41700 +HETATM 751 H 1.71604 -3.67235 -11.27635 H 0 0 0.41700 +HETATM 752 H -6.18987 1.34228 -11.96743 H 0 0 0.41700 +HETATM 753 H -8.70704 -0.86732 -8.92629 H 0 0 0.41700 +HETATM 754 H -2.63344 0.54152 -13.14077 H 0 0 0.41700 +HETATM 755 H -1.85064 1.83716 -13.12047 H 0 0 0.41700 +HETATM 756 H 2.87431 -7.73496 -9.20987 H 0 0 0.41700 +HETATM 757 O -6.96780 -7.99602 -2.70285 O 0 0 -0.83400 +HETATM 758 H -6.88171 -7.98522 -3.65611 H 0 0 0.41700 +HETATM 759 O -8.50308 2.98616 -10.22155 O 0 0 -0.83400 +HETATM 760 H -8.72934 2.05620 -10.20692 H 0 0 0.41700 +HETATM 761 H 6.36141 5.40127 -9.35923 H 0 0 0.41700 +HETATM 762 H -3.46299 4.79181 -12.08614 H 0 0 0.41700 +HETATM 763 H 2.70483 2.40025 -12.15391 H 0 0 0.41700 +HETATM 764 O 4.61117 -1.61165 -11.04239 O 0 0 -0.83400 +HETATM 765 H 5.43378 -2.08560 -11.16450 H 0 0 0.41700 +HETATM 766 O 5.84728 2.50425 -11.13979 O 0 0 -0.83400 +HETATM 767 H 5.58906 3.42596 -11.14136 H 0 0 0.41700 +HETATM 768 H -3.93506 8.39678 -10.16240 H 0 0 0.41700 +HETATM 769 O 7.81630 -0.56374 -9.43618 O 0 0 -0.83400 +HETATM 770 H 8.33449 0.17236 -9.76153 H 0 0 0.41700 +HETATM 771 O -0.86434 8.33014 -10.90963 O 0 0 -0.83400 +HETATM 772 H -0.64574 9.26185 -10.89083 H 0 0 0.41700 +HETATM 773 H 1.20814 10.28815 -8.07545 H 0 0 0.41700 END diff --git a/test/library/qmmm_amber/control b/test/library/qmmm_amber/control index c1631358..6c77f457 100644 --- a/test/library/qmmm_amber/control +++ b/test/library/qmmm_amber/control @@ -1,6 +1,6 @@ simulation_name AVE ! output files will carry this name + their specific extension ensemble_type 0 ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT -nsteps 0 ! number of simulation steps +nsteps 0 ! number of simulation steps dt 0.25 ! time step in fs periodic_boundaries 1 ! 0: no periodic boundaries, 1: periodic boundaries @@ -10,22 +10,23 @@ tabulate_long_range 0 ! denotes the granularity of lon energy_update_freq 1 remove_CoM_vel 500 ! remove the translational and rotational vel around the center of mass at every 'this many' steps +vlist_buffer 2.5 nbrhood_cutoff 5.0 ! near neighbors cutoff for bond calculations (Angstroms) bond_graph_cutoff 0.3 ! bond strength cutoff for bond graphs (Angstroms) -thb_cutoff 0.001 ! cutoff value for three body interactions (Angstroms) -hbond_cutoff 7.50 ! cutoff distance for hydrogen bond interactions (Angstroms) +thb_cutoff 0.005 ! cutoff value for three body interactions (Angstroms) +hbond_cutoff 7.5 ! cutoff distance for hydrogen bond interactions (Angstroms) -charge_method 0 ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2 +charge_method 1 ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2 cm_q_net 0.0 ! net system charge cm_solver_type 2 ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM -cm_solver_max_iters 20 ! max solver iterations +cm_solver_max_iters 200 ! max solver iterations cm_solver_restart 100 ! inner iterations of before restarting (GMRES(k)/GMRES_H(k)) cm_solver_q_err 1.0e-14 ! relative residual norm threshold used in solver cm_domain_sparsity 1.0 ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0) cm_init_guess_extrap1 3 ! order of spline extrapolation for initial guess (s) cm_init_guess_extrap2 2 ! order of spline extrapolation for initial guess (t) cm_solver_pre_comp_type 1 ! method used to compute preconditioner, if applicable -cm_solver_pre_comp_refactor 1000 ! number of steps before recomputing preconditioner (-1 for dynamic refactoring) +cm_solver_pre_comp_refactor 1 ! number of steps before recomputing preconditioner (-1 for dynamic refactoring) cm_solver_pre_comp_droptol 0.0 ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT) cm_solver_pre_comp_sweeps 3 ! number of sweeps used to compute preconditioner (FG-ILUT) cm_solver_pre_comp_sai_thres 0.1 ! ratio of charge matrix NNZ's used to compute preconditioner (SAI) @@ -44,16 +45,16 @@ p_mass 5000.00 ! in fs, pressure inertia parame compress 0.008134 ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) ) press_mode 0 ! 0: internal + external pressure, 1: ext only, 2: int only -geo_format 1 ! 0: custom, 1: pdb, 2: bgf 3: ASCII restart 3: binary restart +geo_format 2 ! 0: custom, 1: pdb, 2: bgf write_freq 0 ! write trajectory after so many steps traj_compress 0 ! 0: no compression 1: uses zlib to compress trajectory output -traj_format 0 ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb -traj_title AVE ! (no white spaces) +traj_format 2 ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb +traj_title AVE ! (no white spaces) atom_info 1 ! 0: no atom info, 1: print basic atom info in the trajectory file -atom_forces 0 ! 0: basic atom format, 1: print force on each atom in the trajectory file +atom_forces 1 ! 0: basic atom format, 1: print force on each atom in the trajectory file atom_velocities 0 ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file -bond_info 1 ! 0: do not print bonds, 1: print bonds in the trajectory file -angle_info 1 ! 0: do not print angles, 1: print angles in the trajectory file +bond_info 0 ! 0: do not print bonds, 1: print bonds in the trajectory file +angle_info 0 ! 0: do not print angles, 1: print angles in the trajectory file test_forces 0 ! 0: normal run, 1: at every timestep print each force type into a different file molec_anal 0 ! 1: outputs newly formed molecules as the simulation progresses diff --git a/test/library/qmmm_amber/fortran_stub/driver.F03 b/test/library/qmmm_amber/fortran_stub/driver.F03 new file mode 100644 index 00000000..d89af2be --- /dev/null +++ b/test/library/qmmm_amber/fortran_stub/driver.F03 @@ -0,0 +1,197 @@ +module driver_utils + use, intrinsic :: iso_c_binding + + implicit none + +contains + subroutine parse_bgf_file( filename, num_atoms, sim_box_info, & + num_qm_atoms, qm_types, qm_pos, qm_q, num_mm_atoms, & + mm_types, mm_pos_q ) + implicit none + + character(len=1024), intent(in) :: filename + integer, intent(out) :: num_atoms + integer (c_int), intent(in) :: num_qm_atoms, num_mm_atoms + real (c_double), intent(out) :: sim_box_info(6) + real (c_double), intent(out) :: qm_pos(3*num_qm_atoms), qm_q(num_qm_atoms), mm_pos_q(4*num_mm_atoms) + character(len=5), intent(out) :: qm_types(num_qm_atoms), mm_types(num_mm_atoms) + + character(len=200) :: line + integer :: bgf_version, num_descrp, num_remark, num_format, line_num + integer :: nqm, nmm + + open (unit=3, file=filename, action='read', status='old') + + read (3,'(a40)', end=46, err=40) line + + read (line,'(6x,i4)') bgf_version + num_descrp = 0 + num_remark = 0 + num_format = 0 + line_num = 0 + nqm = 0 + nmm = 0 + + 30 read (3,'(a200)', end=46, err=40) line + line_num = line_num + 1 + + if (line(1:6) == 'DESCRP') then +! read (line, '(7x,a40)', end=46, err=46) descrps(num_descrp) + num_descrp = num_descrp + 1 + end if + + if (line(1:6) == 'REMARK') then +! read (line, '(7x,a40)', end=46, err=46) remarks(num_remark) + num_remark = num_remark + 1 + end if + + if (line(1:6) == 'FORMAT') then +! read(line, '(7x,a40)', end=46, err=46) formats(num_format) + num_format = num_format + 1 + end if + + if (line(1:6) == 'CRYSTX') then + read (line, '(7x,6f7.3)', end=46, err=46) & + sim_box_info(1), sim_box_info(2), sim_box_info(3), & + sim_box_info(4), sim_box_info(5), sim_box_info(6) + end if + + if (line(1:6) == 'HETATM') then + if (bgf_version < 400) then + if (nqm < num_qm_atoms) then + read (line, '(30x,3f10.5,1x,a5,6x,f10.5)', end=40, err=40) & + qm_pos(3*nqm+1), qm_pos(3*nqm+2), qm_pos(3*nqm+3), & + qm_types(nqm+1), qm_q(nqm+1) + + nqm = nqm + 1 + else + ! take the MM charges from BGF file; + ! Amber would set instead in real QM/MM simulation + read (line, '(30x,3f10.5,1x,a5,6x,f10.5)', end=40, err=40) & + mm_pos_q(4*nmm+1), mm_pos_q(4*nmm+2), mm_pos_q(4*nmm+3), & + mm_types(nmm+1), mm_pos_q(4*nqm+4) + + nmm = nmm + 1 + endif + else + stop 'Unsupported Biograf-version' + end if + end if + + goto 30 + + 40 write (*,*) 'Error on line ', line_num + 1, ' of Biograf-input' + stop + 46 continue + + close (3) + + num_atoms = nqm + nmm + end subroutine parse_bgf_file +end module driver_utils + + +! driver for PuReMD library interface to Amber in Fortran +program driver + use, intrinsic :: iso_c_binding + use driver_utils + use puremd + + implicit none + +#ifdef f2003 + use, intrinsic :: iso_fortran_env, only: stdin=>input_unit, & + stdout=>output_unit, & + stderr=>error_unit +#else +#define stdin 5 +#define stdout 6 +#define stderr 0 +#endif + + character(len=1024), dimension(:), allocatable :: args + character(len=1024) :: filename + integer :: num_args, ix, num_atoms + integer (c_int) :: num_qm_atoms, num_mm_atoms + real (c_double) :: sim_box_info(6), e_tot + real (c_double), dimension(:), allocatable :: qm_pos, qm_q, qm_f, mm_pos_q, mm_f + character(len=5), dimension(:), allocatable :: qm_types, mm_types + integer (c_int), dimension(:), allocatable :: qm_types_map, mm_types_map + + num_args = command_argument_count( ) + if (num_args /= 3) then + write (stderr, *) 'ERROR: incorrect number of command-line arguments' + write (stderr, *) 'usage: ./driver bgf_filename num_qm_atoms num_mm_atoms' + stop + endif + + allocate( args(num_args) ) + + do ix = 1, num_args + call get_command_argument( ix, args(ix) ) + end do + + filename = args(1) + read (args(2), *) num_qm_atoms + read (args(3), *) num_mm_atoms + + allocate( qm_types(num_qm_atoms) ) + allocate( qm_types_map(num_qm_atoms) ) + allocate( qm_pos(3*num_qm_atoms) ) + allocate( qm_q(num_qm_atoms) ) + allocate( qm_f(3*num_qm_atoms) ) + allocate( mm_types(num_mm_atoms) ) + allocate( mm_types_map(num_mm_atoms) ) + allocate( mm_pos_q(4*num_mm_atoms) ) + allocate( mm_f(3*num_mm_atoms) ) + + call parse_bgf_file( filename, num_atoms, sim_box_info, num_qm_atoms, qm_types, & + qm_pos, qm_q, num_mm_atoms, mm_types, mm_pos_q ) + + if (num_atoms /= (num_qm_atoms + num_mm_atoms)) then + write (stderr, *) 'ERROR: num_atoms in BGF file != num_qm_atoms + num_mm_atoms' + write (stderr, *) 'INFO: num_atoms = ', num_atoms + write (stderr, *) 'INFO: num_qm_atoms = ', num_qm_atoms + write (stderr, *) 'INFO: num_mm_atoms = ', num_mm_atoms + stop + endif + + do ix = 1, num_qm_atoms + if (trim(adjustl(qm_types(ix))) == 'C') then + qm_types_map(ix) = 0 + else if (trim(adjustl(qm_types(ix))) == 'H') then + qm_types_map(ix) = 1 + else if (trim(adjustl(qm_types(ix))) == 'O') then + qm_types_map(ix) = 2 + else + stop 'ERROR: unrecogized QM atom type' + endif + end do + + do ix = 1, num_mm_atoms + if (trim(adjustl(mm_types(ix))) == 'C') then + mm_types_map(ix) = 0 + else if (trim(adjustl(mm_types(ix))) == 'H') then + mm_types_map(ix) = 1 + else if (trim(adjustl(mm_types(ix))) == 'O') then + mm_types_map(ix) = 2 + else + stop 'ERROR: unrecogized MM atom type' + endif + end do + + call get_qc_forces( 100, 0, sim_box_info, num_qm_atoms, qm_pos, & + qm_types_map, qm_q, num_mm_atoms, mm_pos_q, mm_types_map, & + e_tot, qm_f, mm_f ) + + deallocate(args) + deallocate(qm_types) + deallocate(qm_types_map) + deallocate(qm_pos) + deallocate(qm_q) + deallocate(qm_f) + deallocate(mm_types) + deallocate(mm_types_map) + deallocate(mm_pos_q) + deallocate(mm_f) +end program driver diff --git a/test/library/qmmm_amber/fortran_stub/puremd.F03 b/test/library/qmmm_amber/fortran_stub/puremd.F03 new file mode 100644 index 00000000..b8266ea3 --- /dev/null +++ b/test/library/qmmm_amber/fortran_stub/puremd.F03 @@ -0,0 +1,313 @@ +! module for interfacing with PuReMD code (ReaxFF+EEM in QM/MM mode) +module puremd + implicit none + + interface + type(c_ptr) function setup_qmmm & + (num_qm_atoms, qm_types, qm_pos, & + num_mm_atoms, mm_types, mm_pos_q, sim_box_info, & + ffield_filename, control_filename) & + bind(C, name='setup_qmmm') + use, intrinsic :: iso_c_binding + implicit none + integer (c_int), value :: num_qm_atoms + type(c_ptr), value :: qm_types + type(c_ptr), value :: qm_pos + integer (c_int), value :: num_mm_atoms + type(c_ptr), value :: mm_types + type(c_ptr), value :: mm_pos_q + type(c_ptr), value :: sim_box_info + type(c_ptr), value :: ffield_filename + type(c_ptr), value :: control_filename + end function setup_qmmm + + integer (c_int) function reset_qmmm & + (handle, num_qm_atoms, qm_types, qm_pos, & + num_mm_atoms, mm_types, mm_pos_q, sim_box_info, & + ffield_filename, control_filename) & + bind(C, name='reset_qmmm') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + integer (c_int), value :: num_qm_atoms + type(c_ptr), value :: qm_types + type(c_ptr), value :: qm_pos + integer (c_int), value :: num_mm_atoms + type(c_ptr), value :: mm_types + type(c_ptr), value :: mm_pos_q + type(c_ptr), value :: sim_box_info + type(c_ptr), value :: ffield_filename + type(c_ptr), value :: control_filename + end function reset_qmmm + + integer (c_int) function simulate & + (handle) & + bind(C, name='simulate') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + end function simulate + + integer (c_int) function cleanup & + (handle) & + bind(C, name='cleanup') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + end function cleanup + + integer (c_int) function set_control_parameter & + (handle, keyword, values) & + bind(C, name='set_control_parameter') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + type(c_ptr), value :: keyword + type(c_ptr) :: values + end function set_control_parameter + + integer (c_int) function set_output_enabled & + (handle, is_enabled) & + bind(C, name='set_output_enabled') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + integer (c_int), value :: is_enabled + end function set_output_enabled + + integer (c_int) function get_atom_forces_qmmm & + (handle, qm_f, mm_f) & + bind(C, name='get_atom_forces_qmmm') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + type(c_ptr), value :: qm_f + type(c_ptr), value :: mm_f + end function get_atom_forces_qmmm + + integer (c_int) function get_atom_charges_qmmm & + (handle, qm_q, mm_q) & + bind(C, name='get_atom_charges_qmmm') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + type(c_ptr), value :: qm_q + type(c_ptr), value :: mm_q + end function get_atom_charges_qmmm + + integer (c_int) function get_system_info & + (handle, e_potential, e_kinetic, e_total, temperature, & + volume, pressure) & + bind(C, name='get_system_info') + use, intrinsic :: iso_c_binding + implicit none + type(c_ptr), value :: handle + type(c_ptr), value :: e_potential + type(c_ptr), value :: e_kinetic + type(c_ptr), value :: e_total + type(c_ptr), value :: temperature + type(c_ptr), value :: volume + type(c_ptr), value :: pressure + end function get_system_info + end interface + +contains + subroutine get_qc_forces( itermax, nstep, sim_box_info, num_qm_atoms, & + qm_pos, qm_types, qm_q, num_mm_atoms, mm_pos_q, & + mm_types, e_total, qm_f, mm_f ) + use, intrinsic :: iso_c_binding + + implicit none + + integer, intent(in) :: nstep ! current MD step number in Amber simulation + integer, intent(in) :: itermax ! max. MD step number in Amber simulation + real (c_double), target, intent(in) :: sim_box_info(6) ! triplets for lengths and angles of QM region + ! simulation box (Angstroms and degrees) + integer (c_int), target, intent(in) :: num_qm_atoms ! number of QM atoms + real (c_double), target, intent(in) :: qm_pos(3,num_qm_atoms) ! QM atom coordinates + integer (c_int), target, intent(in) :: qm_types(num_qm_atoms) ! QM atom types + real (c_double), target, intent(inout) :: qm_q(num_qm_atoms) ! QM atom charges (nuclear charge in au) + integer (c_int), intent(in) :: num_mm_atoms ! number of MM atoms + real (c_double), target, intent(in) :: mm_pos_q(4,num_mm_atoms) ! MM atom coordinates and charges (nuclear charge in au) + integer (c_int), target, intent(in) :: mm_types(num_mm_atoms) ! MM atom types + real (c_double), target, intent(out) :: e_total ! SCF energy (kcal/mol) + real (c_double), target, intent(out) :: qm_f(3,num_qm_atoms) ! SCF QM force (AMU * Angstroms / ps^2) + real (c_double), target, intent(out) :: mm_f(3,num_mm_atoms) ! SCF MM force (AMU * Angstroms / ps^2) + + logical, save :: first_call = .true. + type(c_ptr), save :: handle + integer (c_int) :: ret + character(kind=c_char, len=1024), target :: ffield_filename, keyword, values + + ffield_filename = "../AVE/ffield" // char(0) + + if ( first_call ) then + first_call = .false. + + ! TODO: add checks for PuReMD library file being found by system library loader + ! Will quit if this is not found + + handle = setup_qmmm( num_qm_atoms, c_loc(qm_types), & + c_loc(qm_pos), num_mm_atoms, c_loc(mm_types), & + c_loc(mm_pos_q), c_loc(sim_box_info), c_loc(ffield_filename), c_null_ptr ) + + ! NVE ensemble + keyword = "ensemble_type" // char(0) + values = "0" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! MD steps + keyword = "nsteps" // char(0) + values = "0" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! time step length (in fs) + keyword = "dt" // char(0) + values = "0.25" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! enable periodic boundary conditions + keyword = "periodic_boundaries" // char(0) + values = "1" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! do not remap atom coordinates within simulation box boundaries + keyword = "reposition_atoms" // char(0) + values = "0" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! recompute Verlet neighbor lists at every (1) MD step + keyword = "reneighbor" // char(0) + values = "1" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! disable force and energy tabulation for Coulomb interactions + keyword = "tabulate_long_range" // char(0) + values = "0" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! calculate energies at every (1) MD step + keyword = "energy_update_freq" // char(0) + values = "1" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! add a 2.5 Angstrom buffer to Verlet neighbor list cut-off + keyword = "vlist_buffer" // char(0) + values = "2.5" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! 5.0 Angstrom bond interaction cut-off + keyword = "nbrhood_cutoff" // char(0) + values = "5.0" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! 0.001 threshold for valence angle interactions + keyword = "thb_cutoff" // char(0) + values = "0.001" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! 7.5 Angstrom hydrogen bond interaction cut-off + keyword = "hbond_cutoff" // char(0) + values = "7.5" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! 0.3 Angstrom bond graph calculation cut-off + keyword = "bond_graph_cutoff" // char(0) + values = "0.3" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! EEM model (full system) for charge calculations + keyword = "charge_method" // char(0) + values = "1" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! net charge for system (in Coulombs) + keyword = "cm_q_net" // char(0) + values = "0.0" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! conjugate gradient algorithm in charge solver + keyword = "cm_solver_type" // char(0) + values = "2" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! max. iterations in charge solver + keyword = "cm_solver_max_iters" // char(0) + values = "200" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! tolerance in charge solver + keyword = "cm_solver_q_err" // char(0) + values = "1.0e-14" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! Jacobi preconditioner in charge solver + keyword = "cm_solver_pre_comp_type" // char(0) + values = "1" // char(0) + ret = set_control_parameter( handle, c_loc(keyword), c_loc(values) ) + if ( ret /= 0_c_int ) stop "ERROR: set_control_parameter" + + ! disable file I/O + ret = set_output_enabled( handle, 0 ) + if ( ret /= 0_c_int ) stop "ERROR: set_output_enabled" + + ret = simulate( handle ) + if ( ret /= 0_c_int ) stop "ERROR: simulate" + + ret = get_atom_forces_qmmm( handle, c_loc(qm_f), c_loc(mm_f) ) + if ( ret /= 0_c_int ) stop "ERROR: get_atom_forces_qmmm" + + ! disregard MM atom charges, as static (input-only) + ret = get_atom_charges_qmmm( handle, c_loc(qm_q), c_null_ptr ) + if ( ret /= 0_c_int ) stop "ERROR: get_atom_charges_qmmm" + + if ( ret /= 0_c_int ) stop "ERROR: get_atom_forces_qmmm" + ! disregard all values except total energy + ret = get_system_info( handle, c_null_ptr, c_null_ptr, & + c_loc(e_total), c_null_ptr, c_null_ptr, c_null_ptr ) + if ( ret /= 0_c_int ) stop "ERROR: get_system_info" + else + ret = reset_qmmm( handle, num_qm_atoms, c_loc(qm_types), & + c_loc(qm_pos), num_mm_atoms, c_loc(mm_types), & + c_loc(mm_pos_q), c_loc(sim_box_info), c_null_ptr, c_null_ptr ) + if ( ret /= 0_c_int ) stop "ERROR: reset_qmmm" + + ret = simulate( handle ) + if ( ret /= 0_c_int ) stop "ERROR: simulate" + + ret = get_atom_forces_qmmm( handle, c_loc(qm_f), c_loc(mm_f) ) + if ( ret /= 0_c_int ) stop "ERROR: get_atom_forces_qmmm" + + ! disregard MM atom charges, as static (input-only) + ret = get_atom_charges_qmmm( handle, c_loc(qm_q), c_null_ptr ) + if ( ret /= 0_c_int ) stop "ERROR: get_atom_charges_qmmm" + + ! disregard all values except total energy + ret = get_system_info( handle, c_null_ptr, c_null_ptr, & + c_loc(e_total), c_null_ptr, c_null_ptr, c_null_ptr ) + if ( ret /= 0_c_int ) stop "ERROR: get_system_info" + end if + if (nstep > itermax) then + ret = cleanup( handle ) + if ( ret /= 0_c_int ) stop "ERROR: cleanup" + end if + end subroutine get_qc_forces +end module puremd diff --git a/test/library/qmmm_amber/fortran_stub/run_sim.bash b/test/library/qmmm_amber/fortran_stub/run_sim.bash new file mode 100644 index 00000000..6e7d96eb --- /dev/null +++ b/test/library/qmmm_amber/fortran_stub/run_sim.bash @@ -0,0 +1,11 @@ +#!/bin/bash + +export LD_LIBRARY_PATH="../../../../sPuReMD/lib/.libs" + +PROG="./driver" +# first 14 atoms in BGF file are for QM region, remaining are for MM region +BGF_FILE="../AVE/fort.3" +NUM_QM_ATOMS="14" +NUM_MM_ATOMS="759" + +"${PROG}" "${BGF_FILE}" "${NUM_QM_ATOMS}" "${NUM_MM_ATOMS}" diff --git a/test/library/qmmm_amber/tester_AVE.py b/test/library/qmmm_amber/tester_AVE.py index d9cfacd8..f76f6e6f 100644 --- a/test/library/qmmm_amber/tester_AVE.py +++ b/test/library/qmmm_amber/tester_AVE.py @@ -360,12 +360,10 @@ def create_db(name='spuremd.db'): if __name__ == '__main__': lib = cdll.LoadLibrary("libspuremd.so.1") - setup_qmmm = lib.setup_qmmm_ - setup_qmmm.argtypes = [c_int, POINTER(c_int), - POINTER(c_double), POINTER(c_double), POINTER(c_double), + setup_qmmm = lib.setup_qmmm + setup_qmmm.argtypes = [c_int, POINTER(c_int), POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double), POINTER(c_double), - POINTER(c_double), POINTER(c_double), POINTER(c_double), - c_char_p, c_char_p] + POINTER(c_double), c_char_p, c_char_p] setup_qmmm.restype = c_void_p simulate = lib.simulate @@ -376,12 +374,10 @@ if __name__ == '__main__': cleanup.argtypes = [c_void_p] cleanup.restype = c_int - reset_qmmm = lib.reset_qmmm_ - reset_qmmm.argtypes = [c_void_p, c_int, POINTER(c_int), - POINTER(c_double), POINTER(c_double), POINTER(c_double), + reset_qmmm = lib.reset_qmmm + reset_qmmm.argtypes = [c_void_p, c_int, POINTER(c_int), POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double), POINTER(c_double), - POINTER(c_double), POINTER(c_double), POINTER(c_double), - c_char_p, c_char_p] + POINTER(c_double), c_char_p, c_char_p] reset_qmmm.restype = c_int CALLBACKFUNC = CFUNCTYPE(None, c_int, POINTER(ReaxAtom), @@ -399,19 +395,17 @@ if __name__ == '__main__': set_control_parameter.argtypes = [c_void_p, c_char_p, POINTER(c_char_p)] set_control_parameter.restype = c_int - get_atom_positions_qmmm = lib.get_atom_positions_qmmm_ - get_atom_positions_qmmm.argtypes = [c_void_p, - POINTER(c_double), POINTER(c_double), POINTER(c_double), - POINTER(c_double), POINTER(c_double), POINTER(c_double)] + get_atom_positions_qmmm = lib.get_atom_positions_qmmm + get_atom_positions_qmmm.argtypes = [c_void_p, POINTER(c_double), + POINTER(c_double)] get_atom_positions_qmmm.restype = c_int - get_atom_forces_qmmm = lib.get_atom_forces_qmmm_ - get_atom_forces_qmmm.argtypes = [c_void_p, - POINTER(c_double), POINTER(c_double), POINTER(c_double), - POINTER(c_double), POINTER(c_double), POINTER(c_double)] + get_atom_forces_qmmm = lib.get_atom_forces_qmmm + get_atom_forces_qmmm.argtypes = [c_void_p, POINTER(c_double), + POINTER(c_double)] get_atom_forces_qmmm.restype = c_int - get_atom_charges_qmmm = lib.get_atom_charges_qmmm_ + get_atom_charges_qmmm = lib.get_atom_charges_qmmm get_atom_charges_qmmm.argtypes = [c_void_p, POINTER(c_double), POINTER(c_double)] get_atom_charges_qmmm.restype = c_int @@ -420,12 +414,12 @@ if __name__ == '__main__': data[0].E_Tot, data[0].E_Kin, data[0].E_Pot)) # data from Amber - sim_box = (c_double * 6)(80.0, 80.0, 80.0, 90.0, 90.0, 90.0) + sim_box_info = (c_double * 6)(80.0, 80.0, 80.0, 90.0, 90.0, 90.0) num_qm_atoms = 14 - num_mm_atoms = 762 + num_mm_atoms = 759 num_atoms = num_qm_atoms + num_mm_atoms - df = pd.read_csv('AVE/fort.3', sep='\s+', skiprows=[0,1,2,779,780], + df = pd.read_csv('AVE/fort.3', sep='\s+', skiprows=[0,1,2,3,777,778], names=['Keyword', 'Num', 'Tag', 'P_x', 'P_y', 'P_z', 'Elem', 'Tag2', 'Tag3', 'Q'], dtype={'Keyword': str, 'Num': np.int, @@ -436,34 +430,21 @@ if __name__ == '__main__': types_s = df['Elem'].to_list() elems = {'C': 0, 'H': 1, 'O': 2} types = [elems[t] for t in types_s] - p_x = df['P_x'].to_list() - p_y = df['P_y'].to_list() - p_z = df['P_z'].to_list() + p = df[['P_x', 'P_y', 'P_z']].values.flatten().tolist() q = df['Q'].to_list() qm_types = (c_int * num_qm_atoms)(*types[0:num_qm_atoms]) - qm_p_x = (c_double * num_qm_atoms)(*p_x[0:num_qm_atoms]) - qm_p_y = (c_double * num_qm_atoms)(*p_y[0:num_qm_atoms]) - qm_p_z = (c_double * num_qm_atoms)(*p_z[0:num_qm_atoms]) + qm_p = (c_double * (3 * num_qm_atoms))(*p[0:(3 * num_qm_atoms)]) mm_types = (c_int * num_mm_atoms)(*types[num_qm_atoms:]) - mm_p_x = (c_double * num_mm_atoms)(*p_x[num_qm_atoms:]) - mm_p_y = (c_double * num_mm_atoms)(*p_y[num_qm_atoms:]) - mm_p_z = (c_double * num_mm_atoms)(*p_z[num_qm_atoms:]) + mm_p = (c_double * (3 * num_mm_atoms))(*p[(3 * num_qm_atoms):]) mm_q = (c_double * num_mm_atoms)(*q[num_qm_atoms:]) - handle = setup_qmmm(c_int(num_qm_atoms), qm_types, qm_p_x, qm_p_y, qm_p_z, - c_int(num_mm_atoms), mm_types, mm_p_x, mm_p_y, mm_p_z, mm_q, sim_box, - b"AVE/fort.4", None) - - ret = setup_callback(handle, CALLBACKFUNC(get_simulation_step_results)) - if ret != 0: - print("[ERROR] setup_callback returned {0}".format(ret)) - - ret = set_output_enabled(handle, c_int(1)) - if ret != 0: - print("[ERROR] set_output_enabled returned {0}".format(ret)) + handle = setup_qmmm(c_int(num_qm_atoms), qm_types, qm_p, + c_int(num_mm_atoms), mm_types, mm_p, mm_q, sim_box_info, + b"AVE/ffield", None) d = { + b"simulation_name": (c_char_p)(b"AVE"), b"ensemble_type": (c_char_p)(b"0"), b"nsteps": (c_char_p)(b"0"), b"dt": (c_char_p)(b"0.25"), @@ -471,37 +452,41 @@ if __name__ == '__main__': b"reposition_atoms": (c_char_p)(b"0"), b"reneighbor": (c_char_p)(b"1"), b"tabulate_long_range": (c_char_p)(b"0"), + b"energy_update_freq": (c_char_p)(b"1"), b"vlist_buffer": (c_char_p)(b"2.5"), b"nbrhood_cutoff": (c_char_p)(b"5.0"), - b"thb_cutoff": (c_char_p)(b"0.001"), + b"thb_cutoff": (c_char_p)(b"0.005"), b"hbond_cutoff": (c_char_p)(b"7.5"), b"bond_graph_cutoff": (c_char_p)(b"0.3"), - b"charge_method": (c_char_p)(b"0"), + b"charge_method": (c_char_p)(b"1"), b"cm_q_net": (c_char_p)(b"0.0"), b"cm_solver_type": (c_char_p)(b"2"), b"cm_solver_max_iters": (c_char_p)(b"200"), b"cm_solver_q_err": (c_char_p)(b"1.0e-14"), b"cm_solver_pre_comp_type": (c_char_p)(b"1"), - b"write_freq": (c_char_p)(b"1"), } for keyword, values in d.items(): ret = set_control_parameter(handle, keyword, values) if ret != 0: print("[ERROR] set_control_parameter returned {0}".format(ret)) + ret = setup_callback(handle, CALLBACKFUNC(get_simulation_step_results)) + if ret != 0: + print("[ERROR] setup_callback returned {0}".format(ret)) + + ret = set_output_enabled(handle, c_int(1)) + if ret != 0: + print("[ERROR] set_output_enabled returned {0}".format(ret)) + print("{0:24}|{1:24}|{2:24}".format("Total Energy", "Kinetic Energy", "Potential Energy")) ret = simulate(handle) if ret != 0: print("[ERROR] simulate returned {0}".format(ret)) - qm_f_x = (c_double * num_qm_atoms)() - qm_f_y = (c_double * num_qm_atoms)() - qm_f_z = (c_double * num_qm_atoms)() - mm_f_x = (c_double * num_mm_atoms)() - mm_f_y = (c_double * num_mm_atoms)() - mm_f_z = (c_double * num_mm_atoms)() - ret = get_atom_forces_qmmm(handle, qm_f_x, qm_f_y, qm_f_z, mm_f_x, mm_f_y, mm_f_z) + qm_f = (c_double * (3 * num_qm_atoms))() + mm_f = (c_double * (3 * num_mm_atoms))() + ret = get_atom_forces_qmmm(handle, qm_f, mm_f) if ret != 0: print("[ERROR] get_atom_forces_qmmm returned {0}".format(ret)) @@ -512,9 +497,11 @@ if __name__ == '__main__': print("[ERROR] get_atom_charges_qmmm returned {0}".format(ret)) print("\n{0:6}|{1:24}|{2:24}|{3:24}|{4:24}".format("i", "F_x", "F_y", "F_z", "Q")) - for i, (f_x, f_y, f_z, q) in enumerate(zip(qm_f_x, qm_f_y, qm_f_z, qm_q)): - print("{0:6d} {1:24.12f} {2:24.12f} {3:24.12f} {4:24.12f}".format(i + 1, f_x, f_y, f_z, q)) - for i, (f_x, f_y, f_z, q) in enumerate(zip(mm_f_x, mm_f_y, mm_f_z, mm_q)): - print("{0:6d} {1:24.12f} {2:24.12f} {3:24.12f} {4:24.12f}".format(i + num_qm_atoms + 1, f_x, f_y, f_z, q)) + for i in range(num_qm_atoms): + print("{0:6d} {1:24.12f} {2:24.12f} {3:24.12f} {4:24.12f}".format(i + 1, + qm_f[3 * i], qm_f[3 * i + 1], qm_f[3 * i + 2], qm_q[i])) + for i in range(num_mm_atoms): + print("{0:6d} {1:24.12f} {2:24.12f} {3:24.12f} {4:24.12f}".format(i + num_qm_atoms + 1, + mm_f[3 * i], mm_f[3 * i + 1], mm_f[3 * i + 2], mm_q[i])) cleanup(handle) -- GitLab