In class DenseSymmetricMatrix:
* Fix a warning from -Wextra about implicit copy-ctor.
* Explicitly use defaulted copy/move ctor/assignment.
* A small fix in the SetSize method.
* Rewrap doxygen comments to 80 chars
attribute does not work as expected with GCC.
Add a CHANGELOG entry about the renaming 'fec' -> 'fec_owned' in
class GridFunction.
Fixed two GCC warnings that do not show up in CI.
For backward compatibility, define `GridFunction::fec` as a deprecated
reference to `GridFunction::fec_owned`.
Fix a few warnings in the PUMI examples.
Also replace many instances of GetElementTransformation(0) with
GetTypicalElementTransformation() and instances of GetElementGeometry(0) with
GetTypicalElementGeometry().
Remove some "early returns" in PA code with empty partitions. The reasoning is
that the early returns create divergent code paths among different MPI ranks,
which can cause deadlocks if e.g. collectives are used in code paths on not all
ranks.
v_num_loc must persist throughout. It will need to be updated each time
the underlying pumi_mesh is changed, and should never be destroyed
manually during an adaptive solve (in the application code).
This clean up is achieved by using getElementXis to get all the nodes
associated with a given tet, as opposed to computing those using loops.
Bug fix note:
The previous code would ignore the fact that the
tet-to-vertex connectivities could change when a PUMI mesh is converted
to an MFEM mesh. This means that for some of tets a given parent xi
coordinate would not be the same in the PUMI and MFEM meshes. Ignoring
this can cause incorrect field transfers. This is fixed now, by
explicitly checking the tet rotations and adjusting the xi coordinates
accordingly.
Also makes the default last argument in ParentXisPUMItoMFEM to be true.
This is because there is always rotated tets (due to orientation fix at
the boundary).
Previously this was done in a loop inside each of the field transfer
member functions (a lot of code repetition!). Now it is a single
function call that can be called by any of the field transfer members.
On this commit it is only used for the Nedelec field transfer routine.
1- Code repetition for ReadElement was fixed
2- getting nodes associated with an entity is repeated for MFEMToPUMI
field transfer routines (one of the is fixed in this commit but not yet
tested. Others need to be cleaned up as well.
3- TODO: It's probably possible to have one general field transfer
routine as opposed to multiples ones for different fields types.