Inquiry Regarding Centering Polymer Head in LAMMPS Movie Dump

I am reaching out to seek guidance on a specific issue I’ve encountered while working with LAMMPS.

Currently, I am conducting simulations involving a polymer system, and I am utilizing the dump movie command to generate a movie of the simulation trajectory. However, I am facing a challenge in ensuring that the polymer head remains consistently centered within each frame of the movie, which would significantly aid visualization and analysis.
Could you kindly provide any guidance, insights, or potential workarounds to address this issue? I would greatly appreciate any assistance or suggestions you could offer in this regard.

Thank you very much for your time and consideration.

The fix recenter command — LAMMPS documentation has been written for exactly this purpose.

The ‘fix recenter’ command functions by recentering the center-of-mass (COM) of a group of atoms to a specified coordinate. However, what I aim for is to ensure that, without altering the simulation dynamics, the camera remains zoomed in on the atom’s position. This way, in the output video, the particle stays centered within the frame.

but that is exactly what fix recenter does. Please re-read the documentation.
Please mind that a group can also consist of a single atom.

If this is still not satisfactory, you need to provide more details about your simulation system and where exactly fix recenter causes problems.

Let’s consider the command “dump m2 all movie 500 NEW_movie_${KAPPA}.mpg type type zoom 30 adiam 0.98 bond type 0.25 center s 0.48 0.5 0.5 size 1000 1000”. This command creates a video with a zoom value of 30. Suppose there’s a polymer inside the simulation box. Whenever it crosses the region defined by “0.48, 0.5, 0.5,” that part is visible in the video. However, what I desire is for the video to focus on the head of the polymer wherever it is inside the box. For zoom values of 1 and 2, the entire simulation box is covered, but for higher zoom values, only a portion is visible.

Whether you “reposition” the camera or “reposition” the object the camera is looking at will make no difference in the resulting image. The realigning of coordinate data to a reference position (or orientation) is a very common practice in the visualization of biomolecules, for example.

But if you insist on making your life complicated, you can experiment with creating equal style variables for the camera position and compute their values based on your object of interest: dump image command — LAMMPS documentation

box_x = 300
box_y = 320

variable Cx equal x[611]/300.000000
variable Cy equal y[611]/320.000000
variable Cz equal z[611]

|
|
|
dump m2 all movie 500 NEW_movie_{KAPPA}.mpg type type zoom 0 adiam 0.98 bond type 0.25 center d {Cx} {Cy} {Cz} size 1000 1000

the " center d {Cx} {Cy} ${Cz} " is not working.

Your post is unreadable. Please check out the guidelines post on how to quote correctly.

in.semi_polymer_master (2.1 KB)
box_x = 300
box_y = 320

variable Cx equal x[611]/300.000000
variable Cy equal y[611]/320.000000
variable Cz equal z[611]

|
|
|
dump m2 all movie 500 NEW_movie_v_KAPPA.mpg type type zoom 0 adiam 0.98 bond type 0.25 center d v_Cx v_Cy v_Cz size 1000 1000 the " center d v_Cx v_Cy v_Cz " is not working.

“is not working” is too vague to give advice on.

You may need to do some careful testing of what to input.

I would just use fix recenter…

In the dump movie command, when defining the dynamic center using ‘center d Cx Cy Cz,’ how should the variables Cx, Cy, and Cz be defined? Are they defined using the ‘equal’ style or in some other manner?

How about reading the documentation?

1 Like

Here is a quick example where I have taking the “peptide” example from the LAMMPS examples folder and used:

variable cx equal ramp(0.0,1.0)
dump           3 peptide movie 5 movie.mpg type type &
               axes yes 0.8 0.02 view 60 -30 bond atom 0.5 center s v_cx 0.5 0.5
dump_modify    3 pad 3

Which essentially adds center s v_cx 0.5 0.5 to the dump movie command already present in the input to create a simple pan of the camera along the system.
movie.mkv (440.2 KB)

This demonstrates that the functionality is working as documented. Everything beyond that is effectively your problem and a question of your ability to follow the documentation and debug your input.

As I already mentioned, it is non-trivial and not my preferred approach to solve the problem you described. Thus I have no further advice for you.

Dear akohlmey,

Thank you for your detailed explanation and providing the customized example from the LAMMPS peptide simulation. Your demonstration of incorporating camera panning functionality is insightful and greatly appreciated.

I understand your perspective regarding further customization and debugging, and I will certainly delve deeper into the documentation to address any issues that may arise. Your guidance has been invaluable, and I’ll make sure to leverage it effectively as I continue exploring and working with LAMMPS.