# Adapter for MOOSE?

**URL:** <https://precice.discourse.group/t/adapter-for-moose/1296>\
**Category:** Is preCICE for me?\
**Tags:** adapters\
**Created:** [February 9, 2023, 10:40am UTC](https://precice.discourse.group/t/adapter-for-moose/1296 "2023-02-09T10:40:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dionhaefner](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/dionhaefner/32/1564_2.png) [@dionhaefner](https://precice.discourse.group/u/dionhaefner)\
**Post date:** [February 9, 2023, 10:40am UTC](https://precice.discourse.group/t/adapter-for-moose/1296/1 "2023-02-09T10:40:02Z")

</div>

Has anyone ever looked into supporting the [MOOSE](https://mooseframework.inl.gov/) framework? Any pointers on what it would take to develop an adapter for it?

---

<div class="post-metadata">

**Author:** ![uekerman](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/uekerman/32/2199_2.png) [@uekerman](https://precice.discourse.group/u/uekerman)\
**Post date:** [February 11, 2023, 12:47pm UTC](https://precice.discourse.group/t/adapter-for-moose/1296/2 "2023-02-11T12:47:48Z")

</div>

Welcome to the forum @dionhaefner 👋

I am not aware of any initiative to develop an adapter for MOOSE, but it would certainly be very interesting for the community.

I assume it could be very similar to the existing adapters to FEM codes. They operate on different levels:

- Nutils directly calls preCICE in their application scripts, e.g. [tutorials/solid.py at master · precice/tutorials · GitHub](https://github.com/precice/tutorials/blob/master/flow-over-heated-plate/solid-nutils/solid.py)
- For FEniCS, we developed a complete stand-alone adapter: [https://www.doi.org/10.1016/j.softx.2021.100807](https://www.doi.org/10.1016/j.softx.2021.100807)
- The deal.II-preCICE adapter is somehow in between: stand-alone, but not completely generic.

Could also be helpful:

> **[Dealing with FEM meshes | preCICE - The Coupling Library](https://precice.org/couple-your-code-fem-meshes.html)**
>
> There are various options how to deal with FEM meshes in preCICE and the best one depends on your application.

---

<div class="post-metadata">

**Author:** ![Makis](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/makis/32/25_2.png) [@Makis](https://precice.discourse.group/u/Makis)\
**Post date:** [February 11, 2023, 10:05pm UTC](https://precice.discourse.group/t/adapter-for-moose/1296/3 "2023-02-11T22:05:42Z")

</div>

Could maybe this discussion lead you to someone that has already tried something related? Looking at the configuration, the user mentions preCICE!

> **[cannot pull docker container sha256 error on f1f00ef4e9ed layer · Discussion...](https://github.com/idaholab/moose/discussions/22788)**
>
> Bug Description I cannot run or pull container strage error occurs : docker run -ti idaholab/moose:latest /bin/bash -c 'cd test; ./run\_tests' Unable to find image 'idaholab/moose:latest...

---

<div class="post-metadata">

**Author:** ![dionhaefner](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/dionhaefner/32/1564_2.png) [@dionhaefner](https://precice.discourse.group/u/dionhaefner)\
**Post date:** [February 14, 2023, 10:49am UTC](https://precice.discourse.group/t/adapter-for-moose/1296/4 "2023-02-14T10:49:38Z")

</div>

Thanks for the pointers! I’m not very familiar with MOOSE yet, so I’m not sure what the best way forward will be, but I’ll look into it.

I think this will be a bit different from Nutils / FEniCS, as a MOOSE adapter would probably have to use C++ machinery instead of relying on a high-level API. I’ll have a look at the deal.II adapter.

---

<div class="post-metadata">

**Author:** ![Makis](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/makis/32/25_2.png) [@Makis](https://precice.discourse.group/u/Makis)\
**Post date:** [February 17, 2023, 1:44pm UTC](https://precice.discourse.group/t/adapter-for-moose/1296/5 "2023-02-17T13:44:55Z")

</div>

There is actually detailed documentation for the C++ API: [Step 1 – Preparation | preCICE - The Coupling Library](https://precice.org/couple-your-code-preparing-your-solver.html)
