xgitlab.cels.anl.gov is now deprecated. If you're a project owner and wish to continue to host this project in CELS gitlab, see https://help.cels.anl.gov/docs/migrating-from-legacy-to-gce/gitlab/ for instructions on how to have your project migrated to the new gitlab server.
This server will be retired on December 15, 2022.
|"Fork Moon" to create a new MOOSE-based application.|
|MOON (Multiphysics Object-Oriented Nek5000) uses the [MOOSE](http://www.mooseframework.org/) framework to implement multiphysics coupling with [Nek5000](https://nek5000.mcs.anl.gov/) CFD simulations. The project is a collaboration between [Idaho National Laboratory](https://www.inl.gov/) and [Argonne National Laboratory](https://www.inl.gov/).|
|For more information see: [http://mooseframework.org/create-an-app/](http://mooseframework.org/create-an-app/)|
|Downloading the Repo|
|Cloning the MOON repository requires the `--recursive` flag, since MOOSE and libmesh are included as [Git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules). For example:|
|git clone --recursive https://xgitlab.cels.anl.gov/nek5000/moon.git|
|This will download and populate the src/moose and src/moose/libmesh.|
|Developing Nek5000 in MOON|
|Developers may freely modify src/Nek5000 as if it were a normal part of the MOON repo. This is because Nek5000 is included as a Git subtree (rather than a submodule). For routine commits, pushes, and pulls to the MOON repository, no extra Git commands are necessary.|
|With some additional Git commands, developers may easily merge upstream changes from [https://github.com/Nek5000/Nek5000](https://github.com/Nek5000/Nek5000) into src/Nek5000. Finally, developers may also request to merge changes from src/Nek5000 to [https://github.com/Nek5000/Nek5000](https://github.com/Nek5000/Nek5000). This [blog post](http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/) from Atlassian gives a brief rundown of the procedures.|
|Developing MOOSE and libmesh in MOON|
|Modifying src/moose and src/moose/libmesh require additional Git commands, since they are included as Git submodules (rather than subtrees). Modifying either of these libraries for MOON is intended to be unnecessary. Should the situation arise, this [chapter](https://git-scm.com/book/en/v2/Git-Tools-Submodules) from _Pro Git_ describes the procedure for making modifications to submodules.|