some confusion about command ' fix spring/chunk '

Dear all,

  The command 'fix spring/chunk' applies a spring force to chunks of atoms. Does it mean that it performs command 'fix spring' to every chunk? If so, yet its output is a global scalar and 4 vectors. It seems not to output the spring energy of every chunk. Then how do I output the spring energy of chunks? If not, what's the use of 'chunk' in this command?

Regards,

Chen Bo

Dear all,

  The command 'fix spring/chunk' applies a spring force to chunks of
atoms. Does it mean that it performs command 'fix spring' to every chunk?

​no, fix spring/chunk computes and applies the spring force itself. fix
spring operates on groups, fix spring/chunk on chunks.​

If so, yet its output is a global scalar and 4 vectors. It seems not to
output the spring energy of every chunk. Then how do I output the spring
energy of chunks?

​there are​ no provisions for that in LAMMPS to make such

If not, what's the use of 'chunk' in this command?

fix spring/chunk ​exists because fix spring can only be applied to groups
and the number of groups is limited in LAMMPS for technical reasons. chunks
are much more flexible and their number is not limited. so if you want to
restrain not individual atoms but many small groups, you need something
like it.

​axel.​

Dear Axel,

Thanks for your reply.

one more question. I want to collect the position distributions along the reaction coordinate in steps of several angstroms. Does it work if I change the equilibrium position in command ‘fix spring’? Is that the only way ?

Regards,

Chen Bo

Dear Axel,

Thanks for your reply.

one more question. I want to collect the position distributions along the
reaction coordinate in steps of several angstroms. Does it work if
I change the equilibrium position in command 'fix spring'? Is that the only
way ?

​that is to generic a question to give a specific answer.​ are you talking
about doing umbrella sampling here? and what is the connection to fix
spring/chunk?

axel.

Dear Axel,

yes, i’m talking about doing umbrella sampling.

at first, i want to set a series of equilibrium distance in command 'fix spring’to collect the position distributions, but i think it is too complex.

subsequently, i thought that it might work to assign many chunks in 3d bins along axis and compute the spring energy of every chunk by ‘fix spring/chunk’.

but you have elucidated that it is different from what i thought.

so, is there any other way to perform that?

Regards,

Chen Bo

Dear Axel,

yes, i'm talking about doing umbrella sampling.

at first, i want to set a series of equilibrium distance in command 'fix
spring'to collect the position distributions, but i think it is too complex.

​not really. it is *the* way how umbrella sampling works (provided your
reaction coordinate is moving a group of atoms along a particular path. if
the path is a straight line, you can start with doing a steered MD run
first and then pick restarts along that path as start configurations for
the individual runs, which can then be run in an embarrassingly parallel
fashion.

subsequently, i thought that it might work to assign many chunks in 3d
bins along axis and compute the spring energy of every chunk by 'fix
spring/chunk'.

but you have elucidated that it is different from what i thought.

so, is there any other way to perform that?

​to do umbrella sampling? not much. there are libraries like colvars or
plumed, that can handle more complex collective variables (or pathways) and
that also support other free energy methods. but umbrella sampling with
many individual runs as described above is as easy to do and understand as
it gets. if you are struggling with that, perhaps you need to read a bit
more about umbrella sampling and how other people have used it. it is not
exactly a new technique and so there is a vast amount of published
literature and text books about it.

axel.​