LJ cluster minimization (built-in potential)

Minimize the Lennard-Jones cluster (ljcluster) from benchmarks/data/min_lj_cluster/. Movies are required for the modern plot stack.

Plotting conventions:

  • energy profile and convergence from the minimization trajectory

  • a single 2D landscape for this job (one endpoint → one RMSD frame), with title from --label and initial / minimized captions

  • relative energy on the landscape colorbar for readable ticks

The benchmark geometry is under the force tolerance, so the client would write one frame. The setup cell moves the first atom by 0.001 angstroms along x, and the minimizer then takes a real step. The landscape cell passes --ira-kmax 1.8.

Setup and run

Energy profile

out = plot_dir / "min_1d.png"
run_rgpycrumbs(
    "eon",
    "plt-min",
    "--job-dir",
    str(work),
    "--label",
    "lj cluster",
    "--plot-type",
    "profile",
    "--dpi",
    "150",
    "-o",
    str(out),
)
show_plot(out)
$ /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/bin/python3.12 -m rgpycrumbs.cli eon plt-min --job-dir /tmp/eon_lj_min_g5xic0ji --label lj cluster --plot-type profile --dpi 150 -o /tmp/eon_lj_min_g5xic0ji/plots/min_1d.png
--> Dispatching to: /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/bin/python3.12 /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/lib/python3.12/site-packages/rgpycrumbs/eon/plt_min.py --job-dir /tmp/eon_lj_min_g5xic0ji --label lj cluster --plot-type profile --dpi 150 -o /tmp/eon_lj_min_g5xic0ji/plots/min_1d.png
[10/21/26 13:46:33] INFO     INFO - Loading minimization trajectory from        
                             /tmp/eon_lj_min_g5xic0ji                           
                    INFO     INFO - Using minimization metrics from frame       
                             metadata (7 rows)                                  
                    INFO     INFO - Loaded 7 frames, 7 data rows                
                    INFO     INFO - Loaded minimization trajectory from         
                             /tmp/eon_lj_min_g5xic0ji (7 frames)                
                    INFO     INFO - Setting global rcParams for ruhi theme      
                    WARNING  WARNING - Font 'Atkinson Hyperlegible' not found.  
                             Falling back to 'sans-serif'.                      
[10/21/26 13:46:34] INFO     INFO - Saved                                       
                             /tmp/eon_lj_min_g5xic0ji/plots/min_1d.png          
--> Using active interpreter (readcon/plot stack present or --dev)
../../_images/0e5af085f1ea719c5227f403a4dfe2d329c110680a9d08a2fb28236ee1f0e2d7.png

2D optimization landscape

One landscape for this trajectory only. The title becomes Lj cluster minimization; endpoints are labeled initial / minimized.

out = plot_dir / "min_2d.png"
run_rgpycrumbs(
    "eon",
    "plt-min",
    "--job-dir",
    str(work),
    "--label",
    "lj cluster",
    "--ira-kmax",
    "1.8",
    "--plot-type",
    "landscape",
    "--project-path",
    "--surface-type",
    "grad_imq",
    "--plot-structures",
    "endpoints",
    "--strip-renderer",
    "xyzrender",
    "--strip-dividers",
    "--xyzrender-config",
    "paton",
    "--rotation",
    "90x,0y,0z",
    "--dpi",
    "150",
    "-o",
    str(out),
)
show_plot(out)
$ /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/bin/python3.12 -m rgpycrumbs.cli eon plt-min --job-dir /tmp/eon_lj_min_g5xic0ji --label lj cluster --ira-kmax 1.8 --plot-type landscape --project-path --surface-type grad_imq --plot-structures endpoints --strip-renderer xyzrender --strip-dividers --xyzrender-config paton --rotation 90x,0y,0z --dpi 150 -o /tmp/eon_lj_min_g5xic0ji/plots/min_2d.png
--> Dispatching to: /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/bin/python3.12 /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/lib/python3.12/site-packages/rgpycrumbs/eon/plt_min.py --job-dir /tmp/eon_lj_min_g5xic0ji --label lj cluster --ira-kmax 1.8 --plot-type landscape --project-path --surface-type grad_imq --plot-structures endpoints --strip-renderer xyzrender --strip-dividers --xyzrender-config paton --rotation 90x,0y,0z --dpi 150 -o /tmp/eon_lj_min_g5xic0ji/plots/min_2d.png
[10/21/26 13:46:36] INFO     INFO - Loading minimization trajectory from        
                             /tmp/eon_lj_min_g5xic0ji                           
                    INFO     INFO - Using minimization metrics from frame       
                             metadata (7 rows)                                  
                    INFO     INFO - Loaded 7 frames, 7 data rows                
                    INFO     INFO - Loaded minimization trajectory from         
                             /tmp/eon_lj_min_g5xic0ji (7 frames)                
                    INFO     INFO - Setting global rcParams for ruhi theme      
                    WARNING  WARNING - Font 'Atkinson Hyperlegible' not found.  
                             Falling back to 'sans-serif'.                      
                    INFO     INFO - Calculating landscape coordinates (RMSD-A,  
                             RMSD-B)...                                         
                    INFO     INFO - Generating 2D surface using grad_imq        
                             (Projected: True)...                               
[10/21/26 13:46:37] INFO     INFO - Unable to initialize backend 'tpu':         
                             INTERNAL: Failed to open libtpu.so: libtpu.so:     
                             cannot open shared object file: No such file or    
                             directory                                          
                    INFO     INFO - Unable to initialize backend 'proxy': The   
                             'proxy' backend requires the address of an IFRT    
                             Proxy server. Set it via the JAX_BACKEND_TARGET    
                             environment variable or the jax_backend_target     
                             config option, e.g.                                
                             JAX_BACKEND_TARGET=grpc://localhost:29000.         
[10/21/26 13:46:44] INFO     INFO - Loading /tmp/tmpv3ala34n.xyz                
[10/21/26 13:46:48] WARNING  WARNING - Stated charge +0, but the bond orders    
                             give -6594; formal charges follow the structure    
                    INFO     INFO - Built graph: 997 atoms, 5291 bonds          
[10/21/26 13:46:51] INFO     INFO - Loading /tmp/tmpt4d7r8cw.xyz                
[10/21/26 13:46:55] WARNING  WARNING - Stated charge +0, but the bond orders    
                             give -6594; formal charges follow the structure    
                    INFO     INFO - Built graph: 997 atoms, 5291 bonds          
[10/21/26 13:46:58] INFO     INFO - Saved                                       
                             /tmp/eon_lj_min_g5xic0ji/plots/min_2d.png          
--> Using active interpreter (readcon/plot stack present or --dev)
../../_images/d3ba416d94bc73f7440b971fc4df02e46acab5feb2ebc3916bca8f89322a806b.png

Convergence

out = plot_dir / "min_conv.png"
run_rgpycrumbs(
    "eon",
    "plt-min",
    "--job-dir",
    str(work),
    "--label",
    "lj cluster",
    "--plot-type",
    "convergence",
    "--dpi",
    "150",
    "-o",
    str(out),
)
show_plot(out)
$ /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/bin/python3.12 -m rgpycrumbs.cli eon plt-min --job-dir /tmp/eon_lj_min_g5xic0ji --label lj cluster --plot-type convergence --dpi 150 -o /tmp/eon_lj_min_g5xic0ji/plots/min_conv.png
--> Dispatching to: /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/bin/python3.12 /home/runner/work/eOn/eOn/.pixi/envs/docs-mta/lib/python3.12/site-packages/rgpycrumbs/eon/plt_min.py --job-dir /tmp/eon_lj_min_g5xic0ji --label lj cluster --plot-type convergence --dpi 150 -o /tmp/eon_lj_min_g5xic0ji/plots/min_conv.png
[10/21/26 13:47:00] INFO     INFO - Loading minimization trajectory from        
                             /tmp/eon_lj_min_g5xic0ji                           
                    INFO     INFO - Using minimization metrics from frame       
                             metadata (7 rows)                                  
                    INFO     INFO - Loaded 7 frames, 7 data rows                
                    INFO     INFO - Loaded minimization trajectory from         
                             /tmp/eon_lj_min_g5xic0ji (7 frames)                
                    INFO     INFO - Setting global rcParams for ruhi theme      
                    WARNING  WARNING - Font 'Atkinson Hyperlegible' not found.  
                             Falling back to 'sans-serif'.                      
[10/21/26 13:47:01] INFO     INFO - Saved                                       
                             /tmp/eon_lj_min_g5xic0ji/plots/min_conv.png        
--> Using active interpreter (readcon/plot stack present or --dev)
../../_images/277ed7e9df4fb3a30a71da923bbda7cf9f1b8e4ba250c69b1723ea6c3166f0cd.png

Multiple endpoints (reactant and product)

When both ends of a path are minimized, plot two landscapes (one job dir each). Overlay only the 1D profile / convergence panels:

# separate 2D frames
python -m rgpycrumbs.cli eon plt-min --job-dir min_reactant --label reactant \
  --plot-type landscape --project-path --plot-structures endpoints -o min_2D_reactant.png
python -m rgpycrumbs.cli eon plt-min --job-dir min_product --label product \
  --plot-type landscape --project-path --plot-structures endpoints -o min_2D_product.png

# shared 1D overlays
python -m rgpycrumbs.cli eon plt-min \
  --job-dir min_reactant --label reactant \
  --job-dir min_product --label product \
  --plot-type profile -o min_1D.png

See also