Giter Site home page Giter Site logo

ssagesproject / ssages Goto Github PK

View Code? Open in Web Editor NEW
80.0 16.0 28.0 69.18 MB

Software Suite for Advanced General Ensemble Simulations

License: GNU General Public License v3.0

CMake 3.11% Python 2.74% C++ 93.81% Shell 0.34%
enhanced-sampling collective-variables lammps gromacs hoomd-blue scientific-machine-learning qbox miccom

ssages's Introduction

Documentation   Cite SSAGES

SSAGES (Software Suite for Advanced General Ensemble Simulations) is an open-source, engine agnostic, C++11 based advanced sampling package. It is designed to be easy to use, extendable and extremely versatile. It is currently pre-beta, meaning that there are many rough edges, but we are working rapidly to expand its features and fix any bugs. Keep an eye on this page for future updates and see below on how to contribute!

What's New (v0.9.3)

  • Numerous improvements to the GROMACS hook
  • New Qbox examples
  • Support for newer LAMMPS versions
  • Engine version is now logged
  • ANN and CFF schemas now include a CVs section
  • Source cleanup: Fetching external dependencies at build time
  • Other minor source cleanup changes

To view the full changelog history, refer to HISTORY.

Features

SSAGES currently works with multiple molecular dynamics engines. It contains a variety of collective variables (CVs) and advanced sampling methods.

Highlights

  • Engine agnostic framework
  • Simple JSON input file syntax
  • Easy to add new CVs
  • Easy to add new methods
  • Much more!

Engines

  • GROMACS 5.1.x, 2016.x, 2018.x
  • LAMMPS (Most recent versions)
  • OpenMD (2.5+)
  • QBox (1.63+)

CVs

  • Artificial Neural Network (as a function of group positions)
  • Atom group coordinate
  • Atom group position
  • Atom group separation
  • Bend angle
  • Box volume
  • Components of gyration tensor
  • Pairwise kernel (coordination number, nearest neighbors)
  • Polymer Rouse modes
  • Root-mean-square deviation (RMSD)
  • Secondary structure (alpha, anti/parallel beta sheet) RMSD
  • Torsional angle

Methods

  • Adaptive biasing force
  • Artificial neural network sampling
  • Basis function sampling
  • Combined Force–Frequency Sampling
  • Metadynamics
  • Umbrella sampling
  • Finite temperature string
  • Nudged elastic band
  • Swarm of trajectories
  • Forward flux sampling

Installation

The first step is to clone the repository locally.

$ git clone https://github.com/SSAGESproject/SSAGES.git

SSAGES uses a CMake build system. It also requires the use of a support MD engine. For example, to compile with LAMMPS, execute the following

$ cd SSAGES
$ mkdir build && cd build
$ cmake -DLAMMPS_SRC=/path/to/lammps/src ..
$ make

This will build a SSAGES executable which will reside in the build directory.

If you want to use a specific compiler (or if your default compiler is not supported), set the C and C++ compilers with CMAKE_C_COMPILER and CMAKE_CXX_COMPILER, respectively. For example, to use gcc/g++, replace the CMake command with

$ cmake -DLAMMPS_SRC=/path/to/lammps/src -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..

If you want to compile and run unit and integration tests, replace the cmake command in the example above with

$ cmake -DLAMMPS_SRC=/path/to/lammps/src -DBUILD_TESTS=ON ..

MPI

A requisite underlying MPI library also required to run SSAGES. On recent Debian based systems using OpenMPI, the requirement can be installed via:

$ sudo apt-get install libopenmpi-dev openmpi-bin

For more detail on the build system, please check the documentation.

To build the documentation, refer to Documentation README.

Known issues

SSAGES is currently in pre-beta. That means there may be known issues that are not yet resolved. Major issues are listed here.

  • Restarts are not fully functioning for all methods.

Contributing

Feel free to fork this project on GitHub. Any pull-requests, feature requests or other form of contributions are welcome.

ssages's People

Contributors

azguo avatar bdice avatar bsikora avatar cbezik avatar emyl3196 avatar gibertif avatar hadi-ramezani avatar hsidky avatar jonathankwhitmer avatar lequieu avatar mquevill avatar pabloferz avatar sesevgen avatar shijiale0609 avatar weihelloworld avatar xmwebb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ssages's Issues

How to get the free energy value for FFS method

Dear SSAGES Developers,

I am a graduate student studying for a master's degree.
I am using the FFS method to study droplet wetting behavior on rough surfaces and would like to be able to get the free energy values during droplet wetting.

Please allow me to ask some question.
Could you tell me how to output the free energy value for FFS method?
Alternatively, is there any other method or software that can help me get the free energy value for the FFS method?

I would appreciate if you answer my question.

Sincerely yours,
Zheng

Build error

Errors with clang-6 compiler:

/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.h:52:25: error: implicit instantiation of undefined template 'std::__1::array<double, 2>'
                std::array<double, 2> bounds_;          
                                      ^
/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:47:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::AngleCV *'
                        return AngleCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:49:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::BoxVolumeCV *'
                        return BoxVolumeCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:51:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::GyrationTensorCV *'
                        return GyrationTensorCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:53:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::PairwiseCV *'
                        return PairwiseCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:55:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::ParticleCoordinateCV *'
                        return ParticleCoordinateCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:57:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::ParticlePositionCV *'
                        return ParticlePositionCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:59:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::ParticleSeparationCV *'
                        return ParticleSeparationCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:61:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::RouseModeCV *'
                        return RouseModeCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:63:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::TorsionalCV *'
                        return TorsionalCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:65:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::AlphaRMSDCV *'
                        return AlphaRMSDCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:67:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::ParallelBetaRMSDCV *'
                        return ParallelBetaRMSDCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/science/ssages/work/SSAGES-public-0.8.3-alpha/src/CVs/CollectiveVariable.cpp:69:11: error: cannot initialize return object of type 'SSAGES::CollectiveVariable *' with an rvalue of type 'SSAGES::AntiBetaRMSDCV *'
                        return AntiBetaRMSDCV::Build(json, path);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error while building with Gromacs

Hi,
I am building SSAGES with Gromacs (by installing Gromacs along with SSAGES) and getting the following error:

Cloning into 'gromacs-download'...
fatal: unable to connect to git.gromacs.org:
git.gromacs.org[0: 130.237.25.132]: errno=Connection refused
git.gromacs.org[1: 2001:6b0:1:1190:5054:ff:fed2:2481]: errno=Network is unreachable

I tried opening git.gromacs.org in my browser (without as well as without proxy) and it says the requested URL cannot be retrieved. I think this link has been changed which needs to be updated in one of the installation scripts of SSAGES.

If Gromacs is already installed, then there's no problem in building the SSAGES executable file.

Please look into this.

Thanks a lot.

Running the FFS example fails

When I try to run the FFS example, the output file is empty and I get the following:

Please provide an initial configuration in State A. Exiting ....
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 1

Also, I am using GROMACS.

License of SSAGES

I was reading the SSAGES documentation and found here that “SSAGES is distributed under the GNU Lesser General Public License, either version 3 (LGPLv3) or, at your option, any later version.” However, the code in this repository seems to have been released under GPL-3.0, as shown in this license file.

I guess the problem is in the documentation, I'm not sure, but I wanted to point it out.

On the subject of the license. Has it been considered releasing the SSAGES code under a more permisive license other than GPL-3.0 (or LGPLv3)?

How to test convergence of ABF simlation

Hi,
I am running an Adaptive Biasing Force (ABF) simulation of alanine dipeptide in water with two walkers. I can plot the final free energy profile after simulation is over but I do not know how to test the convergence of the ABF method with simulation time. Is there any command or code available like in plumed software where you can plot the free energy difference between two minima.

Thanks

How to get the free energy value for FFS method

Dear SSAGES Developers,

I am a graduate student studying for a master's degree.
I am using the FFS method in SSAGES software to study droplet wetting behavior on rough surfaces and would like to be able to get the free energy values during droplet wetting.

Please allow me to ask some question.
Could you tell me how to output the free energy value for FFS method?
Alternatively, is there any other method or software that can help me get the free energy value for the FFS method?

I would appreciate if you answer my question.

Sincerely yours,
Zheng

Relative orientation between two molecules as a CV

I am trying to get the Standard Free energy for the binding process of two molecules. In my system the relative orientation and the COM distance are the most obvious CVs. I do not see an obvious way of defining the relative orientation. When analyzing MD trajectories of my system I use the dot product between unitary vectors defining the orientation of each molecule. Is there a direct way of doing something similar with the currently implemented CVs?

Can not use all cpus for one walker ABF method

Dear Sir,

  1. I am trying to run a one walker ABF on ADP system. My system is consisting of 1 socket, 4 cores per socket and 2 threads per core (1x4x2=8 CPUs). But when I run the job using "ssages 1walker.json" it uses only 3 CPUs (from top command %CPU). How can I use all CPUs to get good performance?

  2. When I run the same job on a system consisting of 2 sockets, 6 cores per socket, 2 threads per core (2x6x2=24 CPUs) it gives the following error:

Fatal error:
Your choice of 1 MPI rank and the use of 24 total threads leads to the use of
24 OpenMP threads, whereas we expect the optimum to be with more MPI ranks with
1 to 6 OpenMP threads. If you want to run with this many OpenMP threads, specify
the -ntomp option. But we suggest to increase the number of MPI ranks.
  1. 2 walker job is running perfectly fine with full efficiency with the command mpirun -np 24 2walker.json on this system.

  2. How to know the convergence of ABF method using this software? Does the simulation terminate automatically after it converges? If not, how to extend the simulation using this software?

  3. How to extract the structures of the free energy minima from the trajectory? As we do not have any file which provides collective variable values to be printed along the simulation time, which is helpful to get the frame numbers in extracting the structures corresponding to particular minimum. Like COLVAR file in PLUMED Software.

Build Issues with M3 Chip

I am having issues compiling SSAGES when I run the make. My cmake line is cmake -DGROMACS=2018.3 .. -DGMX_BUILD_OWN_FFTW=ON -DGMX_SIMD=AVX2_256 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++. I am building on an iMac with an M3 chip. With the current cmake line, I run into issues regarding AVX support. Removing the -DGMX_SIMD=AVX2_256 results in errors relating to hwloc support, with I believe is related to the version of GROMACS. How do I go about resolving this?

Thank you! (and hello from Ashely Guo's lab)

Forward flux sampling crashing when N_walker < N_procs

Dear SSAGES Developers,

I started with the FFS tutorial in /Examples/User/ForwardFlux/LAMMPS/Langevin/ and get a fatal error with missing atoms when the number of processors is larger (but divisible) by the number of walkers, so e.g. 1 walker on 2 processes.

The error occurs because of line #354 in /src/Methods/ForwardFlux.cpp. The default atom index, set in line #323 to be -1, is not overwritten, so is negative as the atom cannot be found.

There is a comment in line #342 and below reading
//FIXME: try using snapshot->GetLocalIndex()
//copied from Ben's previous implementation
Does this suggest this has been taken from another implementation and perhaps doesn't work as expected?

I attach a zip archive with all input files, etc for a run with 1 walker on 2 MPI-tasks, which should allow you to reproduce the issue. I modified the example in the tutorial in a logical way to decrease the number of walkers from two to one. I don't think I made a mistake here, but please check this first. It is not obvious to me what could have gone wrong.

I also attach the stdout from the configuration and installation step, which should allow you to see which MPI-library etc I have used. I could reproduce the issue on a completely different system. In all instances LAMMPS works fine in parallel and SSAGES was built with a copy of that distribution.

I'm happy to help with the fix, but would require more input as I'm obviously not very familiar with the code. I understand how difficult it is to find the time to help others as I'm doing the same on a number of projects. So your help and time is very much appreciated.

Best wishes,
Oliver

1walker2proc.zip
cmake_config.txt
build.txt

How can I carry out well-tempered Metadynamics using SSAGES?

Dear SSAGES Developers,

From the website of SSAGES, I know that, currently, we cannot use the adaptive-gaussian biases in the metadynamics simulation. In order to calculate the free energy more accurate, it is better to implement the well-tempered or adaptive gaussians metadynamics, where the hills should be lower as the wells in the free energy landscape have been filled. What can I do for obtaining the accurate free energy?

A practical solution may be that I change the code by controling the height of the added hills using the following formula:
W = w_0*exp(-V(s)/V_max),
where W is the current hill that depend on current bias potential V(s); V_max is the set maximum bias potential.

On the other hand, I find SSAGES has a new method named Artificial Neural Network, which also can obtain the free energy. I do not know its efficiency and accuracy, compared with metadynamics.

Thanks!

How to output the free energy value for each image for FTS method

Dear SSAGES Developers,

I'm Yuki ASAZU.
I'm a master course student in Osaka university Graduate School of Engineering Science.
Now I'm studying mechanical behaviors of metals with an atomistic simulation.

I would like to use the finite temperature string method (FTS) implemented in SSAGES.
I think FTS is a useful method for exploring reaction pathways at finite temperatures and your work is very interesting.

About FTS in LAMMPS, please allow me to ask a technical question.
Could you tell me how to output the free energy value for each image along the path?
I couldn't find a manual about it.

I started with the FTS tutorial in /Examples/User/FTS/ADP but only the coordinates of each image in CV space were output into “node-00xx.log” files. I would like to output the free energy value for each image into “node-00xx.log” files or some files. Should I write some commands in the LAMMPS input file or the FTS JSON input file?

I would appreciate if you answer my question.

Sincerely yours,
Yuki ASAZU

PBC issue in particle separation

I have been doing several tests with ABF&ANN + Particle separation as CV, with different number of walkers distributed in different regions of the expected PMF landscape (I have previously got the PMF from umbrella sampling). The representation of the CV as a function of time for each walker shows a lot of sharp jumps as typically appear when PBCs are not corrected (see image below). I guess the bias sampling in your implementation of these algorithms does not use the CV values written in the node-x files (default name of the CV per walker) but in that case the corrected values should be written in the files so that the user can effectively check the evolution of the CVs. Am I doing anything wrong?
nodes

Building CMake 3.0.2

Working with CMake version 3.0.2 I get the following problem:

CMake Error at CMakeLists.txt:121 (CONFIGURE_ENGINE):
Unknown CMake command "CONFIGURE_ENGINE".

You request CMake version 2.8.8, so I guess it should work in principle.

Build Problem

By trying to build SSAGES with gromacs (automatic download & configuration) an error occured.

I've used

cmake -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DCMAKE_INSTALL_PREFIX=../install ..
cmake finished successfully, see attached CMakeCache.txt for details. Making fails with following error:


[100%] Building CXX object CMakeFiles/ssages.dir/src/main.cpp.o
/cm/local/apps/gcc/5.2.0/bin/g++    -ffast-math -pthread -std=c++11 -O3 -DNDEBUG -I/cm/shared/apps/openmpi/gcc/64/1.10.1/include -I/usr/product/parallel/boost/gcc/1.60.0/include -I/usr/users/xxx/SSAGES-public/src -I/usr/users/xxx/SSAGES-public/include -I/usr/users/xxx/SSAGES-public/build -I/usr/users/xxx/SSAGES-public/build/schema -I/src    -O3 -o CMakeFiles/ssages.dir/src/main.cpp.o -c /usr/users/xxx/SSAGES-public/src/main.cpp
In file included from /usr/users/xxx/SSAGES-public/src/Simulations/Simulation.h:38:0,
                 from /usr/users/xxx/SSAGES-public/src/main.cpp:28:
/usr/users/xxx/SSAGES-public/src/Drivers/GromacsDriver.h:23:20: fatal error: gmxpre.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/ssages.dir/src/main.cpp.o] Error 1
make[2]: Leaving directory `/home/uni08/xxx/SSAGES-public/build'
make[1]: *** [CMakeFiles/ssages.dir/all] Error 2
make[1]: Leaving directory `/home/uni08/xxx/SSAGES-public/build'
make: *** [all] Error 2

I think your automatic gromacs setup failed.

File Edit Options Buffers Tools Text Help                                                                                                                                                     
  1# This is the CMakeCache file.                                                                                                                                                             
  2# For build in directory: /usr/users/xxx/SSAGES-public/build                                                                                                                               
  3# It was generated by CMake: /usr/bin/cmake                                                                                                                                                
  4# You can edit this file to change values found and used by cmake.                                                                                                                         
  5# If you do not want to change any of the values, simply exit the editor.                                                                                                                  
  6# If you do want to change a value, simply edit, save, and exit the editor.                                                                                                                
  7# The syntax for the file is as follows:                                                                                                                                                   
  8# KEY:TYPE=VALUE                                                                                                                                                                           
  9# KEY is the name of a variable in the cache.                                                                                                                                              
 10# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!.                                                                                                                        
 11# VALUE is the current value for the KEY.                                                                                                                                                  
 12                                                                                                                                                                                           
 13########################                                                                                                                                                                   
 14# EXTERNAL cache entries                                                                                                                                                                   
 15########################                                                                                                                                                                   
 16                                                                                                                                                                                           
 17//The directory containing a CMake configuration file for Boost.                                                                                                                           
 18Boost_DIR:PATH=Boost_DIR-NOTFOUND                                                                                                                                                          
 19                                                                                                                                                                                           
 20//Path to a file.                                                                                                                                                                          
 21Boost_INCLUDE_DIR:PATH=/usr/product/parallel/boost/gcc/1.60.0/include                                                                                                                      
 22                                                                                                                                                                                           
 23//Boost library directory                                                                                                                                                                  
 24Boost_LIBRARY_DIR:PATH=/usr/product/parallel/boost/gcc/1.60.0/lib                                                                                                                          
 25                                                                                                                                                                                           
 26//Boost mpi library (debug)                                                                                                                                                                
 27Boost_MPI_LIBRARY_DEBUG:FILEPATH=/usr/product/parallel/boost/gcc/1.60.0/lib/libboost_mpi.so                                                                                                
 28                                                                                                                                                                                           
 29//Boost mpi library (release)                                                                                                                                                              
 30Boost_MPI_LIBRARY_RELEASE:FILEPATH=/usr/product/parallel/boost/gcc/1.60.0/lib/libboost_mpi.so                                                                                              
 31                                                                                                                                                                                           
 32//Boost serialization library (debug)                                                                                                                                                      
 33Boost_SERIALIZATION_LIBRARY_DEBUG:FILEPATH=/usr/product/parallel/boost/gcc/1.60.0/lib/libboost_serialization.so                                                                            
 34                                                                                                                                                                                           
 35//Boost serialization library (release)                                                                                                                                                    
 36Boost_SERIALIZATION_LIBRARY_RELEASE:FILEPATH=/usr/product/parallel/boost/gcc/1.60.0/lib/libboost_serialization.so                                                                          
 37                                                                                                                                                                                           
 38//Path to a program.                                                                                                                                                                       
 39CMAKE_AR:FILEPATH=/usr/bin/ar                                                                                                                                                              
 40                                                                                                                                                                                           
 41//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or                                                                                                                           
 42// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.                                                                                                                            
 43CMAKE_BUILD_TYPE:STRING=                                                                                                                                                                   
 44                                                                                                                                                                                           
 45//Enable/Disable color output during build.                                                                                                                                                
 46CMAKE_COLOR_MAKEFILE:BOOL=ON                                                                                                                                                               
 47                                                                                                                                                                                           
 48//CXX compiler.                                                                                                                                                                            
 49CMAKE_CXX_COMPILER:FILEPATH=/cm/local/apps/gcc/5.2.0/bin/g++      

errors when running example scripts for HOOMD-Blue

Hi,

I was running the example scripts for HOOMD-Blue umbrella sampling and I am getting the following error.

******ubuntu-20.04.4.sif I have no name!@cs001 HOOMD]$ mpiexec --mca btl self -np 12 /path-to-SSAGES/ssages multiwalker_umbrella_input.json

HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
Installing SSAGES HOOMD-blue hook.
HOOMD-blue is running on the CPU
HOOMD-blue is running on the CPU
Installing SSAGES HOOMD-blue hook.
HOOMD-blue v2.9.3 SINGLE MPI SSE SSE2
Compiled: 09/27/22
Copyright (c) 2009-2019 The Regents of the University of Michigan.

You are using HOOMD-blue. Please cite the following:

  • J A Anderson, J Glaser, and S C Glotzer. "HOOMD-blue: A Python package for
    high-performance molecular dynamics and hard particle Monte Carlo
    simulations", Computational Materials Science 173 (2020) 109363

Ranks 0-11: HOOMD-blue is running on the CPU
notice(2): -- Neighborlist exclusion statistics -- :
notice(2): Particles with 7 exclusions : 6
notice(2): Particles with 10 exclusions : 6
notice(2): Particles with 13 exclusions : 2
notice(2): Neighbors included by diameter : no
notice(2): Neighbors excluded when in the same body: no

MPI_ABORT was invoked on rank 6 in communicator MPI_COMM_WORLD
with errorcode -1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.******

Can I please know how I can resolve this? Please let me know if I need to provide anything else regarding this.

Thanking you,
Sanjib

Restart Problem

Dear SSAGES developers,

I have used the example SSAGES/Examples/User/ABF/Qbox-CH2Cl-CH2Cl/ for restart calculation test, but there is an error that terminates the simulation, as partially shown in the figure.Is it something wrong with the restart files or other something else? BTW, the restart calculations both in previous folder and a new folder were tested, and the problems are the same. Thanks!

Error messages
image

For input.json, "restart" is changed to "true"
image

For md.i, I added "load restart_0.xml"
image

Script command
mpirun qb -server ssages_in_0 ssages_out_0 &
mpirun /home/**/apps/SSAGES/build/ssages input.json &
wait

Unable to produce the Rouse modes free energy curve using ABF

I am trying to reproduce the Rouse modes free energy curve using ABF. I have already run the standard all-atom simulation and plotted the simple Boltzmann inverted free energy of the first Rouse mode. The plots have been pasted below:
f_x1

Now, I am trying to run the ABF calculation for the simulation, using the same LAMMPS settings and data file I used for creating the plots I have posted above. I am running four independent simulation for 5e+6 timesteps. My JSON file for ssages is:

{
        "logger" :
        {
                "output_file" :
                [
                        "node-0",
                        "node-1",
                        "node-2",
                        "node-3"
                ]
        },
        "walkers": 4,
        "input": ["in.ssages.gaussianpolymer1", "in.ssages.gaussianpolymer2", "in.ssages.gaussianpolymer3", "in.ssages.gaussianpolymer4"],
        "CVs":
        [
                {
                        "type": "RouseMode",
                        "mode": 1,
                        "groups": [
                                        [1],[2],[3],[4],[5],[6],[7],
                                        [8],[9],[10],[11],[12],[13],[14],
                                        [15],[16],[17],[18],[19],[20],[21]
                                ]
                }
        ],
        "methods": [
                {
                        "type": "ABF",
                        "cvs": [0],
                        "CV_lower_bounds": [0.03],
                        "CV_upper_bounds": [20],
                        "CV_bins": [100],
                        "CV_restraint_minimums": [0.001],
                        "CV_restraint_maximums": [20.5],
                        "CV_isperiodic": [false],
                        "CV_restraint_spring_constants": [1000],
                        "timestep": 0.1,
                        "minimum_count": 200,
                        "output_file": "Force_ABF.out",
                        "output_frequency": 1000,
                        "unit_conversion": 1,
                        "frequency": 1
                }
        ]
}

The free energy curve i obtained after running the integrator ABF_integrator.py -i Force_ABF.out -o ABF -p False -n 1000 was:
RouseMode1_integrated

This is entirely off. I don't quite understand what I am doing wrong. What is the method for plotting the ABF curve for the first Rouse Mode?

If it is of any use, my LAMMPS unbiased MD settings and data files (with a .txt extension) have been posted here.

I just wanted so say: I appreciate all the help you have provided here!!
sys.gaussianpolymer.data.txt
sys.gaussianpolymer.settings.txt

Error in `make` while trying to get SSAGES executable

I am following the procedure laid out on this page.

I am using the LAMMPS version released on Sep 29, 2021 with the ASPHERE, EXTRA_MOLECULE, and CLASS2 package with icc and icpc as my C and CXX compilers.

However, as I try to make SSAGES, I get the following error:

[ 42%] Building CXX object CMakeFiles/libssages.dir/hooks/lammps/fix_ssages.cpp.o
/home/user/software/SSAGES/hooks/lammps/fix_ssages.cpp(34): error: identifier "virial_flag" is undefined
  		virial_flag = 1;
  		^

/home/user/software/SSAGES/hooks/lammps/fix_ssages.cpp(87): error: identifier "THERMO_ENERGY" is undefined
  		mask |= THERMO_ENERGY;
  		        ^

compilation aborted for /home/user/software/SSAGES/hooks/lammps/fix_ssages.cpp (code 2)
make[2]: *** [CMakeFiles/libssages.dir/build.make:76: CMakeFiles/libssages.dir/hooks/lammps/fix_ssages.cpp.o] Error 2
make[1]: *** [CMakeFiles/Makefile2:370: CMakeFiles/libssages.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

How do I fix this issue? Is there an issue with virial_flag? I would appreciate any advice you have for me.

Error building with gromacs

I have sucessfully installed and tested SSAGES with LAMMPS. Then I tried with GROMACS using a local source code v 2018 and also the default option -DGROMACS=YES but I am getting some errors that I am not able to solve. I am copying below the last lines of the cmake output. Any idea on how to solve this?

[ 39%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/conformation-utilities.c.o
[ 39%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/copyrite.cpp.o
[ 40%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/disre.c.o
[ 40%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/gmx_cpuid.c.o
[ 40%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/gmx_detect_hardware.cpp.o
[ 40%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/gmx_omp_nthreads.c.o
[ 40%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/gmx_thread_affinity.c.o
[ 40%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/ifunc.c.o
[ 40%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/inputrec.c.o
[ 40%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/main.cpp.o
In file included from /home/fangel/SSAGES-public/include/Eigen/Core:372:0,
                 from /home/fangel/SSAGES-public/include/Eigen/Dense:1,
                 from /home/fangel/SSAGES-public/src/types.h:21,
                 from /home/fangel/SSAGES-public/src/EventListener.h:24,
                 from /home/fangel/SSAGES-public/src/Hook.h:23,
                 from /home/fangel/SSAGES-public/hooks/gromacs/GromacsHook.h:5,
                 from /home/fangel/SSAGES-public/build/hooks/gromacs/gromacs-download-prefix/src/gromacs-download/src/gromacs/gmxlib/main.cpp:64:
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h: In function ‘Packet Eigen::internal::pmul(const Packet&, const Packet&) [with Packet = std::complex<float>]’:
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:527:36: error: invalid cast from type ‘const std::complex<float>’ to type ‘real {aka float}’
 { return std::complex<float>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                    ^
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:527:44: error: invalid cast from type ‘const std::complex<float>’ to type ‘real {aka float}’
 { return std::complex<float>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                            ^
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:527:79: error: invalid cast from type ‘const std::complex<float>’ to type ‘real {aka float}’
 { return std::complex<float>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                                                               ^
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:527:89: error: invalid cast from type ‘const std::complex<float>’ to type ‘real {aka float}’
 { return std::complex<float>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                                                                         ^
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h: In function ‘Packet Eigen::internal::pmul(const Packet&, const Packet&) [with Packet = std::complex<double>]’:
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:530:37: error: invalid cast from type ‘const std::complex<double>’ to type ‘real {aka float}’
 { return std::complex<double>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                     ^
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:530:45: error: invalid cast from type ‘const std::complex<double>’ to type ‘real {aka float}’
 { return std::complex<double>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                             ^
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:530:80: error: invalid cast from type ‘const std::complex<double>’ to type ‘real {aka float}’
 { return std::complex<double>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                                                                ^
/home/fangel/SSAGES-public/include/Eigen/src/Core/GenericPacketMath.h:530:90: error: invalid cast from type ‘const std::complex<double>’ to type ‘real {aka float}’
 { return std::complex<double>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
                                                                                          ^
src/gromacs/CMakeFiles/libgromacs.dir/build.make:5042: recipe for target 'src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/main.cpp.o' failed
make[5]: *** [src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/main.cpp.o] Error 1
CMakeFiles/Makefile2:3051: recipe for target 'src/gromacs/CMakeFiles/libgromacs.dir/all' failed
make[4]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
Makefile:182: recipe for target 'all' failed
make[3]: *** [all] Error 2
hooks/gromacs/CMakeFiles/gromacs.dir/build.make:133: recipe for target 'hooks/gromacs/gromacs/src/gromacs-stamp/gromacs-build' failed
make[2]: *** [hooks/gromacs/gromacs/src/gromacs-stamp/gromacs-build] Error 2
CMakeFiles/Makefile2:304: recipe for target 'hooks/gromacs/CMakeFiles/gromacs.dir/all' failed
make[1]: *** [hooks/gromacs/CMakeFiles/gromacs.dir/all] Error 2
Makefile:103: recipe for target 'all' failed
make: *** [all] Error 2

Build fails with gcc-11/g++-11 on MacOSX 12.3 Monterey

Building SSAGES-0.9.3-alpha for Qbox fails using gcc-11/g++-11 on MacOSX 12.3 Monterey. The build is using openmpi-4.1.2.
The cmake command is cmake -DQBOX=yes .. -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 .
The make command fails due to a missing #include <cstdio> in SAGES-0.9.3-alpha/include/mxx/common.hpp.

/Users/fgygi/software/ssages/SSAGES-0.9.3-alpha/include/mxx/common.hpp:41:5: error: 'printf' was not declared in this scope
   41 |     printf("\n[Rank %d] %s:%d: %s: Assertion `%s` failed. Aborting.\n", rank, file, line, func, cond);
      |     ^~~~~~
/Users/fgygi/software/ssages/SSAGES-0.9.3-alpha/include/mxx/common.hpp:1:1: note: 'printf' is defined in header '<cstdio>'; did you forget to '#include <cstdio'?
  +++ |+#include <cstdio>
    1 | /*

Adding that #include statement fixes the issue and the build completes.

The unstable Metadynamics simulation using lammps

Dear SSAGES Developers,

I added a new CV (Steinhardt order parameter) to SSAGES and carried out a Metadynamics simulation using lammps. Using NPT ensemble, the simulation is not stable and will break after many steps (less than 100000 steps). The system temperature always increases before the simulation break.

The output CV value is right by comparing the calculated value with the standard values of many crystalline phases. But I am not sure whether the deduced force is correct. The following is the Error imformation:

Step TotEng PotEng KinEng Press **Temp** Volume Lx Ly Lz
       0   -3366.7468   -3481.8529    115.10616    7472.1931         **1300**    11872.637       22.813       22.813       22.813
    1000    -3242.864   -3361.2629    118.39894   -4372.1207    **1337.1884**    12357.403    23.119356    23.119356    23.119356
...

  476000   -3144.3593   -3259.9841    115.62484   -1306.9965     **1305.858**    12614.993    23.278894    23.278894    23.278894
  477000    -3133.837   -3253.7667    119.92967    5327.3924    **1354.4764**     12575.77    23.254742    23.254742    23.254742
  478000   -3129.5073   -3250.0644    120.55704    4111.6205    **1361.5618**     12584.54    23.260147    23.260147    23.260147
  479000   -3145.7521    -3261.559    115.80683   -1659.5989    **1307.9133**    12623.331    23.284022    23.284022    23.284022
  480000   -3095.6606   -3221.6845    126.02384     4605.021    **1423.3034**    12776.289    23.377689    23.377689    23.377689
  481000   -2966.9635   -3146.1461    179.18263   -12047.642    **2023.6747**    13529.082    23.828102    23.828102    23.828102
  482000   -2991.1672   -3153.9548    162.78762    -9805.879    **1838.5107**    13373.685    23.736519    23.736519    23.736519
  483000    -2957.497   -3143.1443    185.64723    11727.174    **2096.6853**    13106.295    23.577259    23.577259    23.577259
ERROR: Non-numeric pressure - simulation unstable (../fix_nh.cpp:1038)
Last command:  run             1000000

Contents of Meta.json:

{
    "walkers" : 1,
    "input" : "in.metal",
    "CVs": [
        {
            "qatom": false,
            "qvmean": true,
            "short_cutoff": 2.8,
            "long_cutoff": 3.6,
            "q_dimension": 6,
            "type": "Q_Steinhardt"
        }
     ],
    "methods" : [
        {
            "type" : "Metadynamics",
            "widths" : [
                0.02
            ],
            "height" : 0.556075, (units in eV)
            "lower_bounds" : [-0.1],
            "upper_bounds" : [1.1],
            "lower_bound_restraints" : [0],
            "upper_bound_restraints" : [0],
            "hill_frequency" : 500
        }
    ]
}

In the CVXX.cpp file, I provide the value_ and grad_ vector values for each processor. What's wrong in my code? Is it the wrong bias force added?

Thanks! Looking forwards to your reply.

Problem in running self-written method

Dear developers/users,

I wrote a variation of NEB method (as a 4th flavor of String method). I try running it but I am getting an error that "the flavor for the new method is not a valid entry".
I am sure I have followed the steps mentioned in the documentation correctly. I am following these steps first and then compiling SSAGES with GROMACS to test.
I request you to help me figure out what is it that I am missing. I can attach the files as well later if required.

Thanks a lot,
Madhur Aggarwal

MPI issues

Hi!
Let me start by thanking you for your code!

We have implemented a new CV that calculates the cvvalue in parallel. That was needed as the algorithm considers the contribution of every atom in the system. We have a local version of SSAGES that contains the new piece of code. When everything works, we would like to share it with you. The cvvalue is calculated correctly across the processors. Unfortunately, we noticed that when running FFS with LAMMPS the “dumpfiles” are written by SSAGES serially, so each processor overwrites the output. So, e.g., in a file "l0-n0.dat" we only have information about the atoms handled by one core, and we receive the following error error, could not locate atomID 1 from dumpfile. We would like to use SSAGES for a large MD calculations. Therefore, parallelisation is important to us. Have we missed anything?

We would really appreciate your help.

Attempt to load grid Nworld unsuccessful

Dear all,
When I try to run SSAGES, I met the following error:
Attempting to load data from a previous run of ABF...
Error(s)! See below.

  • Attempt to load grid Nworld unsuccessful.

image

Can you help me with this? Attachment is the simulation files I would like to run.
Thank you!
input.zip


Dezhao Huang
Ph.D. candidate at University of Notre Dame
Department of Aerospace and Mechanical Engineering
B14 Fitzpatrick Hall
Notre Dame, IN 46556-5710
Tel: (573)-578-0869
[email protected]

Segmentation fault: address not mapped to object at address 0xffffffffff56cd50

I am trying to run FTS, but I keep getting this Segmentation fault error. Any help on how to get past this error or what might be wrong?

Back Off! I just backed up step1b.pdb to ./#step1b.pdb.6#

Back Off! I just backed up step1c.pdb to ./#step1c.pdb.4#

Back Off! I just backed up step1c.pdb to ./#step1c.pdb.5#

Back Off! I just backed up step1c.pdb to ./#step1c.pdb.6#

Back Off! I just backed up step1c.pdb to ./#step1c.pdb.7#
Wrote pdb files with previous and current coordinates
Wrote pdb files with previous and current coordinates
Wrote pdb files with previous and current coordinates
Wrote pdb files with previous and current coordinates
[c1214:4078953:0:4078953] Caught signal 11 (Segmentation fault: address not mapped to object at address 0xffffffffff56cd50)
==== backtrace (tid:4078953) ====
0 /util/opt/ucx/1.12.1/gcc/8.5.0/lib/libucs.so.0(ucs_handle_error+0x2a4) [0x14ab19f8dc94]
1 /util/opt/ucx/1.12.1/gcc/8.5.0/lib/libucs.so.0(+0x2ee94) [0x14ab19f8de94]
2 /util/opt/ucx/1.12.1/gcc/8.5.0/lib/libucs.so.0(+0x2f138) [0x14ab19f8e138]
3 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(+0x1fd49b) [0x14ab3414349b]
4 /util/comp/intel/19/lib/intel64_lin/libiomp5.so(GOMP_parallel+0x148) [0x14ab2aefc988]
5 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z14spread_on_gridPK9gmx_pme_tPK14pme_atomcomm_tPK10pmegrids_tiiPdii+0x107) [0x14ab34144ef7]
6 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z10gmx_pme_doP9gmx_pme_tiiPA3_dS2_PdS3_S3_S3_S3_S3_S2_P9t_commreciiP6t_nrnbP13gmx_wallcycleS2_S2_S3_S3_ddS3_S3_i+0x64c) [0x14ab3414858c]
7 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z17do_force_lowlevelP10t_forcerecP10t_inputrecP6t_idefP9t_commrecP6t_nrnbP13gmx_wallcycleP9t_mdatomsPA3_dP9history_tSE_PN3gmx15ForceWithVirialEP14gmx_enerdata_tP8t_fcdataP14gmx_localtop_tP13gmx_genborn_tiSE_P8t_lambdaPdP7t_graphP8t_blockaSE_iPf+0x12bf) [0x14ab3477b50f]
8 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(+0x93ae45) [0x14ab34880e45]
9 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z8do_forceP8_IO_FILEP9t_commrecP10t_inputreclP6t_nrnbP13gmx_wallcycleP14gmx_localtop_tP12gmx_groups_tPA3_dN3gmx8ArrayRefINSF_11BasicVectorIdEEEEP9history_tSJ_SE_P9t_mdatomsP14gmx_enerdata_tP8t_fcdataNSG_IdEEP7t_graphP10t_forcerecP11gmx_vsite_tPddP9gmx_edsamii41DdOpenBalanceRegionBeforeForceComputation41DdCloseBalanceRegionAfterForceComputation+0x261) [0x14ab348828c1]
10 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_ZN3gmx5do_mdEP8_IO_FILEP9t_commrecRKNS_8MDLoggerEiPK8t_filenmPK16gmx_output_env_tRK12MdrunOptionsP11gmx_vsite_tP10gmx_constrPNS_17IMDOutputProviderEP10t_inputrecP10gmx_mtop_tP8t_fcdataP7t_stateP18ObservablesHistoryPNS_7MDAtomsEP6t_nrnbP13gmx_wallcycleP10t_forcerecRK25ReplicaExchangeParametersP12gmx_membed_tP23gmx_walltime_accounting+0x3463) [0x43fc53]
11 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_ZN3gmx8Mdrunner8mdrunnerEv+0x2f99) [0x43a689]
12 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_ZN3gmx8Mdrunner12mainFunctionEiPPc+0xfc7) [0x436917]
13 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_Z9gmx_mdruniPPc+0x7a5) [0x437285]
14 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_ZN3gmx24CommandLineModuleManager3runEiPPc+0x252) [0x14ab340c4012]
15 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_ZN3gmx24CommandLineModuleManager21runAsMainSingleModuleEiPPcPNS_18ICommandLineModuleE+0x4d) [0x14ab340c41ed]
16 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_ZN3gmx24CommandLineModuleManager14runAsMainCMainEiPPcPFiiS2_E+0x36) [0x14ab340c4256]
17 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(main+0x3d4) [0x41b3a4]
18 /lib64/libc.so.6(__libc_start_main+0xe5) [0x14ab32cd0d85]
19 /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_start+0x2e) [0x41b57e]

[c1214:4078953] *** Process received signal ***
[c1214:4078953] Signal: Segmentation fault (11)
[c1214:4078953] Signal code: (-6)
[c1214:4078953] Failing at address: 0x1873003e3d69
[c1214:4078953] [ 0] /lib64/libpthread.so.0(+0x12cf0)[0x14ab3306dcf0]
[c1214:4078953] [ 1] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(+0x1fd49b)[0x14ab3414349b]
[c1214:4078953] [ 2] /util/comp/intel/19/lib/intel64_lin/libiomp5.so(GOMP_parallel+0x148)[0x14ab2aefc988]
[c1214:4078953] [ 3] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z14spread_on_gridPK9gmx_pme_tPK14pme_atomcomm_tPK10pmegrids_tiiPdii+0x107)[0x14ab34144ef7]
[c1214:4078953] [ 4] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z10gmx_pme_doP9gmx_pme_tiiPA3_dS2_PdS3_S3_S3_S3_S3_S2_P9t_commreciiP6t_nrnbP13gmx_wallcycleS2_S2_S3_S3_ddS3_S3_i+0x64c)[0x14ab3414858c]
[c1214:4078953] [ 5] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z17do_force_lowlevelP10t_forcerecP10t_inputrecP6t_idefP9t_commrecP6t_nrnbP13gmx_wallcycleP9t_mdatomsPA3_dP9history_tSE_PN3gmx15ForceWithVirialEP14gmx_enerdata_tP8t_fcdataP14gmx_localtop_tP13gmx_genborn_tiSE_P8t_lambdaPdP7t_graphP8t_blockaSE_iPf+0x12bf)[0x14ab3477b50f]
[c1214:4078953] [ 6] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(+0x93ae45)[0x14ab34880e45]
[c1214:4078953] [ 7] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_Z8do_forceP8_IO_FILEP9t_commrecP10t_inputreclP6t_nrnbP13gmx_wallcycleP14gmx_localtop_tP12gmx_groups_tPA3_dN3gmx8ArrayRefINSF_11BasicVectorIdEEEEP9history_tSJ_SE_P9t_mdatomsP14gmx_enerdata_tP8t_fcdataNSG_IdEEP7t_graphP10t_forcerecP11gmx_vsite_tPddP9gmx_edsamii41DdOpenBalanceRegionBeforeForceComputation41DdCloseBalanceRegionAfterForceComputation+0x261)[0x14ab348828c1]
[c1214:4078953] [ 8] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_ZN3gmx5do_mdEP8_IO_FILEP9t_commrecRKNS_8MDLoggerEiPK8t_filenmPK16gmx_output_env_tRK12MdrunOptionsP11gmx_vsite_tP10gmx_constrPNS_17IMDOutputProviderEP10t_inputrecP10gmx_mtop_tP8t_fcdataP7t_stateP18ObservablesHistoryPNS_7MDAtomsEP6t_nrnbP13gmx_wallcycleP10t_forcerecRK25ReplicaExchangeParametersP12gmx_membed_tP23gmx_walltime_accounting+0x3463)[0x43fc53]
[c1214:4078953] [ 9] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_ZN3gmx8Mdrunner8mdrunnerEv+0x2f99)[0x43a689]
[c1214:4078953] [10] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_ZN3gmx8Mdrunner12mainFunctionEiPPc+0xfc7)[0x436917]
[c1214:4078953] [11] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_Z9gmx_mdruniPPc+0x7a5)[0x437285]
[c1214:4078953] [12] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_ZN3gmx24CommandLineModuleManager3runEiPPc+0x252)[0x14ab340c4012]
[c1214:4078953] [13] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_ZN3gmx24CommandLineModuleManager21runAsMainSingleModuleEiPPcPNS_18ICommandLineModuleE+0x4d)[0x14ab340c41ed]
[c1214:4078953] [14] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/lib64/libgromacs_ssages.so.3(_ZN3gmx24CommandLineModuleManager14runAsMainCMainEiPPcPFiiS2_E+0x36)[0x14ab340c4256]
[c1214:4078953] [15] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(main+0x3d4)[0x41b3a4]
[c1214:4078953] [16] /lib64/libc.so.6(__libc_start_main+0xe5)[0x14ab32cd0d85]
[c1214:4078953] [17] /util/opt/ssages/0.9/openmpi/4.0/gcc/9/bin/ssages(_start+0x2e)[0x41b57e]
[c1214:4078953] *** End of error message ***

Unable to reacreate NaCl free energy surface using ABF

I am trying to recreate the free energy surface as a function of distance between the two atoms, as laid out in the NaCl examples, in SSAGES/Examples/User/ABF/Example_NaCl/ABF_NaCl_LAMMPS_Example.

When I ran ssages using the provided json file, ABF_NaCl_1walker.json, the program ran, and I got the required F_out file. However, when I run python ABF_integrator.py -i F_out --npoints 40 --periodicity False, I get a free energy curve as a function of separation. The F_out file (F_out.txt) and the image generated by the ABF_integrator.py (G_integrated_CALC.png) is attached to this post.
[F_out.txt](https://github.com/SSAGESproject/SSA
G_integrated_CALC
GES/files/12061243/F_out.txt)

On comparing the F_out file and the image generated by I generated versus the one present in the "Sample_Outputs" folder, I notice that the images are way off. Furthermore, the F_out file is different as well. The sample F_out starts at 0.247 and ends at 0.793. So I changed the CV_minimum, CV_maximum, CV_restraint_minimum, and CV_restraint_maximum to reflect this.

                "CV_lower_bounds" : [0.247],
                "CV_upper_bounds" : [0.794],
                "CV_bins" : [40],
                "CV_restraint_minimums" : [0.2],
                "CV_restraint_maximums" : [0.83],

However, after running this, I get a LAMMPS pressure error after energy minimization. Specifically,
ERROR: Non-numeric pressure - simulation unstable.

For your convenience, I have also attached the Sample_Output image and F_out (sample) file (F_out_SAMPLE.txt), right here.
G_integrated
F_out_SAMPLE.txt

What is the reason for the discrepancy in the F_out file? Where am I going wrong?
I would appreciate any advice you have for me!

Cannot set restart FFS example when "computeInitialFlux" set as "false"

When I set "computeInitialFlux" to "false" and run the "/ForwardFlux/LAMMPS/Langevin" example, the simulation fails. The example has been successfully run with that parameter set to "true", and there are l0*.dat files in "FFSoutput" folder. The error messages are shown as follow:

Step Temp KinEng PotEng TotEng c_xx c_yy c_ffx c_ffy c_ee Press 
[c5:03482] [ 0]        0            0            0            0            0        -1.01            0     0.081204            0   0.00040401            0 
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f1969670340]
[c5:03482] [ 1] [c5:03483] *** Process received signal ***
/home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES17DirectForwardFlux15InitializeQueueEPNS_8SnapshotERKSt6vectorIPNS_18CollectiveVariableESaIS5_EE+0x231)[0x51c8c1]
[c5:03482] [ 2] [c5:03483] Signal: Segmentation fault (11)
[c5:03483] Signal code: Address not mapped (1)
[c5:03483] Failing at address: 0x195954180
/home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES17DirectForwardFlux15PostIntegrationEPNS_8SnapshotERKNS_9CVManagerE+0x10e)[0x51b47e]
[c5:03482] [ 3] /home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES4Hook19PostIntegrationHookEv+0xe9)[0x4c0839]
[c5:03482] [ 4] [c5:03483] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f86c1f44340]
[c5:03483] [ 1] /home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES17DirectForwardFlux15InitializeQueueEPNS_8SnapshotERKSt6vectorIPNS_18CollectiveVariableESaIS5_EE+0x231)[0x51c8c1]
[c5:03483] [ 2] /home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES17DirectForwardFlux15PostIntegrationEPNS_8SnapshotERKNS_9CVManagerE+0x10e)[0x51b47e]
[c5:03483] [ 3] /home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES4Hook19PostIntegrationHookEv+0xe9)[0x4c0839]
[c5:03483] [ 4] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS6Modify10post_forceEi+0x46)[0x7f196a2d3806]
[c5:03482] [ 5] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS6Modify10post_forceEi+0x46)[0x7f86c2ba7806]
[c5:03483] [ 5] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS6Verlet3runEi+0x3e2)[0x7f196a683262]
[c5:03482] [ 6] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS6Verlet3runEi+0x3e2)[0x7f86c2f57262]
[c5:03483] [ 6] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS3Run7commandEiPPc+0x33b)[0x7f196a6488ab]
[c5:03482] [ 7] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS3Run7commandEiPPc+0x33b)[0x7f86c2f1c8ab]
[c5:03483] [ 7] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS5Input15command_creatorINS_3RunEEEvPNS_6LAMMPSEiPPc+0x2b)[0x7f196a2ae23b]
[c5:03482] [ 8] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS5Input15command_creatorINS_3RunEEEvPNS_6LAMMPSEiPPc+0x2b)[0x7f86c2b8223b]
[c5:03483] [ 8] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS5Input15execute_commandEv+0x875)[0x7f196a2ac9c5]
[c5:03482] [ 9] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS5Input15execute_commandEv+0x875)[0x7f86c2b809c5]
[c5:03483] [ 9] /home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS5Input3oneEPKc+0x8c)[0x7f196a2ad34c]
[c5:03482] [10] /home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES6Driver3RunEv+0x42b)[0x4606cb]
[c5:03482] [11] /home/yacexi/software/SSAGES-public/build/ssages(main+0x3ca)[0x4416ea]
[c5:03482] [12] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f19692bcec5]
[c5:03482] [13] /home/yacexi/software/SSAGES-public/build/ssages[0x44768c]
[c5:03482] *** End of error message ***
/home/yacexi/software/SSAGES-public/lammps-12Dec18/src/liblammps_mpi.so(_ZN9LAMMPS_NS5Input3oneEPKc+0x8c)[0x7f86c2b8134c]
[c5:03483] [10] /home/yacexi/software/SSAGES-public/build/ssages(_ZN6SSAGES6Driver3RunEv+0x42b)[0x4606cb]
[c5:03483] [11] /home/yacexi/software/SSAGES-public/build/ssages(main+0x3ca)[0x4416ea]
[c5:03483] [12] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f86c1b90ec5]
[c5:03483] [13] /home/yacexi/software/SSAGES-public/build/ssages[0x44768c]
[c5:03483] *** End of error message ***

Unphysical pressure increase during FFS (cavitation)

Dear developers of SSAGES, we kindly ask you to answer on an issue, appearing during using SSAGES.

After successful installing, built with LAMMPS, and repeating the example we tried to use FFS method to investigate a cavitation in NPT ensemble.
We choose a volume of the whole system as a reaction coordinate (cv).
SSAGES properly calculated the first flux and generated collection of starting configurations.

However, when SSAGES initiated the trial runs, the system pressure dramatically increases (step 1019908),
this leads to the big change of thermodynamical conditions (lost metastability).

Please, tell us, is it a normal situation?
Or it happens because of the badly chosen reaction coordinate?

1019897 0.50316223 -0.85509203 -5.7866565 -5.0319886 12123.362
1019898 0.50343554 -0.85733503 -5.7870077 -5.0319299 12123.557
1019899 0.50368328 -0.8594207 -5.7873267 -5.0318774 12123.748
1019900 0.50390648 -0.86154426 -5.7877333 -5.0319491 12123.934
1019901 0.5041061 -0.8634115 -5.7880485 -5.031965 12124.114
1019902 0.50428271 -0.86501447 -5.7882676 -5.0319192 12124.289
1019903 0.50443697 -0.86651781 -5.7884905 -5.0319107 12124.458
1019904 0.50456939 -0.86777373 -5.788627 -5.0318486 12124.621
1019905 0.50468054 -0.86902895 -5.7888266 -5.0318815 12124.778
1019906 0.50477144 -0.86995783 -5.7888899 -5.0318085 12124.93
Iteration: 19906, proc 0
Successful attempt. (cvvalue_previous: 12124.9 cvvalue 12125.1 )

of successes: 10

required # of configurations: 10
Initial flux calculation was successfully completed
FFSConfigIDQueue has 8 entries upon initialization
0 0 1 0 0 1 0
1 0 7 0 0 7 0
2 0 4 0 0 4 0
3 0 5 0 0 5 0
4 0 2 0 0 2 0
5 0 0 1 0 0 0
6 0 6 0 0 6 0
1019907 0.50122858 -0.87380454 -5.7889757 -5.037208 12125.075
1019908 0.50104887 0.1554287 -2.1753112 -1.4238131 12125.214
1019909 0.50083568 0.15682564 -2.1750072 -1.4238288 12125.437
1019910 0.50066708 0.15769521 -2.1747618 -1.4238362 12125.744
1019911 0.50054645 0.15804805 -2.1745622 -1.4238176 12126.136
1019912 0.50047654 0.15779738 -2.1744566 -1.4238169 12126.613
Iteration: 19912, proc 0
Successful attempt from interface 0 l0-n0-a0 (cvvalue_previous: 12126.6 cvvalue 12127.2 interface[1] = 12127

SSAGES with lammps_22Aug2018 | Opt package issues &&

Hello,

I am tryting to compile ssages with lammps_22Aug2018. However, I am not able to install with the opt package with intel compilers. The opt package has some issues with intel compilers and requires -restrict tag
( lammps/lammps#610 ). I am not well versed with cmake but can someone help to figure out that the right makefile is being used to build lammps ? Just to clarify, I can build lammps standalone but ssages cant.

Error Message:

[ 93%] Performing build step for 'lammps'
Gathering installed package information (may take a little while)
Compiling LAMMPS for machine mpi
../pair_morse_opt.cpp(71): error: expected a ";"
    double** _noalias x = atom->x;
                      ^
../pair_morse_opt.cpp(72): error: "restrict" has already been declared in the current scope
    double** _noalias f = atom->f;

Thank you,
Kaustubh

How the ANN method add the bias force?

Dear SSAGES developers,

I want to calculate the free energy using the ANN method.

The following is the content of a JSON file used in ANN:

{
    "walkers" : 1,
    "input" : "in.metal",
    "CVs": [
        {
            "qatom": false,
            "qvmean": true,
            "short_cutoff": 2.6,
            "long_cutoff": 3.8,
            "q_dimension": 6,
            "type": "Q_Steinhardt"
        },
        {
            "short_cutoff": 2.6,
            "long_cutoff": 3.8,
            "type": "Rpp"
        }
     ],
    "methods" : [
            {
                    "type" : "ANN",
                    "topology" : [30, 20],
                    "nsweep" : 10000,
                    "overwrite_output" : false,
                    "temperature" : 1300,
                    "grid" : {
                            "lower" : [0, -1.0],
                            "upper" : [1.1, 1.1],
                            "number_points" : [50, 50],
                            "periodic" : [false, false]
                    },
                    "lower_bounds" : [-0.1, -1.1],
                    "upper_bounds" : [1.2, 1.2],
                    "lower_bound_restraints" : [0, 0],
                    "upper_bound_restraints" : [0, 0],
                    "max_iters" : 10,
                    "weight" : 15.0 // Is the unit like the lammps one, eV herein? I also use the default value and it does not work.
            }
    ]
}

Using two newly designed CVs, the metadynamics simulations are fine, where the system can traverse the distinguished states I concerned. However, the system only locate at the initial state as I use the ANN method. It means that the bias force is not added to the atoms. As I know, ANN also need add the bias force to the atoms like metadynamics. What is the wrong I meet?

The two CVs should consider the whole atoms as well as its neighbor atoms. In the corresponding XXCV.cpp, I have given the val_ value and its devirative on x (or y, z), grad_[].

The following is a JSON file used in the metadynamics simulations (It works fine):

{
    "walkers" : 1,
    "input" : "in.metal",
    "CVs": [
        {
            "qatom": false,
            "qvmean": true,
            "short_cutoff": 2.6,
            "long_cutoff": 3.8,
            "q_dimension": 6,
            "type": "Q_Steinhardt"
        },
        {
            "short_cutoff": 2.6,
            "long_cutoff": 3.8,
            "type": "Rpp"
        }
     ],
    "methods" : [
        {
            "type" : "Metadynamics",
            "widths" : [
                0.02, 0.04
            ],
            "height" : 0.103408,
            "lower_bounds" : [0, -1.0],
            "upper_bounds" : [1.1, 1.1],
            "lower_bound_restraints" : [0, 0],
            "upper_bound_restraints" : [0, 0],
            "hill_frequency" : 500
        }
    ]
}

Thanks! Looking forward to your reply.

Downloading lammps using git

Hello,

I am trying to build ssages with lammps using the following commands :

mkdir build && cd build
cmake -DLAMMPS=YES ..
make

However as of Jan. 11th, 2022, Git has changed its security protocol. (https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git). Therefore I am getting the following error :

Error

[ 40%] Performing download step (git clone) for 'lammps-download'
Cloning into 'lammps-download'...
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Cloning into 'lammps-download'...
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Cloning into 'lammps-download'...
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
-- Had to git clone more than once:
          3 times.
CMake Error at /depot/jgreeley/apps/SSAGES-0.9.3-alpha/build/hooks/lammps/lammps-download-prefix/tmp/lammps-download-gitclone.cmake:40 (message):
  Failed to clone repository: 'git://github.com/lammps/lammps.git'


make[2]: *** [hooks/lammps/lammps-download-prefix/src/lammps-download-stamp/lammps-download-download] Error 1
make[1]: *** [hooks/lammps/CMakeFiles/lammps-download.dir/all] Error 2
make: *** [all] Error 2

Thank you,
Kaustubh

How can I use the neighbor list in lammps?

Dear SSAGES Developers,

I want to add a new CV in the SSAGES, which will be combined with LAMMPS. I need the neighbor_list that has been created by LAMMPS. But I do not know how to call the related functions in the LAMMPS.

In the hooks/lammps/fix_ssages.cpp file, it successfully calls the LAMMPS functions, such as "auto n = atom->nlocal;". Using the template AngleCV.h file, could you give me an example how add a line " auto n = atom->nlocal;" correctly?

Hope hearing from you soon.

Thank you very much.

Compiler problems

Dear SSAGES develops,

I have built the SSAGES coupled with QBOX using the specific Intel compiler (icc version 18.0.3) by command: cmake -DQBOX=YES -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc. It was successfully built and I used the example SSAGES/Examples/User/ABF/Qbox-CH2Cl-CH2Cl/ to test. I found that SSAGES could write md.i to ssagee_in_0 for QBOX to run at the beginning. However, after QBOX produced ssages_out_0, the lock file could not be deleted, and the Qbox was idle (please see the figure). I also compiled the code using gcc, which seems working well. I am wondering if I did anything wrong with the Intel compilers?

Thanks!
Tao
image

Issue with GetMasses and TotalMass?

While I was validating the implementation of a new CV I printed the value of the atom masses. What I found is that the total mass seems to be calculated with the atom indices starting from 1 (thus matching the atom indices of the pdb file) while the individual mass of the atoms seems to be read with a -1 shift in the atom index with respect to the input pdb file. This is what I saw for my group 1 consisting of 2 N atoms:

(gdb) p masses[196]
$20 = (const __gnu_cxx::__alloc_traits<std::allocator<double> >::value_type &) @0xab0dd0: 14.006699562072754
(gdb) p masses[198]
$21 = (const __gnu_cxx::__alloc_traits<std::allocator<double> >::value_type &) @0xab0de0: 14.006699562072754
(gdb) p mtot1
$22 = 16.042999863624573

the value of mtot1 is exactly what I get by summing the atoms 196 and 198 from my pdb file (with the index of the first atom=1) while the individual masses of the atoms correspond to those taken with the index of the first atom in the pdb file =0).

Error in example of FTS method

Dear Team,
I was executing the examples section in the FTS folder of examples on Gromacs 5.1.3. I could get the desired results of examples having ADP in vacuum for both a single processor and two processors per walker. However, when I tried to run the ADP water environment with the provided adp_H2O.tpr file, Gromacs gave an error of could not settle bad contacts with water. So I did an energy minimization step externally on the provided gro file initially and followed the same procedure in README.md to execute. However, the same bad contact error popped up after running 8 ps. What I think is when the new image position is generated, I am doubtful if the software is having an energy minimization inbuilt to remove bad contacts. Can you please help me out to run this example of ADP in water in Gromacs?

Screenshot 2021-06-26 at 7 43 56 PM

FTS method

Does the SSAGES software give an option to use metric tensor M value anything apart from unity in FTS? What are your views as to how different the results would be?

Can i use the FFS method in SSAGES to compute the nucleation rate?

Dear SSAGES Developers,

My reasearch direction is the nucleation and crystallization of Lennard-Jones potential systems. Where i am interested in SSAGES is the FFS method which is often used in literatures together with Monte Carlo simulation to comupute the nucleation rate. But in SSAGES the dynamics engine is MD. In this case , could i use it to compute the nuclation rate ?

Best wishes,
Xiaodong Su

How to generates a movie of the free energy surface estimate over time

Dear sir,
When I am trying to generate a movie by the MATLAB script (movie.m) in SSAGES/Examples/User/Meta/ADP, an error occured as follow:
Error using plot
Line cannot be a child of Figure.

Error in Movie (line 47)
p = plot(gcf, true);
Also, there is something wrong with analysis.m.

Best wish

Why are the "Evaluate" function called two times ?

Dear SSAGES Developers,

When I run the example in the SSAGES-0.9.2-alpha/Examples/User/Meta/ADP (SSAGES combined with lammps), I found that the "Evaluate" function in the TorsionalCV.h file is called two times at each step. As a testing, I added a simple std::cout<<"testing"<<'\n'; sentence in the "Evaluate" function.

As I know, this function calculate both the value and gradient of the CV in the post-integration phase of every iteration. Why is the "Evaluate" function called two times at every iteration?

Looking forward to you repy. Thanks!

cmake does not recognize -DFFTWF_INCLUDE_DIR

Hi,

I am trying to install SSAGES 0.9.3 with GROMACS 2018 from the provided source tarball.
I already have FFTW3 installed on my system; however when I specify the location to the FFTW3 lib and include directories as suggested by make these flags are nor recognized and the build fails:

The command I use is:

cmake -DCMAKE_INSTALL_PREFIX=$PREFIX \
  -DFFTW_LIBRARY=/util/opt/fftw3/3.3/lib/libfftw3.so \
  -DFFTWF_INCLUDE_DIR ="/util/opt/fftw3/3.3/include" \
  -DGROMACS="2018" \
  -DCMAKE_C_COMPILER=mpicc \
  -DCMAKE_CXX_COMPILER=mpic++ \
  -DGMX_DOUBLE=OFF \
  -DGMX_BUILD_OWN_FFTW=OFF \
  -DGMX_GPU=ON ..

This builds correctly, but shows:

CMake Warning:
  Manually-specified variables were not used by the project:

    FFTWF_INCLUDE_DIR
    FFTW_LIBRARY

on the screen.

Then, when I run make, I get the following error message:

--   Found fftw3f, version 3.3.9
Could not the fftw3f header fftw3.h, please specify its path in FFTWF_INCLUDE_DIR by hand (e.g. -DFFTWF_INCLUDE_DIR='/path/to/include')
CMake Error at cmake/gmxManageFFTLibraries.cmake:89 (MESSAGE):
  Cannot find FFTW 3 (with correct precision - libfftw3f for mixed-precision
  GROMACS or libfftw3 for double-precision GROMACS).  Either choose the right
  precision, choose another FFT(W) library (-DGMX_FFT_LIBRARY), enable the
  advanced option to let GROMACS build FFTW 3 for you
  (-DGMX_BUILD_OWN_FFTW=ON), or use the really slow GROMACS built-in fftpack
  library (-DGMX_FFT_LIBRARY=fftpack).
Call Stack (most recent call first):
  CMakeLists.txt:727 (include)

As suggested, I have -DFFTWF_INCLUDE_DIR specified in the cmake command, but looks like it is not recognized from SSAGES.
The directory /util/opt/fftw3/3.3/include does contain the missing fftw3.h file.

Do you have any suggestions how to fix this and be able to compile SSAGES using already existing FFTW3 install?

Please let me know if you need any additional information.

Thank you,
Natasha

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.