{"id":15296157,"url":"https://github.com/sandialabs/omega_h","last_synced_at":"2025-06-20T10:36:05.607Z","repository":{"id":37895543,"uuid":"58775556","full_name":"sandialabs/omega_h","owner":"sandialabs","description":"Simplex mesh adaptivity for HPC","archived":false,"fork":false,"pushed_at":"2024-06-13T16:11:22.000Z","size":7257,"stargazers_count":116,"open_issues_count":39,"forks_count":54,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-05-20T10:07:52.597Z","etag":null,"topics":["cmake","cpp","cpp14","cuda","geometry","gpu","hpc","mesh","mesh-generation","meshing","mpi","openmp","parallel","parallel-computing","parallelism","sandia-national-laboratories","scr-2203","snl-science-libs","triangulation"],"latest_commit_sha":null,"homepage":"","language":"C++","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/sandialabs.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}},"created_at":"2016-05-13T22:15:37.000Z","updated_at":"2025-05-01T01:53:30.000Z","dependencies_parsed_at":"2023-12-16T17:02:42.819Z","dependency_job_id":"1d33cdb7-7920-499f-99b6-28d3a9766705","html_url":"https://github.com/sandialabs/omega_h","commit_stats":{"total_commits":3895,"total_committers":32,"mean_commits":121.71875,"dds":0.5170731707317073,"last_synced_commit":"dc235450cf15b2b9549fabe8472269e7f8618cae"},"previous_names":[],"tags_count":194,"template":false,"template_full_name":null,"purl":"pkg:github/sandialabs/omega_h","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fomega_h","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fomega_h/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fomega_h/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fomega_h/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandialabs","download_url":"https://codeload.github.com/sandialabs/omega_h/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fomega_h/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260927238,"owners_count":23083982,"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":["cmake","cpp","cpp14","cuda","geometry","gpu","hpc","mesh","mesh-generation","meshing","mpi","openmp","parallel","parallel-computing","parallelism","sandia-national-laboratories","scr-2203","snl-science-libs","triangulation"],"created_at":"2024-09-30T18:09:36.235Z","updated_at":"2025-06-20T10:36:00.589Z","avatar_url":"https://github.com/sandialabs.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Omega\\_h Logo][1]\n\n# Omega\\_h\n\u003e Reliable mesh adaptation\n\nOmega\\_h is a C++14 library that implements tetrahedron and triangle mesh adaptativity,\nwith a focus on scalable HPC performance using (optionally) MPI and OpenMP or CUDA.\nIt is intended to provided adaptive functionality to existing simulation codes.\nMesh adaptivity allows one to minimize both discretization error and number\nof degrees of freedom live during the simulation, as well as enabling moving\nobject and evolving geometry simulations.\nOmega\\_h will do this for you in a way that is fast, memory-efficient, and\nportable across many different architectures.\n\n## Installing / Getting started\n\nFor a bare minimum setup with no parallelism, you just need [CMake][0],\na C++14 compiler, and preferably [ZLib][6] installed.\n\n```shell\ngit clone git@github.com:SNLComputation/omega_h.git\ncd omega_h\ncmake . -DCMAKE_INSTALL_PREFIX=/your/choice\nmake install\n```\n\nThis should install Omega\\_h under the given prefix in a way you can\naccess from your own CMake files using these CMake commands:\n\n```cmake\nfind_package(Omega_h)\ntarget_link_libraries(myprogram Omega_h::omega_h)\n```\n\n## Features\n\nOmega\\_h provides at least the following:\n* Adaptation of tetrahedral and triangle meshes in parallel\n* Anisotropic metric field support\n* Given good input element quality, the output element\n  quality is also guaranteed.\n* Scalable MPI parallelism\n* On-node OpenMP or CUDA parallelism\n* Fully deterministic execution\n* Given the same mesh, global numbering, and size field,\n  results will be independent of parallel partitioning\n  and ordering.\n\n## Configuration\n\nBelow we document some key CMake configuration options:\n\n#### Omega\\_h\\_USE\\_MPI\nDefault: `OFF`\n\nWhether to enable MPI parallelism.\nWe recommend using [MPICH][3] or another MPI 3.0 implementation,\nbut we also support MPI version 2.1.\nIf this is `ON`, set `CMAKE_CXX_COMPILER` to your MPI compiler wrapper.\n\n#### Omega\\_h\\_USE\\_OpenMP\nDefault: `OFF`\n\nWhether to enable OpenMP thread parallelism.\nThe `-fopenmp` flag will automatically be added.\n\n#### Omega\\_h\\_USE\\_CUDA\nDefault: `OFF`\n\nWhether to enable CUDA GPU parallelism.\nCurrently, this requires that [`nvcc_wrapper`][7] be used as the `CMAKE_CXX_COMPILER`.\n\n#### Omega\\_h\\_USE\\_SEACASExodus\nDefault: `OFF`\n\nWhether to use the Exodus subpackage of the SEACAS toolkit.\nThis allows reading and writing Exodus files from Omega\\_h.\nBy default, it will look for this dependency in `SEACASExodus_PREFIX`.\n\n## Contributing\n\nPlease open a Github issue to ask a question, report a bug,\nrequest features, etc.\nIf you'd like to contribute, please fork the repository and use a feature\nbranch. Pull requests are welcome.\n\n## Licensing\n\nThis library is released under the FreeBSD license.\n\n[0]: https://cmake.org\n[1]: https://raw.githubusercontent.com/SNLComputation/omega_h/master/misc/omega_h.png\n[3]: http://www.mpich.org\n[6]: http://zlib.net\n[7]: http://github.com/kokkos/nvcc_wrapper\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fomega_h","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandialabs%2Fomega_h","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fomega_h/lists"}