| e61970b6 | 03-Nov-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dmplex-fix-hex-box-periodicity'
* tisaac/dmplex-fix-hex-box-periodicity: DMPlexCreateHexBoxMesh(): again, fix initialization for c89 DMPlexCreateHexBoxMesh: c86-compatible i
Merge branch 'tisaac/dmplex-fix-hex-box-periodicity'
* tisaac/dmplex-fix-hex-box-periodicity: DMPlexCreateHexBoxMesh(): again, fix initialization for c89 DMPlexCreateHexBoxMesh: c86-compatible initializiation DMPlexView_HDF5: use DMGetCoordinatesLocalized() instead of bad test DMGetCoordinatesLocalized(): fix for change to localization strategy DMPlex: set periodicity automatically in DMPlexCreateHexBoxMesh
show more ...
|
| d0127644 | 02-Nov-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dmplex-feature-real-to-ref'
This branch introduces DMPlexReferenceToCoordinates() and DMPlexCoordinatesToReference() and push finite element reference element points forward int
Merge branch 'tisaac/dmplex-feature-real-to-ref'
This branch introduces DMPlexReferenceToCoordinates() and DMPlexCoordinatesToReference() and push finite element reference element points forward into the mesh and inverting to pull them back.
DMPlexCoordinatesToReference() is currently implemented with a simple Newton iteration. When the reference maps extend outside the element in a non-unique way, a Newton iteration doesn't always do what we want.
What we really want are two properties:
- If there is a solution inside the reference element domain, converge preferentially to that one. - If there is no solution inside the reference element domain, diverge outside of the domain.
Newton has no guarantee of which solution will be found, so DMPlexCoordinatesToReference() can fail for very nonlinearly deformed elements. Fixing this is a project for another time.
* tisaac/dmplex-feature-real-to-ref: DMPlex tests ex22: larger tolerance, so that single precision passes DMPlex tests ex22: use petsc portable implementation of snprintf DMPlexComputeProject3Dto2D(): precision-aware bounds for orthogonalization success DMPlex: fix bad declaration order in point location routine DMPlex: complex and C++ fixes to recent point location routines DMPlex: added point location to regression tests DMPlex: reduce max iterations for point location. DMPlex: indexing and work array size corrections for point location routines DMPlex: add debugging info in point location routines DMPlex tests ex22: fix memory leak DMPlex: fix work array declarations in reference/coordinate transformations DMPlex test ex22: added iso parametric test DM: fix reference/reference order in DMSetCoordinateDM() DMPlex tests: move my ex21 to ex22 to prepare for merge DMPlex: implement point inversion for multilinear maps. CoordinatesRealToRef(): correct stride DMPlex: propose DMPlexCoordinatesToReference() interface
show more ...
|