Hello everyone. I have simulated evaporation process using fix evaporate
to reduce number of water molecules in the system. However, when I used rerun
to reproduce this process, I found that LAMMPS cannot update the atom numbers (as the water molecules were evaporated). Is there any solution? In my opinion, read_dump
command can replace the atom numbers in system with that in dump file, does rerun
command has the similar function?
What are you trying to get out of the rerun? (I mean, what are you trying to output out of these configurations/microstates?)
In software there are no “opinions”, there is only the source code and the source code does describe what the program does.
The rerun command will call read_dump to read in configurations.
Your argument is ignoring the fact that you have a molecular system and thus you not only need the atom positions, types, IDs etc, but also the topology information and that is not stored in the dump file. Also, for read_dump, you can read a shorter dump and have it only override the atoms it contains and leave the other unchanged, which is different from deleting them.
Bottom line, it is difficult to discuss these issues in the abstract. If you want things to be different, you have to either modify the source code yourself, or you have to make it (much) easier to test and debug the situation you are claiming that would need to be updated for your purpose. This would have to be a very small and simple setup with only a small number of atoms/molecules and steps, so it can be reproduced quickly and debugged easily.
In general, implementing support for adding molecules will be difficult and would certainly require a suitable molecule file, removing molecules should be easier, but in both cases it would have to be easy to identify which molecules where removed so that their topology data is removed as well.
Thanks for your reply, I just want to get other informations (such as compute
command which wasn’t used in the original simulation) with rerun
command.
Thanks for your correction.
Yes, I understood ^^
I was trying to figure out what you want to compute in order to help you think of an alternative solution
In short, I want to get the dump file of a certain period (e.g. 100-110 ns), as the entire simulation is too long (more than 200 ns). Since the rerun
command cannot work, I’ll just have to filter through the large dump file for the entire simulation duration.
Cant you create a .py code to add ficticious atoms, which have a new atom type and are at whatever position in the simulation domain and have v = (0, 0, 0), to the dump file you have and set up potentials that lead to “zero interaction” with the actual system you have? If you do this in a way that ultimately leads to microstates that have the same amout of atoms, you would be able to use the command you want and output things such as potential energies and other things without a problem, I guess. You just need to be careful about computing averages for example (since it would divide by the total N, including the ficticious atoms)
That sounds a little complicated , but thanks for your advice!