chara:
A general-purpose software package for characteristic tracking in unstructured meshes


As we know, many numerical methods in computational fluid mechanics (CFD) rely on characteristic tracking, e.g., the modified method of characteristics (MMOC), Eulerian-Lagrangian localized adjoint methods (ELLAM), semi-Lagrangian methods (SEL), and Galerkin-Lagrangian methods.  Theoretical analysis (error estimates, convergence rates) abounds in literature, but discussion on implementations is scarce.  Characteristic tracking is simple in rectangular meshes, but non-trivial in triangular meshes or unstructured meshes.

We plan to develop chara, a small general-purpose software package for characteristic tracking in unstructured meshes, which is meant to be linked to any other source codes or software packages based on characteristic tracking.  chara is written in C++.  At this moment, I am focusing on (2-dim) triangular meshes: chara2d.  But the algorithms will be extended to 2-dim / 3-dim unstructured meshes.  Incorporation of characteristic tracking with adaptive finite element methods will also be investigated.

Any comments on this effort are welcome and appreciated.

A paper related to this project:
J.Liu, H.Chen, R.E.Ewing, and G.Qin, An efficient algorithm for characteristic tracking on two-dimensional triangular meshes, Computing, 80(2007), pp.121-136. PDFfile

Header (.h) files

AuxMesh2d.h
chara2d.h
GeoElt2d.h
index2.h
plygn.h
PtVec2d.h
RealMesh2d.h
Vel2dEx.h
Source code (.cpp) files

AuxMesh2d.cpp
CharaTrkn2d.cpp
GeoElt2d.cpp
index2.cpp
main.cpp
plygn.cpp
PtVec2d.cpp
RealMesh2d.cpp
Vel2dEx.cpp
Example data files

RealDom.dat
RectVsElts.dat
TrigMesh.dat
Some Matlab files

ex1.m
ex10.m
ex11.m
ex12.m
PlotRectVsElt.m