I was wondering is there is a way to store the output of the compute property/local command in a variable of type vector. for example, I have the following command
compute 1 all property/local natom1 natom2
I want to store c_1 i.e natom1 in variable of type vector but this is not possible because it is not a per atom value or global vector. Is there is a way around this issue.
Currently local vectors/arrays can be accessed only in very specific ways, namely dump local and compute reduce. Since the ordering of entries in the local vectors is very arbitrary, it is not obvious why you would want to access the specific entries. So what is it you are trying to do with the vector?
I am trying to get specific atom IDs and then I want to store them in a variable then i want to assign these IDs to a certain group. Ordering is not a problem for me So basically I want to store something close to a neighbor list but with different cutoff distance I tried to do this using loops as the following
So i have 9 atoms, if basically atom1!=atom2 and the distance is less than a certain value I want to store the atom ids in a a group but it is not working
variable n loop 9
variable o loop $n+1 9
variable p equal 5
variable a atom id[v_n]
variable b atom id[v_o]
variable c equal x[v_n]
variable d equal y[v_n]
variable e equal z[v_n]
variable q equal x[v_o]
variable r equal y[v_o]
variable s equal z[v_o]
variable f equal v_c-v_q
variable h equal v_d-v_r
variable i equal v_e-v_s
variable j equal v_f*v_f
variable k equal v_h*v_h
variable l equal v_i*v_i
variable m equal sqrt(v_j+v_k+v_l)
if “($m < $p) && ($n != $o)” then “group thh variable a”
jump SELF loopb
jump SELF loopa
Additionaly, the “vector” style variables are “global”
meaning every proc has a copy of the same data.
Dump local deals with per-processor info, like
a list of bonds on each proc.
So that kind of local vector has nothing to do
with the global variable vectors.