{"id":18711251,"url":"https://github.com/rocm/openfoam_hmm","last_synced_at":"2025-04-12T11:34:55.895Z","repository":{"id":76898771,"uuid":"558375907","full_name":"ROCm/OpenFOAM_HMM","owner":"ROCm","description":"Refactoring OpenFOAM with OpenMP target offloading and use of HMM to offload work onto GPUs","archived":false,"fork":false,"pushed_at":"2024-12-20T17:35:22.000Z","size":260974,"stargazers_count":24,"open_issues_count":1,"forks_count":4,"subscribers_count":7,"default_branch":"suyash/hmm","last_synced_at":"2025-03-26T06:22:30.389Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ROCm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2022-10-27T12:31:36.000Z","updated_at":"2025-03-21T16:11:09.000Z","dependencies_parsed_at":"2024-12-20T18:37:09.443Z","dependency_job_id":null,"html_url":"https://github.com/ROCm/OpenFOAM_HMM","commit_stats":null,"previous_names":["rocm/openfoam_hmm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FOpenFOAM_HMM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FOpenFOAM_HMM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FOpenFOAM_HMM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FOpenFOAM_HMM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ROCm","download_url":"https://codeload.github.com/ROCm/OpenFOAM_HMM/tar.gz/refs/heads/suyash/hmm","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248560618,"owners_count":21124690,"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-07T12:38:10.800Z","updated_at":"2025-04-12T11:34:50.848Z","avatar_url":"https://github.com/ROCm.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About OpenFOAM\nOpenFOAM is a free, open source CFD software [released and developed by OpenCFD Ltd since 2004](http://www.openfoam.com/history/).\nIt has a large user base across most areas of engineering and science, from both commercial and academic organisations.\nOpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to acoustics, solid mechanics and electromagnetics.\n[See documentation](http://www.openfoam.com/documentation)\n\nOpenFOAM is professionally released every six months to include\ncustomer sponsored developments and contributions from the community -\nindividual and group contributors, integrations\n(eg, from FOAM-extend and OpenFOAM Foundation Ltd) as well as\n[governance guided activities](https://www.openfoam.com/governance/).\n\n\n## License\n\nOpenFOAM is free software: you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation, either version 3 of the License, or (at your\noption) any later version.  See the file COPYING in this directory or\n[http://www.gnu.org/licenses/](http://www.gnu.org/licenses), for a\ndescription of the GNU General Public License terms under which you\nmay redistribute files.\n\n\n## OpenFOAM Trademark\n\nOpenCFD Ltd grants use of its OpenFOAM trademark by Third Parties on a\nlicence basis. ESI Group and OpenFOAM Foundation Ltd are currently\npermitted to use the Name and agreed Domain Name. For information on\ntrademark use, please refer to the\n[trademark policy guidelines][link trademark].\n\nPlease [contact OpenCFD](http://www.openfoam.com/contact) if you have\nany questions about the use of the OpenFOAM trademark.\n\nViolations of the Trademark are monitored, and will be duly prosecuted.\n\n\n## Using OpenFOAM\n\nIf OpenFOAM has already been compiled on your system, simply source\nthe appropriate `etc/bashrc` or `etc/cshrc` file and get started.\nFor example, for the OpenFOAM-v2112 version:\n```\nsource /installation/path/OpenFOAM-v2112/etc/bashrc\n```\n\n## Compiling OpenFOAM\n\nIf you are compiling OpenFOAM from source, please see the relevant\nguides:\n\n| Location    | Readme    | Requirements | Build |\n|-------------|-----------|--------------|-------|\n| [OpenFOAM][repo openfoam] | [readme][link openfoam-readme] | [system requirements][link openfoam-require] | [build][link openfoam-build] |\n| [ThirdParty][repo third] | [readme][link third-readme] | [system requirements][link third-require] | [build][link third-build] |\n\n\nIf you need to modify the versions or locations of ThirdParty\nsoftware, please read how the\n[OpenFOAM configuration][wiki-config] is structured.\n\n\n## How do I know which version I am currently using?\n\nThe value of the `$WM_PROJECT_DIR` or even `$WM_PROJECT_VERSION` are\nnot guaranteed to have any correspondence to the OpenFOAM release\n(API) value. If OpenFOAM has already been compiled, the build-time\ninformation is embedded into each application. For example, as\ndisplayed from `blockMesh -help`:\n```\nUsing: OpenFOAM-com (2012) - visit www.openfoam.com\nBuild: b830beb5ea-20210429 (patch=210414)\nArch:  LSB;label=32;scalar=64\n```\nThis output contains all of the more interesting information that we need:\n\n| item                  | value         |\n|-----------------------|---------------|\n| version               | com  (eg, local development branch) |\n| api                   | 2012          |\n| commit                | b830beb5ea    |\n| author date           | 20210429      |\n| patch-level           | (20)210414    |\n| label/scalar size     | 32/64 bits    |\n\nThe Arch information may also include the `solveScalar` size\nif different than the `scalar` size.\n\nAs can be seen in this example, the git build information is\nsupplemented by the date when the last change was authored, which can\nbe helpful when the repository contains local changes. If you simply\nwish to know the current API and patch levels directly, the\n`wmake -build-info` provides the relevant information even\nwhen OpenFOAM has not yet been compiled:\n```\n$ wmake -build-info\nmake\n    api = 2012\n    patch = 210414\n    branch = master\n    build = 308af39136-20210426\n```\nSimilar information is available with `foamEtcFile`, using the\n`-show-api` or `-show-patch` options. For example,\n```\n$ foamEtcFile -show-api\n2012\n\n$ foamEtcFile -show-patch\n210414\n```\nThis output will generally be the easiest to parse for scripts.\nThe `$FOAM_API` convenience environment variable may not reflect the\npatching changes made within the currently active environment and\nshould be used with caution.\n\n\n## ThirdParty directory\n\nOpenFOAM normally ships with a directory of 3rd-party software and\nbuild scripts for some 3rd-party software that is either necessary or\nat least highly useful for OpenFOAM, but which are not necessarily\nreadily available on every operating system or cluster installation.\n\nThese 3rd-party sources are normally located in a directory parallel\nto the OpenFOAM directory. For example,\n```\n/path/parent\n|-- OpenFOAM-v2112\n\\-- ThirdParty-v2112\n```\nThere are, however, many cases where this simple convention is inadequate:\n\n* When no additional 3rd party software is actually required (ie, the\n  operating system or cluster installation provides it)\n\n* When we have changed the OpenFOAM directory name to some arbitrary\n  directory name, e.g. openfoam-sandbox2112, etc..\n\n* When we would like any additional 3rd party software to be located\n  inside of the OpenFOAM directory to ensure that the installation is\n  encapsulated within a single directory structure. This can be\n  necessary for cluster installations, or may simply be a convenient\n  means of performing a software rollout for individual workstations.\n\n* When we have many different OpenFOAM directories for testing or\n  developing various different features but wish to use or reuse the\n  same 3rd party software for them all.\n\nThe solution for these problems is a newer, more intelligent discovery\nwhen locating the ThirdParty directory with the following precedence:\n\n1. PROJECT/ThirdParty\n   * for single-directory installations\n2. PREFIX/ThirdParty-VERSION\n   * this corresponds to the traditional approach\n3. PREFIX/ThirdParty-vAPI\n   * allows for an updated value of VERSION, *eg*, `v2112-myCustom`,\n     without requiring a renamed ThirdParty. The API value would still\n     be `2112` and the original `ThirdParty-v2112/` would be found.\n4. PREFIX/ThirdParty-API\n   * same as the previous example, but using an unadorned API value.\n5. PREFIX/ThirdParty-common\n   * permits maximum reuse for various versions, for experienced\n     users who are aware of potential version incompatibilities\n\nIf none of these directories are found to be suitable, it reverts to\nusing PROJECT/ThirdParty as a dummy location (even if the directory\ndoes not exist). This is a safe fallback value since it is within the\nOpenFOAM directory structure and can be trusted to have no negative\nside-effects. In the above, the following notation has been used:\n\n| name          | value         | meaning       |\n|---------------|---------------|---------------|\n| PROJECT       | `$WM_PROJECT_DIR`     | The OpenFOAM directory |\n| PREFIX        | `dirname $WM_PROJECT_DIR` | The OpenFOAM parent directory |\n| API           | `foamEtcFiles -show-api` |  The api or release version |\n| VERSION       | `$WM_PROJECT_VERSION` | The version we have chosen |\n\nTo reduce the potential of false positive matches (perhaps some other\nsoftware also uses ThirdParty-xxx for its naming), the directory test\nis accompanied by a OpenFOAM-specific sanity test. The OpenFOAM\nThirdParty directory will contain either an `Allwmake` file or a\n`platforms/` directory.\n\n\n\u003c!-- OpenFOAM --\u003e\n\n[link trademark]: https://www.openfoam.com/opencfd-limited-trade-mark-policy\n\n[repo openfoam]: https://develop.openfoam.com/Development/openfoam/\n[repo third]: https://develop.openfoam.com/Development/ThirdParty-common/\n\n[link openfoam-readme]: https://develop.openfoam.com/Development/openfoam/blob/develop/README.md\n[link openfoam-issues]: https://develop.openfoam.com/Development/openfoam/blob/develop/doc/BuildIssues.md\n[link openfoam-build]: https://develop.openfoam.com/Development/openfoam/blob/develop/doc/Build.md\n[link openfoam-require]: https://develop.openfoam.com/Development/openfoam/blob/develop/doc/Requirements.md\n[link third-readme]: https://develop.openfoam.com/Development/ThirdParty-common/blob/develop/README.md\n[link third-build]: https://develop.openfoam.com/Development/ThirdParty-common/blob/develop/BUILD.md\n[link third-require]: https://develop.openfoam.com/Development/ThirdParty-common/blob/develop/Requirements.md\n\n[wiki-config]: https://develop.openfoam.com/Development/openfoam/-/wikis/configuring\n\n\n## Useful Links\n\n- Download [source](https://dl.openfoam.com/source/) and [download and installation instructions](http://www.openfoam.com/download/)\n- [Documentation](http://www.openfoam.com/documentation)\n- [Reporting bugs/issues/feature requests](http://www.openfoam.com/code/bug-reporting.php)\n- [Issue tracker](https://develop.openfoam.com/Development/openfoam/-/issues)\n- [Code wiki](https://develop.openfoam.com/Development/openfoam/-/wikis/) and [General wiki](http://wiki.openfoam.com/)\n- [Governance](http://www.openfoam.com/governance/), [Governance Projects](https://www.openfoam.com/governance/projects)\n- [Contacting OpenCFD](http://www.openfoam.com/contact/)\n\nCopyright 2016-2021 OpenCFD Ltd\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Fopenfoam_hmm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocm%2Fopenfoam_hmm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Fopenfoam_hmm/lists"}