# Userdefined compute chunk and spatial average

Dear all,

I wrote a command computer euler/chunk which is similar to compute inertia/chunk and could calculate spin axis vector and three Euler angles of molecules. The compute runs well with command fix ave/time such as the bellowing.

compute moleuler all align/chunk molchunk 1 2
fix moleulertime all ave/time {Ne} {Nr} \${Nf} c_moleuler file wat.euler.time mode vector

The compute command outputs nchunk*6 array. The first three columns are spin axis vector and the last three is Euler angles(alpha, beta and gamma).

However, when I use the following to calculate the history of {spatial average cos(beta)^2}, I encountered the error "Invalid special function in variable formula. I think it’s a simple problem but I couldn’t find the error. Hope some one could help me. Thanks in advance.

variable molcos equal cos(c_moleuler[5])
variable molcoss equal ave(v_molcos^2.0)
fix moleulerspace all ave/time 1 1 1 v_molcoss file wat.euler.space mode scalar

Han

Dear all,

I wrote a command computer euler/chunk which is similar to compute
inertia/chunk and could calculate spin axis vector and three Euler angles of
molecules. The compute runs well with command fix ave/time such as the
bellowing.

compute moleuler all align/chunk molchunk 1 2
fix moleulertime all ave/time \{Ne\} {Nr} \${Nf} c_moleuler file
wat.euler.time mode vector

The compute command outputs nchunk*6 array. The first three columns are spin
axis vector and the last three is Euler angles(alpha, beta and gamma).

However, when I use the following to calculate the history of {spatial
average cos(beta)^2}, I encountered the error "Invalid special function in
variable formula. I think it's a simple problem but I couldn't find the
error. Hope some one could help me. Thanks in advance.

variable molcos equal cos(c_moleuler[5])
variable molcoss equal ave(v_molcos^2.0)

what is the point of using "ave()" here? molcos is an equal style
variable and thus would return a global scalar

also ave() takes exactly one argument, not an expression.

the error message comes from the latter issue.

axel.

moleuler is a compute which outputs a global array(size is # of chunks*6)

molcos is a global vector(size is # of chunks)

I hope to make average of molcos and get a scalar. Maybe I shouldn’t use equal style here?

Thanks axel

moleuler is a compute which outputs a global array(size is # of chunks*6)

molcos is a global vector(size is # of chunks)

No, it isn’t.

I hope to make average of molcos and get a scalar. Maybe I shouldn’t use equal style here?

Cannot work like this.