ssagesproject / ssages Goto Github PK
View Code? Open in Web Editor NEWSoftware Suite for Advanced General Ensemble Simulations
License: GNU General Public License v3.0
Software Suite for Advanced General Ensemble Simulations
License: GNU General Public License v3.0
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
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.
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]
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!
For input.json, "restart" is changed to "true"
For md.i, I added "load restart_0.xml"
Script command
mpirun qb -server ssages_in_0 ssages_out_0 &
mpirun /home/**/apps/SSAGES/build/ssages input.json &
wait
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.
Dear SSAGES developers,
I am running into an error for ExecutionConfiguration when trying to build SSAGES-0.8.4 with HOOMD-2.4.0. Any help would be greatly appreciated, thanks!
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
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:
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:
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
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?
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)
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.
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.
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);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
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.
I have tried the ANN sampling with the NANMA(alanine dipeptide) system and gotten a segfault. The MD engine is GROMACS and SSAGES is the latest git version.
Error log: https://gist.github.com/HanatoK/c88ff5bf68a6491172ffe2928342caf5
Input file: https://gist.github.com/HanatoK/cb67ee0917610d2a2af48efc4f937aea
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.
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 ***
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?
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.
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?
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
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
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
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 )
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
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
You are using HOOMD-blue. Please cite the following:
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
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.
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
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.
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!
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
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
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
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!
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#
[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 ***
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?
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
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
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++
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
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?
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).
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.
Dear Sir,
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?
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.
2 walker job is running perfectly fine with full efficiency with the command mpirun -np 24 2walker.json
on this system.
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?
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.
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!
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)?
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.
With GROMACS
, it's built libssagesgmx.so
and ssages
executables, but how can I know what should be installed?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.