{"id":27771399,"url":"https://github.com/xtotdam/lammps-tools","last_synced_at":"2025-10-07T17:03:16.412Z","repository":{"id":290364684,"uuid":"974180656","full_name":"xtotdam/lammps-tools","owner":"xtotdam","description":"Штуки для работы с LAMMPS","archived":false,"fork":false,"pushed_at":"2025-04-28T11:59:25.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-28T12:50:29.894Z","etag":null,"topics":["lammps","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xtotdam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-28T11:31:09.000Z","updated_at":"2025-04-28T11:59:29.000Z","dependencies_parsed_at":"2025-04-28T12:50:33.901Z","dependency_job_id":"9cf84e31-cde9-4a21-acfe-aeffe39162aa","html_url":"https://github.com/xtotdam/lammps-tools","commit_stats":null,"previous_names":["xtotdam/lammps-tools"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtotdam%2Flammps-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtotdam%2Flammps-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtotdam%2Flammps-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtotdam%2Flammps-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xtotdam","download_url":"https://codeload.github.com/xtotdam/lammps-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251596323,"owners_count":21615006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lammps","python"],"created_at":"2025-04-29T22:37:45.933Z","updated_at":"2025-10-07T17:03:16.385Z","avatar_url":"https://github.com/xtotdam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"lammps-tools\n============\n\n[![en](https://img.shields.io/badge/lang-en-red.svg)](https://github.com/xtotdam/lammps-tools/blob/master/README.en.md)\n\nРазные полезности для удобной работы с LAMMPS\n\n## Скрипты\n\n### `archive_run.py`\n\nАрхиватор запусков LAMMPS. Копирует файлы во временную папку, запускает расчет, опционально компилирует дампы NEB, архивирует полезные файлы, удаляет ненужные файлы.\nПозволяет запускать несколько расчетов на одинаковых файлах с разными параметрами одновременно параллельно.\n\nВ начале скрипта словарь `patterns` хранит шаблоны имен файлов, которые будут заархивированы и удалены.\n\n```\n# python archive_run.py --help\nusage: LAMMPS Runner [-h] [-d] [-n] [-m [MESSAGE ...]] command [command ...]\n\nRuns LAMMPS, compiles NEB files, archives all data\n\npositional arguments:\n  command               LAMMPS command to run\n\noptions:\n  -h, --help            show this help message and exit\n  -d, --skip-delete     Skip deletion of files\n  -n, --skip-ntfy       Skip NTFY request\n  -m [MESSAGE ...], --message [MESSAGE ...]\n                        Run description\n\nv0.2\n```\n\n#### Пример запуска\n\n`python archive_run.py -m \"ontop K=100\" -- mpirun -np 8 lmp -partition 8x1 -var K 100 -in ontop-neb.lmp`\n\nПредполагая, что положение скрипта находится в `$PATH`, полноценный запуск с постановкой в очередь задач и подстановкой параметров:\n\n`parallel -j1 tsp archive_run.py -m \"K={}\" -- mpirun -np 8 lmp -partition 8x1 -var K {} -in ontop-neb.lmp ::: 1 10 100`\n\n#### Зависимости\n\n* `rich` (необязательно)\n* `export LAMMPS_PYTHON_TOOLS=/\u003c...\u003e/lammps/tools/python/pizza` в файле `~/.bashrc` (см. [документацию](https://github.com/lammps/lammps/tree/develop/tools/python))\n\n### `runs_analyze.py`\n\nАнализатор расчетов LAMMPS, работающий с результатами расчетов, созданными скриптом выше. :warning:WIP:construction:\n\nTODO: Docs!!\n\n#### Зависимости\n\n* `rich` (необязательно)\n* `plotly`\n* `pandas`\n\n#### Пример использования\n\n```py\nfrom tqdm.notebook import tqdm\nimport plotly.graph_objects as go\nimport runs_analyze as ra\nLammpsRunFolder, LammpsRun = ra.LammpsRunFolder, ra.LammpsRun\n\nlrf = LammpsRunFolder('runs/p-2mol1')\nlrf.describe() # кратко выведет найденные файлы\n\nruns = [ra.LammpsRun(run) for run in lrf.find()]\n\nfor run in tqdm(runs):\n    run.parse_neb()\n\n# профиль потенциального барьера\nfig = go.Figure(layout=dict(width=1000, height=700, xaxis_title_text='Reaction coordinate', yaxis_title_text='Energy, kcal/mol'))\nfor run in runs:\n    fig.add_traces(run.get_energy_path_traces(name=f'+{run.metadata[\"description\"]}'))\nfig.show()\n\n# просмотреть требуемый файл с помощью ASE\nruns[2].view_lammpsdata_with_ase('out.2.lammpsdata')\n\n# его изменение в течение расчета\nfor run in runs:\n    fig = go.Figure(layout=dict(width=1000, height=700, title=run.metadata['description']))\n    fig.add_traces(run.get_transition_evolution_traces())\n    fig.show()\n\n# то же в 3D\nfor run in runs:\n    fig = go.Figure(layout=dict(width=1000, height=700, title=run.metadata['description']))\n    fig.add_traces(run.get_3d_energy_traj_traces())\n    fig.show()\n```\n\n## Просмотрщики\n\n* `view-lammpsdata-in-ase[-3x3x1].cmd` --- для файлов, записанных LAMMPS директивой `write_data`\n* `view-poscar-in-ase[-3x3x1].cmd` --- для файлов POSCAR (VASP)\n* `view-xyz-in-ase[-3x3x1].cmd` --- для файлов [XYZ](https://en.wikipedia.org/wiki/XYZ_file_format)\n\nПри перетаскивании файла на этот скрипт откроется окно просмотрщика ASE. Скрипты с `3x3x1` в названии показывают ячейку, повторенную трижды вдоль осей X и Y.\n\nДля работы необходим установленный [ASE](https://wiki.fysik.dtu.dk/ase/).\n\nАналогичный функционал предоставляет Ovito с модификатором Replicate.\n\n\n## Прочее\n\n### `run-with_lammps.cmd`\n\nПри перетаскивании файла на этот скрипт, файл будет запущен LAMMPS\n\n### `add-ipynb-file-format.reg`\n\nДобавляет в Windows возможность создать пустой ipynb из контекстного меню проводника\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtotdam%2Flammps-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxtotdam%2Flammps-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtotdam%2Flammps-tools/lists"}