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

Renaming mappings #49

Open
PaulineVidal opened this issue Jan 17, 2025 · 0 comments
Open

Renaming mappings #49

PaulineVidal opened this issue Jan 17, 2025 · 0 comments

Comments

@PaulineVidal
Copy link
Collaborator

PaulineVidal commented Jan 17, 2025

This issue is to have a space for discussion about the mapping names in Gyselalib++.

I am not super at ease with the current naming and I think we should be clearer with the names of the mappings. Currently, the available mappings are

  • CircularToCartesian, CartesianToCircular
  • CzarnyToCartesian, CartesianToCzarny
  • DiscreteToCartesian.

I think that Cartesian stands for "Cartesian coordinates in the physical domain".

For me we have to distinguish three things:

  • The mappings: circular \( \wide{\Omega} \rightarrow \Omega: (r, \theta) \mapsto (x, y) = (r\cos(\theta), r\sin(\theta)) \) ; Czarny (...) ; discrete mapping (...).
  • The coordinate systems: curvilinear coordinates ; Cartesian coordinates; pseudo-Cartesian coordinates.
  • The spaces we working on: logical domain; physical domain; pseudo-physical domain.

As the current mappings are template on the arrival and starting spaces, I think we shouldnt give the name of the domain in the mapping name. For instance, while working on the pseudo-physical domain for the advection, we want to use the circular mapping from the logical domain to the pseudo-physical domain. Naming the mapping CircularToCartesian could be confusing because the arrival space is the pseudo-physical domain.

I also think that the coordinate system depends on the space we are. For instance, the coordinates (r,theta) are Cartesian in the logical domain but curvilinear in the physical domain. By default, we take the point of view of the physical space. So the usual (r, theta) coordinates are curvilinear coordinates (in the physical domain) and (x,y) are Cartesian coordinates (in the physical domain).

I suggest we simply call the mappings as follows:

  • CircularMapping; InverseCircularMapping (or InvCircularMap for shorter);
  • CzarnyMapping; InverseCzarnyMapping
  • DiscreteMapping

In the code, we can specify the arrival/starting domains with e.g.

  • from_logical_to_physical or log_to_phy
  • from_pseudo_physical_to_logical or pseudo_phy_to_log

or the coordinates sytems e.g.

  • from_curvilinear_to_cartesian or curv_to_cart
  • from_pseudo_cartesian_to_curvilinear or pseudo_cart_to_curv.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant