Skip to content

High-order Solution Transfer between Curved Triangular Meshes

License

Notifications You must be signed in to change notification settings

dhermes/solution-transfer-curved-meshes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

High-order Solution Transfer between Curved Triangular Meshes

Cite paper
Paper DOI

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.

Abstract

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.

Citation

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}
}

Installation

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.

Images

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.

About

High-order Solution Transfer between Curved Triangular Meshes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published