```
Dear lammps user's:
```

```
i would ask if it is possible to calculate directly force autocorrelation function (FOF) using the command: fix ave/correlate and how to do this if it is possible. how to calculate force for using in this command? i find in manual two examples of using autocorrelation functions for calculating viscosity and thermal conductivity. how about force autocorrelation function for calculating the friction coefficient?
```

```
Thanks for your answers in advance.
```

```
best regards,
```

```
Aisan
```

Dear lammps user's:

i would ask if it is possible to calculate directly force autocorrelation function (FOF) using the command: fix ave/correlate and how to do this if it is possible. how to calculate force for using in this command? i find in manual two examples of using autocorrelation functions for calculating viscosity and thermal conductivity. how about force autocorrelation function for calculating the friction coefficient?

as the documentation for the fix ave/correlate command explains, it can

be used to process *any* kind of per atom compute. so computing a force

auto-correlation works in the same way as you would compute a velocity

auto-correlation or other per-atom (or global) auto-correlation. the force

vector components are accessible in the same way as the velocity vector

components via compute property/atom.

so all the components are there, all you'll have to do is to assemble them

and process the resulting pre-processed data accordingly. the latter step

itself is beyond the scope of the LAMMPS manual. check out a statistical

mechanics text book for additional insight instead.

axel.

Thank you Dear Axel for your answer.

the documentation for the compute property/atom said"Define a computation that simply stores atom attributes for each atom in the group". it calculate force for each atom in a group, but in order to calculate the friction coffiecient of water in nanotubes i need to compute the force between water and carbon atoms. i think i should use compute group/group command. but the script gives me an error of variables in thermo_style.

following is a part of my script.

Any advice will be greatly appreciated.

thanks

compute force oxygen group/group mem

variable fx equal c_force[1]

variable fy equal c_force[2]

variable fz equal c_force[3]

fix FF all ave/correlate $s $p d &
v_fx v_fy v_fz type auto file F0Ft.dat ave running
variable scale equal {convert}/(${kB}*$T)*$V*s*{dt}

variable la11 equal trap(f_FF[3])*{scale}
variable la22 equal trap(f_FF[4])*{scale}*

variable la33 equal trap(f_FF[5])${scale}

variable la equal (v_la11+v_la22+v_la33)/3.0

thermo_style custom step cpu temp press v_fx v_fy v_fz v_la11 v_la22 v_la33 v_la

run 1000

Thank you Dear Axel for your answer.

the documentation for the compute property/atom said"Define a computation

that simply stores atom attributes for each atom in the group". it

calculate force for each atom in a group, but in order to calculate the

friction coffiecient of water in nanotubes i need to compute the force

between water and carbon atoms. i think i should use compute

this is a different question than what you originally asked. the

principle, however, is the same and it is ultimately your job to assemble

the computation that you are looking for from the components that LAMMPS

offers (or program the missing pieces). it seems to me, though, that your

approach is a bit more random and guess-based than what it should be. there

should be a clean definition of the computation that you want to do and

from that it is merely a matter of matching the the steps of that

computation to the functionality that LAMMPS offers.

group/group command. but the script gives me an error of variables in

thermo_style.

following is a part of my script.

you have to debug your own script yourself. nobody will do this kind of

debugging for you, and unless there is a gross mistake, it is impossible to

infer the source of the error and how to correct it from some input script

fragment and some vague mentioning of an error somewhere. the best way to

approach this is to reduce the number of unknowns and build your input in

stages and validate each step. then you can rather easily see where things

go astray and can then make adjustments.

axel.