Cite paper |
---|
This is work with Per-Olof Persson.
This originally appeared in my thesis and is now split out into a standalone paper.
This repository is laid out in a manner described in Good Enough Practices in Scientific Computing.
The content itself has been uploaded to the arXiv and was submitted to the journal CAMCoS on October 12, 2018. The paper has been accepted and was published on January 8, 2025.
The problem of solution transfer between meshes arises frequently in computational physics, e.g. in Lagrangian methods where remeshing occurs. The interpolation process must be conservative, i.e. it must conserve physical properties, such as mass. We extend previous works — which described the solution transfer process for straight sided unstructured meshes — by considering high-order isoparametric meshes with curved elements. To facilitate solution transfer, we numerically integrate the product of shape functions via Green's theorem along the boundary of the intersection of two curved elements. We perform a numerical experiment and confirm the expected accuracy by transferring test fields across two families of meshes.
To cite this paper:
@article{Hermes2025,
doi = {10.2140/camcos.2025.20.1},
url = {http://dx.doi.org/10.2140/camcos.2025.20.1},
year = {2025},
month = {Jan},
publisher = {Mathematical Sciences Publishers},
volume = {20},
number = {1},
pages = {1--27},
author = {Hermes, Danny and Persson, Per-Olof},
title = {High-order solution transfer between curved triangular meshes},
journal = {Communications in Applied Mathematics and Computational Science},
ISSN = {1559-3940}
}
The code used to build the manuscript, generate images and verify
computations is written in Python. To run the code, Python 3.7
should be installed, along with nox
:
python -m pip install --upgrade 'nox == 2024.4.15'
Once installed, the various build jobs can be listed. For example:
$ nox --list-sessions
...
Sessions defined in .../noxfile.py:
* build_tex
* blacken -> Run black code formatter.
sessions marked with * are selected, sessions marked with - are skipped.
To run nox -s build_tex
(i.e. to build the PDF), pdflatex
and
bibtex
are required.
The images/
in this repository are from my thesis, in particular:
images/preliminaries/
:inverted_element.pdf
main_figure01.pdf
main_figure26.pdf
images/bezier-intersection/
:bbox_check.pdf
locate_in_triangle.pdf
main_figure21.pdf
main_figure22.pdf
main_figure23.pdf
main_figure24.pdf
subdivide_curve.pdf
subdivision_linearized.pdf
subdivision_process.pdf
images/solution-transfer/
:main_figure00.pdf
main_figure02.pdf
main_figure11.pdf
main_figure13.pdf
main_figure14.pdf
main_figure15.pdf
main_figure16.pdf
main_figure25.pdf
main_figure30.pdf
Scripts to generate these images can be found there.