Merge branch 'release-2018'
authorAleksei Iupinov <a.yupinov@gmail.com>
Tue, 27 Feb 2018 13:08:17 +0000 (14:08 +0100)
committerAleksei Iupinov <a.yupinov@gmail.com>
Tue, 27 Feb 2018 14:05:53 +0000 (15:05 +0100)
Conflict: multisim barrier handling in src/programs/mdrun/runner.cpp

Amended the test introduced in I16a3705a0d59a to exclude the implicit
solvent output which was disabled in Ib241555ff3d8e60.

Change-Id: Idf382c9c7ba92439097fcc9008cb9cc813daaab7

1  2 
docs/CMakeLists.txt
src/gromacs/gmxpreprocess/tests/readir.cpp
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_DefineHandlesAssignmentOnRhs.xml
src/gromacs/mdlib/update.cpp
src/programs/mdrun/runner.cpp

Simple merge
index 0000000000000000000000000000000000000000,7e032a588acbab1f2d2f4354e84835e654ba7777..95038d7d536f3e7ec5f13b1838b7add1f9dc0ebb
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,345 +1,321 @@@
 -
 -; IMPLICIT SOLVENT ALGORITHM
 -implicit-solvent         = No
 -
 -; GENERALIZED BORN ELECTROSTATICS
 -; Algorithm for calculating Born radii
 -gb-algorithm             = Still
 -; Frequency of calculating the Born radii inside rlist
 -nstgbradii               = 1
 -; Cutoff for Born radii calculation; the contribution from atoms
 -; between rlist and rgbradii is updated every nstlist steps
 -rgbradii                 = 1
 -; Dielectric coefficient of the implicit solvent
 -gb-epsilon-solvent       = 80
 -; Salt concentration in M for Generalized Born models
 -gb-saltconc              = 0
 -; Scaling factors used in the OBC GB model. Default values are OBC(II)
 -gb-obc-alpha             = 1
 -gb-obc-beta              = 0.8
 -gb-obc-gamma             = 4.85
 -gb-dielectric-offset     = 0.009
 -sa-algorithm             = Ace-approximation
 -; Surface tension (kJ/mol/nm^2) for the SA (nonpolar surface) part of GBSA
 -; The value -1 will set default value for Still/HCT/OBC GB-models.
 -sa-surface-tension       = -1
+ <?xml version="1.0"?>
+ <?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+ <ReferenceData>
+   <Bool Name="Error parsing mdp file">false</Bool>
+   <String Name="OutputMdpFile">
+ ; VARIOUS PREPROCESSING OPTIONS
+ ; Preprocessor information: use cpp syntax.
+ ; e.g.: -I/home/joe/doe -I/home/mary/roe
+ include                  = 
+ ; e.g.: -DPOSRES -DFLEXIBLE (note these variable names are case sensitive)
+ define                   = -DBOOL -DVAR=VALUE
+ ; RUN CONTROL PARAMETERS
+ integrator               = md
+ ; Start time and timestep in ps
+ tinit                    = 0
+ dt                       = 0.001
+ nsteps                   = 0
+ ; For exact run continuation or redoing part of a run
+ init-step                = 0
+ ; Part index is updated automatically on checkpointing (keeps files separate)
+ simulation-part          = 1
+ ; mode for center of mass motion removal
+ comm-mode                = Linear
+ ; number of steps for center of mass motion removal
+ nstcomm                  = 100
+ ; group(s) for center of mass motion removal
+ comm-grps                = 
+ ; LANGEVIN DYNAMICS OPTIONS
+ ; Friction coefficient (amu/ps) and random seed
+ bd-fric                  = 0
+ ld-seed                  = -1
+ ; ENERGY MINIMIZATION OPTIONS
+ ; Force tolerance and initial step-size
+ emtol                    = 10
+ emstep                   = 0.01
+ ; Max number of iterations in relax-shells
+ niter                    = 20
+ ; Step size (ps^2) for minimization of flexible constraints
+ fcstep                   = 0
+ ; Frequency of steepest descents steps when doing CG
+ nstcgsteep               = 1000
+ nbfgscorr                = 10
+ ; TEST PARTICLE INSERTION OPTIONS
+ rtpi                     = 0.05
+ ; OUTPUT CONTROL OPTIONS
+ ; Output frequency for coords (x), velocities (v) and forces (f)
+ nstxout                  = 0
+ nstvout                  = 0
+ nstfout                  = 0
+ ; Output frequency for energies to log file and energy file
+ nstlog                   = 1000
+ nstcalcenergy            = 100
+ nstenergy                = 1000
+ ; Output frequency and precision for .xtc file
+ nstxout-compressed       = 0
+ compressed-x-precision   = 1000
+ ; This selects the subset of atoms for the compressed
+ ; trajectory file. You can select multiple groups. By
+ ; default, all atoms will be written.
+ compressed-x-grps        = 
+ ; Selection of energy groups
+ energygrps               = 
+ ; NEIGHBORSEARCHING PARAMETERS
+ ; cut-off scheme (Verlet: particle based cut-offs, group: using charge groups)
+ cutoff-scheme            = Verlet
+ ; nblist update frequency
+ nstlist                  = 10
+ ; ns algorithm (simple or grid)
+ ns-type                  = Grid
+ ; Periodic boundary conditions: xyz, no, xy
+ pbc                      = xyz
+ periodic-molecules       = no
+ ; Allowed energy error due to the Verlet buffer in kJ/mol/ps per atom,
+ ; a value of -1 means: use rlist
+ verlet-buffer-tolerance  = 0.005
+ ; nblist cut-off        
+ rlist                    = 1
+ ; long-range cut-off for switched potentials
+ ; OPTIONS FOR ELECTROSTATICS AND VDW
+ ; Method for doing electrostatics
+ coulombtype              = Cut-off
+ coulomb-modifier         = Potential-shift-Verlet
+ rcoulomb-switch          = 0
+ rcoulomb                 = 1
+ ; Relative dielectric constant for the medium and the reaction field
+ epsilon-r                = 1
+ epsilon-rf               = 0
+ ; Method for doing Van der Waals
+ vdw-type                 = Cut-off
+ vdw-modifier             = Potential-shift-Verlet
+ ; cut-off lengths       
+ rvdw-switch              = 0
+ rvdw                     = 1
+ ; Apply long range dispersion corrections for Energy and Pressure
+ DispCorr                 = No
+ ; Extension of the potential lookup tables beyond the cut-off
+ table-extension          = 1
+ ; Separate tables between energy group pairs
+ energygrp-table          = 
+ ; Spacing for the PME/PPPM FFT grid
+ fourierspacing           = 0.12
+ ; FFT grid size, when a value is 0 fourierspacing will be used
+ fourier-nx               = 0
+ fourier-ny               = 0
+ fourier-nz               = 0
+ ; EWALD/PME/PPPM parameters
+ pme-order                = 4
+ ewald-rtol               = 1e-05
+ ewald-rtol-lj            = 0.001
+ lj-pme-comb-rule         = Geometric
+ ewald-geometry           = 3d
+ epsilon-surface          = 0
++implicit-solvent         = no
+ ; OPTIONS FOR WEAK COUPLING ALGORITHMS
+ ; Temperature coupling  
+ tcoupl                   = No
+ nsttcouple               = -1
+ nh-chain-length          = 10
+ print-nose-hoover-chain-variables = no
+ ; Groups to couple separately
+ tc-grps                  = 
+ ; Time constant (ps) and reference temperature (K)
+ tau-t                    = 
+ ref-t                    = 
+ ; pressure coupling     
+ pcoupl                   = No
+ pcoupltype               = Isotropic
+ nstpcouple               = -1
+ ; Time constant (ps), compressibility (1/bar) and reference P (bar)
+ tau-p                    = 1
+ compressibility          = 
+ ref-p                    = 
+ ; Scaling of reference coordinates, No, All or COM
+ refcoord-scaling         = No
+ ; OPTIONS FOR QMMM calculations
+ QMMM                     = no
+ ; Groups treated Quantum Mechanically
+ QMMM-grps                = 
+ ; QM method             
+ QMmethod                 = 
+ ; QMMM scheme           
+ QMMMscheme               = normal
+ ; QM basisset           
+ QMbasis                  = 
+ ; QM charge             
+ QMcharge                 = 
+ ; QM multiplicity       
+ QMmult                   = 
+ ; Surface Hopping       
+ SH                       = 
+ ; CAS space options     
+ CASorbitals              = 
+ CASelectrons             = 
+ SAon                     = 
+ SAoff                    = 
+ SAsteps                  = 
+ ; Scale factor for MM charges
+ MMChargeScaleFactor      = 1
+ ; SIMULATED ANNEALING  
+ ; Type of annealing for each temperature group (no/single/periodic)
+ annealing                = 
+ ; Number of time points to use for specifying annealing in each group
+ annealing-npoints        = 
+ ; List of times at the annealing points for each group
+ annealing-time           = 
+ ; Temp. at each annealing point, for each group.
+ annealing-temp           = 
+ ; GENERATE VELOCITIES FOR STARTUP RUN
+ gen-vel                  = no
+ gen-temp                 = 300
+ gen-seed                 = -1
+ ; OPTIONS FOR BONDS    
+ constraints              = none
+ ; Type of constraint algorithm
+ constraint-algorithm     = Lincs
+ ; Do not constrain the start configuration
+ continuation             = no
+ ; Use successive overrelaxation to reduce the number of shake iterations
+ Shake-SOR                = no
+ ; Relative tolerance of shake
+ shake-tol                = 0.0001
+ ; Highest order in the expansion of the constraint coupling matrix
+ lincs-order              = 4
+ ; Number of iterations in the final step of LINCS. 1 is fine for
+ ; normal simulations, but use 2 to conserve energy in NVE runs.
+ ; For energy minimization with constraints it should be 4 to 8.
+ lincs-iter               = 1
+ ; Lincs will write a warning to the stderr if in one step a bond
+ ; rotates over more degrees than
+ lincs-warnangle          = 30
+ ; Convert harmonic bonds to morse potentials
+ morse                    = no
+ ; ENERGY GROUP EXCLUSIONS
+ ; Pairs of energy groups for which all non-bonded interactions are excluded
+ energygrp-excl           = 
+ ; WALLS                
+ ; Number of walls, type, atom types, densities and box-z scale factor for Ewald
+ nwall                    = 0
+ wall-type                = 9-3
+ wall-r-linpot            = -1
+ wall-atomtype            = 
+ wall-density             = 
+ wall-ewald-zfac          = 3
+ ; COM PULLING          
+ pull                     = no
+ ; AWH biasing          
+ awh                      = no
+ ; ENFORCED ROTATION    
+ ; Enforced rotation: No or Yes
+ rotation                 = no
+ ; Group to display and/or manipulate in interactive MD session
+ IMD-group                = 
+ ; NMR refinement stuff 
+ ; Distance restraints type: No, Simple or Ensemble
+ disre                    = No
+ ; Force weighting of pairs in one distance restraint: Conservative or Equal
+ disre-weighting          = Conservative
+ ; Use sqrt of the time averaged times the instantaneous violation
+ disre-mixed              = no
+ disre-fc                 = 1000
+ disre-tau                = 0
+ ; Output frequency for pair distances to energy file
+ nstdisreout              = 100
+ ; Orientation restraints: No or Yes
+ orire                    = no
+ ; Orientation restraints force constant and tau for time averaging
+ orire-fc                 = 0
+ orire-tau                = 0
+ orire-fitgrp             = 
+ ; Output frequency for trace(SD) and S to energy file
+ nstorireout              = 100
+ ; Free energy variables
+ free-energy              = no
+ couple-moltype           = 
+ couple-lambda0           = vdw-q
+ couple-lambda1           = vdw-q
+ couple-intramol          = no
+ init-lambda              = -1
+ init-lambda-state        = -1
+ delta-lambda             = 0
+ nstdhdl                  = 50
+ fep-lambdas              = 
+ mass-lambdas             = 
+ coul-lambdas             = 
+ vdw-lambdas              = 
+ bonded-lambdas           = 
+ restraint-lambdas        = 
+ temperature-lambdas      = 
+ calc-lambda-neighbors    = 1
+ init-lambda-weights      = 
+ dhdl-print-energy        = no
+ sc-alpha                 = 0
+ sc-power                 = 1
+ sc-r-power               = 6
+ sc-sigma                 = 0.3
+ sc-coul                  = no
+ separate-dhdl-file       = yes
+ dhdl-derivatives         = yes
+ dh_hist_size             = 0
+ dh_hist_spacing          = 0.1
+ ; Non-equilibrium MD stuff
+ acc-grps                 = 
+ accelerate               = 
+ freezegrps               = 
+ freezedim                = 
+ cos-acceleration         = 0
+ deform                   = 
+ ; simulated tempering variables
+ simulated-tempering      = no
+ simulated-tempering-scaling = geometric
+ sim-temp-low             = 300
+ sim-temp-high            = 300
+ ; Ion/water position swapping for computational electrophysiology setups
+ ; Swap positions along direction: no, X, Y, Z
+ swapcoords               = no
+ adress                   = no
+ ; User defined thingies
+ user1-grps               = 
+ user2-grps               = 
+ userint1                 = 0
+ userint2                 = 0
+ userint3                 = 0
+ userint4                 = 0
+ userreal1                = 0
+ userreal2                = 0
+ userreal3                = 0
+ userreal4                = 0
+ ; Electric fields
+ ; Format for electric-field-x, etc. is: four real variables:
+ ; amplitude (V/nm), frequency omega (1/ps), time for the pulse peak (ps),
+ ; and sigma (ps) width of the pulse. Omega = 0 means static field,
+ ; sigma = 0 means no pulse, leaving the field to be a cosine function.
+ electric-field-x         = 0 0 0 0
+ electric-field-y         = 0 0 0 0
+ electric-field-z         = 0 0 0 0
+ </String>
+ </ReferenceData>
Simple merge
index c8d8b54c4c9eda1825f182f441e61f364640e10c,9c6f463ae595f159d0ca5175fc26529796972cca..67824e3258e4705a9d4c2312dab72175a0124469
@@@ -1039,9 -1040,16 +1039,16 @@@ int Mdrunner::mdrunner(
      {
          MPI_Barrier(cr->mpi_comm_mysim);
      }
 -    if (MULTISIM(cr))
 +    if (isMultiSim(ms))
      {
-         MPI_Barrier(ms->mpi_comm_masters);
+         if (MASTER(cr))
+         {
 -            MPI_Barrier(cr->ms->mpi_comm_masters);
++            MPI_Barrier(ms->mpi_comm_masters);
+         }
+         /* We need another barrier to prevent non-master ranks from contiuing
+          * when an error occured in a different simulation.
+          */
+         MPI_Barrier(cr->mpi_comm_mysim);
      }
  #endif