UFC

Add affine_map and affine_map_inverse to finite_element

Registered by Anders Logg

Add to the finite element class:

 virtual void affine_map(double* x,
                          const double* xhat,
                          const cell& c) = 0;

  virtual void inverse_affine_map(double* xhat,
                                  const double* x,
                                  const cell& c) = 0;

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 2.0
Started by
Anders Logg
Completed by
Anders Logg

Related branches

Sprints

Whiteboard

GNW: Do we need affine in the name? It would be nice to have something that would later generalise to non-affine maps.

AL: If the mapping is different from affine, we would need more data than what is currently stored in ufc::cell. Since it is not clear at this point how that should be stored, I suggest we add affine_map now and either replace it with a more general function later, or add something like higher_order_map alongside affine_map later.

AL: I'm renaming these as follows:

  map_from_reference_cell
  map_to_reference_cell

Other functions in the interface that do something start with what they do: tabulate_, evaluate_, interpolate_, so the functions should start with map_.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.