I doing some simulations where sputtering will produce molecule above the substrate. I use a reax/c potential style and thus am applying a fix reax/c/species to identify the molecules that are present.
However, in addition to simply identifying I would like to get some per molecule properties for each of the molecules. In particular, I am hoping for the energy of these molecules (KE). How would I go about trying to compute the KE per molecule for all the molecules that are identified by the fix?
Thanks
Liam
I see two possible options:
- You implement a
compute chunk/species
style that can access internal data structures of fix reax/c/species
(via adding a “extract()” method) and then use the chunk IDs in combination with compute ke/atom
and compute reduce/chunk
to get the output you are looking for.
2 You issue a compute ke/atom
and include it in a dump file which is output in the same frequency and the fix reax/c/species
output and then write a post-processing script/program.
Thanks. I was thinking option two initially but am intrigued by option 1.
If I use a compute chunk/species will it be able to read each molecule type from reax/c/species? Basically how do a get it to extract from the species file?
I am seeing fix ave/chunk and fix chunk/atom, but not sure how best to assign each chunk to the molecule from the resulting reax/c/species file. Once that works it should just be computing the resulting chunk ke.
You are missing my point. There currently is no compute chunk/species
. You would have to program it. And it wouldn’t read anything from a file but have to obtain the data from the fix. Fixes can have an “extract()”, a compute_vector()
or a compute_array()
function added as a general mechanism how the data they compute can be looked up by computes or fixes or other C++ code in LAMMPS. To understand you need to read some of the existing C++ code and learn how this works.
Apologies, ok I will have a look into this. If I get anywhere with it I will let the board know.
Thanks for your help.
Liam