Gyselalib++
 
Loading...
Searching...
No Matches
Mappings

This folder contains code describing tools for handling different coordinate systems.

The current coordinate transformations implemented are:

  • Analytically invertible coordinate transformations such as:
    • Circular coordinate transformation (CircularToCartesian/CartesianToCircular):
      • \(x(r,\theta) = r \cos(\theta),\)
      • \(y(r,\theta) = r \sin(\theta).\)
    • Czarny coordinate transformation (CzarnyToCartesian/CartesianToCzarny):
      • \(x(r,\theta) = \frac{1}{\epsilon} \left( 1 - \sqrt{1 + \epsilon(\epsilon + 2 r \cos(\theta)} \right),\)
      • \(y(r,\theta) = \frac{e\xi r \sin(\theta)}{2 -\sqrt{1 + \epsilon(\epsilon + 2 r \cos(\theta)} },\) with \(\xi = 1/\sqrt{1 - \epsilon^2 /4}\) and \(e\) and \(\epsilon\) given as parameters.
    • Barycentric coordinate transformation (BarycentricToCartesian):
      • \((c_1, c_2, c_3) -> (x,y)\)
  • Discrete coordinate transformation defined on B-splines (DiscreteToCartesian):
    • \(x(r,\theta) = \sum_k c_{x,k} B_k(r,\theta),\)
    • \(y(r,\theta) = \sum_k c_{y,k} B_k(r,\theta).\)
  • Combined coordinate transformation which combines two of the coordinate transformations above.

The tools are:

  • InverseJacobianMatrix : this tool calculates the inverse Jacobian matrix on the specified coordinate system.
  • InvJacobianOPoint : this tool calculates the inverse Jacobian matrix at the O-point on the specified coordinate system.
  • MetricTensor : this tool calculates the metric tensor associated with a coordinate transformation.
  • VectorMapper : this tool helps when converting vectors stored in a VectorField from one coordinate system to another.
  • other static analysis tools found in mapping_tools.hpp