Output global array of molecular data?

Hello all,

I am currently working on modeling systems of NxN polymer sheets, and I needed to print radius of gyration tensors for each sheet (labeled as a molecule) in the system. I am using the compute gyration/molecule command to calculate values for each sheet, generating a global array of values for each of the sheets in the system.

I am using the fix print command to print the values to a text file, using variables to represent each compute element. It seems each element of the array has to be specified to get the info to print with this command. This would be fine for small systems, but it is a problem for the work I’m doing since there are large numbers of sheets in the systems, and we are varying the numbers of sheets in the system, so the input file would have to change all the time.

My question is: Is there an output command that I can use to make this simple and versatile enough to accommodate varying and large numbers of atoms by outputting it as an array or some other form?



Fix ave/time can output global arrays, which is what compute gyration/molecule


Hey Steve,

Thanks for the answer. In the case where we have the following compute:

compute 2 molecule gyration/molecule tensor

The compute generates a 2 dimensional array.

The documentation for fix ave/time currently reads:

value = c_ID, c_ID[N], f_ID, f_ID[N], v_name

  c_ID = global scalar or vector calculated by a compute with ID

The description of c_ID makes it sound like only scalars or vectors will be accepted. Since later in the documentation the description of vector mode mentions the possibility of outputting entire arrays, perhaps is best for the description of c_ID to read:

c_ID = global scalar, vector, or array calculated by a compute with ID

Similar for the f_ID descritption. We tried outputting the whole array and it works perfectly.

Thanks again!

sure, I’ll make the change to the doc page …