Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redo FEniCS-preCICE adapter handling of literature #97

Merged
merged 5 commits into from
Nov 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions assets/rodenberg2021.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
@article{Rodenberg2021,
title = {FEniCS--preCICE: Coupling FEniCS to other simulation software},
journal = {SoftwareX},
volume = {16},
pages = {100807},
year = {2021},
issn = {2352-7110},
doi = {https://doi.org/10.1016/j.softx.2021.100807},
url = {https://www.sciencedirect.com/science/article/pii/S2352711021001072},
author = {Benjamin Rodenberg and Ishaan Desai and Richard Hertrich and Alexander Jaust and Benjamin Uekermann},
keywords = {FEniCS, Fluid–structure interaction, Conjugate heat transfer, Multiphysics, Coupled problems, Finite element method, preCICE},
abstract = {The new software FEniCS–preCICE is a middle software layer, sitting in between the existing finite-element library FEniCS and the coupling library preCICE. The middle layer simplifies coupling (existing) FEniCS application codes to other simulation software via preCICE. To this end, FEniCS–preCICE converts between FEniCS and preCICE mesh and data structures, provides easy-to-use coupling conditions, and manages data checkpointing for implicit coupling. The new software is a library itself and follows a FEniCS-native style. Only a few lines of additional code are necessary to prepare a FEniCS application code for coupling. We illustrate the functionality of FEniCS–preCICE by two examples: a FEniCS heat conduction code coupled to OpenFOAM and a FEniCS linear elasticity code coupled to SU2. The results of both scenarios are compared with other simulation software showing good agreement.}
}

5 changes: 4 additions & 1 deletion collections/_publications/2019-Hertrich.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@ title: "Partitioned Fluid Structure Interaction: Coupling FEniCS and OpenFOAM vi
pub-url: https://mediatum.ub.tum.de/1520579
year: 2019
authors: "Richard Hertrich"
tag: fenics, fenics-precice-adapter
journal:
name: Bachelor's thesis
publisher: Munich School of Engineering, Technical University of Munich
---
Bachelor's thesis, Munich School of Engineering, Technical University of Munich
6 changes: 0 additions & 6 deletions collections/_publications/2021-Rodenberg-FEniCS

This file was deleted.

13 changes: 13 additions & 0 deletions collections/_publications/2021-Rodenberg-FEniCS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: "FEniCS–preCICE: Coupling FEniCS to other simulation software"
pub-url: https://www.sciencedirect.com/science/article/pii/S2352711021001072
year: 2021
authors: "Benjamin Rodenberg, Ishaan Desai, Richard Hertrich, Alexander Jaust, Benjamin Uekermann"
bibtex: rodenberg2021.bib
doi: 10.1016/j.softx.2021.100807
journal:
name: SoftwareX
volume: 16
publisher: Elsevier
tag: fenics, fenics-precice-adapter
---
78 changes: 70 additions & 8 deletions pages/docs/adapters/fenics/adapter-fenics.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,86 @@ Please refer to the installation instructions provided [here](https://github.com

The following tutorials can be used as a usage example for the FEniCS adapter:

* Solving the heat equation in a partitioned fashion (heat equation solved via FEniCS for both participants), see [1]
* Flow over plate (heat equation solved via FEniCS for solid participant), see [1]
* Perpendicular flap (structure problem solved via FEniCS), see [1, 2]
* Cylinder with flap (structure problem solved via FEniCS), see [2]
* Solving the heat equation in a partitioned fashion (heat equation solved via FEniCS for both participants)
* Flow over plate (heat equation solved via FEniCS for solid participant)
* Perpendicular flap (structure problem solved via FEniCS)
* Cylinder with flap (structure problem solved via FEniCS)

For more details please consult the references given in the [reference section](#related-literature).

## How can I use my own solver with the adapter ?

The FEniCS adapter does not couple your code out-of-the-box, but you have to call the adapter API from within your code. You can use the tutorials from above as an example. The API of the adapter and the design is explained and usage examples are given in [1].
The FEniCS adapter does not couple your code out-of-the-box, but you have to call the adapter API from within your code. You can use the tutorials from above as an example. The API of the adapter and the design is explained and usage examples are given in the [reference paper](#how-to-cite).

## You need more information?

Please don't hesitate to ask questions about the FEniCS adapter on [discourse](https://precice.discourse.group/) or in [gitter](https://gitter.im/precice/Lobby).

## How to cite

If you are using our adapter, please consider citing our paper "FEniCS-preCICE: Coupling FEniCS to other Simulation Software" [1].
If you are using our adapter, please consider citing our paper:

{% for pub in site.publications %}

{% if pub.title == "FEniCS–preCICE: Coupling FEniCS to other simulation software" %}

<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-primary panel-precice">
<div class="panel-heading-precice">
<strong>{{ pub.title }}</strong>
</div>
<div class="panel-body">
<p>
<em>{{ pub.authors }}</em>,
{{ pub.journal.name }},
Volume {{ pub.journal.volume }},
{{ pub.journal.publisher }},
{{ pub.year }},
<a href="https://www.doi.org/{{pub.doi}}">doi:{{pub.doi}}</a>.
</p>
<a href="{{pub.pub-url}}">Publisher's site</a>&nbsp;&nbsp;
<a href="assets/{{ pub.bibtex }}">Download BibTeX &nbsp;<i class="fas fa-download"></i></a>
</div>
</div>
</div>
</div>

{% endif %}

{% endfor %}

## Related literature

[1] Benjamin Rodenberg, Ishaan Desai, Richard Hertrich, Alexander Jaust, Benjamin Uekermann. FEniCS-preCICE: Coupling FEniCS to other Simulation Software. [preprint on arXiv, arxiv.org/abs/2103.11191](https://arxiv.org/abs/2103.11191), 2021
[2] Richard Hertrich. Partitioned fluid structure interaction: Coupling FEniCS and OpenFOAM via preCICE. Bachelor's thesis, Munich School of Engineering, Technical University of Munich, 2019.
{% assign years = site.publications | group_by:"year" | sort:"title" %}
{% for year in years reversed %}

<div class="row">
{% for pub in year.items %}
{% if pub.tag contains "fenics" %}
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-primary panel-precice">
<div class="panel-heading-precice">
<strong>{{ pub.title }}</strong>
</div>
<div class="panel-body">
<p>
<em>{{ pub.authors }}</em>
{% if pub.journal.name %}{{ pub.journal.name }}, {% endif %}
{% if pub.journal.volume %}Volume {{ pub.journal.volume }}, {% endif %}
{% if pub.journal.publisher %}{{ pub.journal.publisher }}, {% endif %}
{{ pub.year }}{% if pub.doi %}, <a href="https://www.doi.org/{{pub.doi}}">doi:{{pub.doi}}</a>{% endif %}.
</p>
{% if pub.pub-url %}
<a href="{{pub.pub-url}}">Publisher's site</a>&nbsp;&nbsp;
{% endif %}
{% if pub.bibtex %}
<a href="assets/{{ pub.bibtex }}">Download BibTeX &nbsp;<i class="fas fa-download"></i></a>
{% endif %}
</div>
</div>
</div>
{% endif %}
{% endfor %}
</div>
{% endfor %}