{"id":21241152,"url":"https://github.com/ccsi-toolset/mgn","last_synced_at":"2025-07-10T20:30:57.776Z","repository":{"id":38989133,"uuid":"431925469","full_name":"CCSI-Toolset/MGN","owner":"CCSI-Toolset","description":"MeshGraphNets (MGN)","archived":false,"fork":false,"pushed_at":"2023-11-09T01:37:35.000Z","size":69826,"stargazers_count":61,"open_issues_count":1,"forks_count":22,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-05T17:05:18.247Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CCSI-Toolset.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-11-25T17:22:22.000Z","updated_at":"2025-01-03T08:35:13.000Z","dependencies_parsed_at":"2023-10-11T04:59:44.063Z","dependency_job_id":"583ba016-796f-4093-b138-c381f29ae411","html_url":"https://github.com/CCSI-Toolset/MGN","commit_stats":{"total_commits":14,"total_committers":3,"mean_commits":4.666666666666667,"dds":0.5714285714285714,"last_synced_commit":"9c7b1434fefca5f5da233b2c4099a9c54f205848"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/CCSI-Toolset/MGN","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCSI-Toolset%2FMGN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCSI-Toolset%2FMGN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCSI-Toolset%2FMGN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCSI-Toolset%2FMGN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CCSI-Toolset","download_url":"https://codeload.github.com/CCSI-Toolset/MGN/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCSI-Toolset%2FMGN/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264652627,"owners_count":23644292,"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":[],"created_at":"2024-11-21T00:54:49.479Z","updated_at":"2025-07-10T20:30:52.760Z","avatar_url":"https://github.com/CCSI-Toolset.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MeshGraphNets\n\nThis codebase contains PyTorch implementations of graph neural networks for CFD simulation surrogate development. The plan is to apply this code to predict volume fraction fields associated with CFD simulations of a representative column model (Fu et al., 2020) for solvent-based carbon capture within the CCSI2 project.\n\n## Environment Setup\n\nDue to the nature of certain libaries requiring its requisites to be pre-installed, we need to build the environment step-by-step (instead of just using a `environment.yml` file)\n\n```bash\nconda create --name ccsi_release python=3.10\nconda activate ccsi_release\n\npip install torch==2.0.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117\npip install torch_geometric==2.3.1\npip install torch_scatter torch_cluster -f https://data.pyg.org/whl/torch-2.0.1+cu117.html\nconda install scipy pandas networkx matplotlib tensorboard\npip install python-louvain\n```\n\n## Training Models\n\nWe provide two main settings for training models:\n\n1. **Training on an Interactive Node**\n  - Single process.\n  - Multiple processes. Gradients synced using distributed data parallel (DDP).\n    - Each process will have it's own GPU.\n  - See the `README.md` in `training_scripts/` for more information.\n  \n2. **Training with Multiple Nodes using Job Schedulers**\n  - Multiple processes. Gradients synced using distributed data parallel (DDP) **across multiple nodes**.\n  - For **SLURM** based systems (e.g. NERSC), see the `README.md` in `bash_scripts/training/SLURM/` for more information.\n  - For **LSF** based systems (e.g. LC's Lassen), see the `README.md` in `bash_scripts/training/LSF/` for more information. \n\n## Rolling Out Simulations\n\nWe provide two main settings for rollouts:\n\n1. **Rollouts on an Interactive Node**\n  - Single process, full-domain rollouts.\n  - See the `README.md` in `rollout_scripts/` for more information.\n  \n2. **Rollouts with Multiple Nodes using Job Schedulers**\n  - Multiple processes, patch rollouts. Patch syncing between processes, uses distributed data parallel (DDP) **across multiple nodes**.\n  - For **SLURM** based systems (e.g. NERSC), see the `README.md` in `bash_scripts/rollouts/SLURM/` for more information.\n  - For **LSF** based systems (e.g. LC's Lassen), see the `README.md` in `bash_scripts/rollouts/LSF/` for more information. \n\n## Relevant Publications/Datasets\n\n[[10.48550/arXiv.2304.00338] Scientific Computing Algorithms to Learn Enhanced Scalable Surrogates for Mesh Physics](https://arxiv.org/abs/2304.00338)\n\n[[10.1016/j.ces.2020.115693] Investigation of countercurrent flow profile and liquid holdup in random packed column with local CFD data](https://www.sciencedirect.com/science/article/pii/S0009250920302256)\n\n[[10.48550/arXiv.2010.03409] Learning Mesh-Based Simulation with Graph Networks](https://arxiv.org/abs/2010.03409)\n\n[[10.25584/1963908] Packed Column Simulations](https://data.pnnl.gov/group/nodes/dataset/33472)\n\n## Requirements\nSee [environment.yml](environment.yml).\n\n## Authors\n\n### V1\n    - Phan Nguyen\n    - Brian Bartoldson\n    - Sam Nguyen\n    - Jose Cadena\n    - Rui Wang\n    - David Widemann\n    - Brenda Ng\n\n### V2\n    - Phan Nguyen\n    - Brian Bartoldson\n    - Amar Saini\n    - Jose Cadena\n    - Yeping Hu\n\n## Release\n\nLLNL release number (V1): LLNL-CODE-829430\n\nLLNL release number (V2): LLNL-CODE-855189\n\nThis work was produced under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.\n\nThis research used resources of the National Energy Research Scientific Computing Center, a DOE Office of Science User Facility supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231 using NERSC award BES-ERCAP0024437. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccsi-toolset%2Fmgn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccsi-toolset%2Fmgn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccsi-toolset%2Fmgn/lists"}