| #
97e99dd9
|
| 01-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlex: use PetscSectionGet/RestorePointSyms() in DMPlexVecGet/SetClosure()
You can see that we no longer use the cone orientations directly: they are used by the PetscSectionSym, but once the permu
DMPlex: use PetscSectionGet/RestorePointSyms() in DMPlexVecGet/SetClosure()
You can see that we no longer use the cone orientations directly: they are used by the PetscSectionSym, but once the permutations/flips have been returned, they are used.
The downside is that instead of just reading/writing backwards if o < 0, we have indirect referencing through the permutation arrays. But, e.g., for 2D, where the only permutation is equivalent to reading/writing backward:
- there is only one permutation array, so hopefully it stays in cache and computing the indirection is not as bad as the worst-case for pointer chasing, and - the out-or-order access is always on the element array (small, hopefully already in cache), not on the vector array (large, in-order access could improve cache performance)
show more ...
|
| #
923c78e0
|
| 31-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlex: added DMPlexGet/RestoreCompressedClosure()
This construction appeared a lot, so I wrapped it up.
|
| #
e071409b
|
| 20-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlex: added DMPlexGetPointDualSpaceFEM()
Right now we could just get a dual space for a point based on its height/depth, but I figured it couldn't hurt to have the interface provide individualized
DMPlex: added DMPlexGetPointDualSpaceFEM()
Right now we could just get a dual space for a point based on its height/depth, but I figured it couldn't hurt to have the interface provide individualized dual spaces for each point, just in case someone wants to proceed with prismatic elements or hp methods.
show more ...
|
| #
d484f18a
|
| 26-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlex: set PetscSectionSym in DMPlexCreateSectionInitial()
This just creates a PetscSectionSym from PetscDualSpaceGetSymmetries(), with the proviso that if a section field has multiple components,
DMPlex: set PetscSectionSym in DMPlexCreateSectionInitial()
This just creates a PetscSectionSym from PetscDualSpaceGetSymmetries(), with the proviso that if a section field has multiple components, we go ahead and expand the symmetries for each component. These expanded symmetries are redundant, but they allow us to avoid double-loops (over nodes and field components), when reading/writing with permutations and/or flips.
show more ...
|
| #
3d996552
|
| 19-Jul-2016 |
Stefano Zampini <stefano.zampini@gmail.com> |
Merge branch 'master' into stefano_zampini/feature-pcbddc-saddlepoint
Conflicts: src/docs/website/documentation/changes/dev.html src/ksp/ksp/examples/tutorials/ex59.c src/ksp/pc/impls/bddc/bddc.c
Merge branch 'master' into stefano_zampini/feature-pcbddc-saddlepoint
Conflicts: src/docs/website/documentation/changes/dev.html src/ksp/ksp/examples/tutorials/ex59.c src/ksp/pc/impls/bddc/bddc.c src/ksp/pc/impls/bddc/bddcfetidp.c src/ksp/pc/impls/bddc/bddcprivate.c src/ksp/pc/impls/bddc/bddcschurs.c src/mat/impls/is/matis.c src/mat/impls/is/matis.h
show more ...
|
| #
1be56196
|
| 14-Jul-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-plex-3d-sem-order'
* knepley/feature-plex-3d-sem-order: Plex ex6: Added 3D tests Plex: Add in 3D spectral ordering for closure
|
| #
89eabcff
|
| 11-Jul-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Add in 3D spectral ordering for closure
|
| #
c4088d22
|
| 06-Jul-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-plex-particle-example'
* knepley/feature-plex-particle-example: (103 commits) PetscTypes: * Added newly types into fortran definition DMSwarmMigrate: printf fix for
Merge branch 'knepley/feature-plex-particle-example'
* knepley/feature-plex-particle-example: (103 commits) PetscTypes: * Added newly types into fortran definition DMSwarmMigrate: printf fix for __float128 fix c++ comments for c89 fix scanf warnings using PetscInt_FMT Sys+DM: Fixing 64-bit format strings Swarm: Fixed 64-bit integer problems Swarm: Fixed PetscFree() usage Swarm: Correct format in scanf Plex: Small cleanup Plex: Fixes to draw for complex Plex: Fixed type for GetNeighbors Swarm: Cleanup of Dave's code - Guy has a kid and think he doesn't have to play by the rules anymore SNES ex63: Stokes example with Particles Swarm: Fixed prototypes Swarm: Added missing PetscFunctionBegin Swarm: Fixed DMGetLocalVecTor_Swarm() Swarm: Added DMSwarmCreate/DestroyLocalVectorFromField() Swarm: Added missing prototype Plex: Since we are using an SF, ranks that are not found default to 0, not -1 - You need to check the index for the negative value Plex: Added a new point location type to remove entries which are not found - This was the default, but its not what DMSwarm wanted and its non-intuitive I agree ...
Conflicts: src/dm/impls/plex/plexcreate.c src/dm/interface/dm.c
show more ...
|
| #
399329ac
|
| 06-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dm-feature-adapt-label'
Adds an optional interface for adapting a DM by a specified label. Good support in DMP4est; DMPlex will at least refine (I need to see if Triangle/Tetge
Merge branch 'tisaac/dm-feature-adapt-label'
Adds an optional interface for adapting a DM by a specified label. Good support in DMP4est; DMPlex will at least refine (I need to see if Triangle/Tetgen support point-deletion coarsening); no DMDA implementation, but I might put in one that at least detects uniform coarsening/refinement.
* tisaac/dm-feature-adapt-label: Plex tests ex20: add names to output meshes DMPlex tests ex20: fix bad dev/null'd output in makefile test DMPlex: gotta root out that c99 before it corrupts our kids DMPlex test ex20: added triangle and ctetgen regression tests for DMLabelAdapt() DMRefine_Plex_Label(): move DMPlexRestoreTransitiveClosure() after loop DMPlex: added test ex20 for DMAdaptLabel() DMPlex: put ifdef guards around static function only used when packages present. DMFOREST: fix initialization DMPlex: fix __FUNC__ of recent change DMAdaptFlag: added DM_ADAPT_DETERMINE DMPlex: added DMAdaptLabel implementation for DMPlex DMAdaptLabel: change second argument to actual label DM: added DMAdaptLabel() interface
show more ...
|
| #
713918a9
|
| 01-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlex: added DMAdaptLabel implementation for DMPlex
It just sets max volumes based on flags and calls the existing refinement options.
|
| #
b54d608b
|
| 28-Jun-2016 |
Stefano Zampini <stefano.zampini@gmail.com> |
Merge branch 'stefano_zampini/dmplex-matis-support-2'
|
| #
24e33ea9
|
| 24-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dm-label-use-is'
* tisaac/dm-label-use-is: IS: fix ISLocate(): ex7 passes IS: added test for ISLocate() IS: added ISLocate implementations for block and stride ISGeneral
Merge branch 'tisaac/dm-label-use-is'
* tisaac/dm-label-use-is: IS: fix ISLocate(): ex7 passes IS: added test for ISLocate() IS: added ISLocate implementations for block and stride ISGeneral: add locate implementation DMLabel: use ISLocate() IS: added ISLocate() interface and default implementation change regression logs for increased number of index sets DMLabel: added DMLabelSetStratumIS() DMLabel: switch internal storage from array to IS
show more ...
|
| #
0e32d2f8
|
| 23-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dm-boundary-in-ds'
* tisaac/dm-boundary-in-ds: DMPlex: skip bcs whose labels are present
|
| #
385532a5
|
| 22-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlex: skip bcs whose labels are present
|
| #
96e0c402
|
| 22-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dm-boundary-in-ds'
Boundary conditions are better conceptually matched to the PetscDS, which holds the equations, than to the DM. This makes it easier to share the same problem
Merge branch 'tisaac/dm-boundary-in-ds'
Boundary conditions are better conceptually matched to the PetscDS, which holds the equations, than to the DM. This makes it easier to share the same problem between different meshes, such as in a hierarchy.
* tisaac/dm-boundary-in-ds: PetscDS: fix examples affected by moving boundaries builder.py: skip empty targets DMPlex: don't copy coordinates to self SNES ex69: fix recent PetscDS changes DMSetDS(): reference, then destroy PetscDS: fix _Basic creation and destruction PETSC_DEPRECATED in source files doesn't play well with fortran interfaces DM: switch to using PetscDS boundary in examples PetscDS: add missing PetscDSCopyBoundary, fix copy loops DM: set PetscDS from options in DMSetFromOptions() DM: protect against changing prob when populating boundary DM, PetscDS: remove redundant boundary representations DM: transfer boundary methods to PetscDS PetscDS: start creating parallel for DMBoundary
show more ...
|
| #
4de306b1
|
| 21-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMLabel: added DMLabelSetStratumIS()
|
| #
d5ae59b1
|
| 20-Jun-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-plex-closure-reorder'
* knepley/feature-plex-closure-reorder: IS+Plex: Changed interface to closure permutation to take an IS IS+Plex: Changed interface to closure
Merge branch 'knepley/feature-plex-closure-reorder'
* knepley/feature-plex-closure-reorder: IS+Plex: Changed interface to closure permutation to take an IS IS+Plex: Changed interface to closure permutation to take an IS Plex ex9: Can now test closure reordering - Also fixed some small bugs Plex ex6: Example that shows how to set and retrieve values with the spectral element ordering Plex: Allow closure permutation in PlexVecGet/SetClosure() - This supports spectral element ordering - This does not seem to introduce any performance degradation Plex: Added DMPlexCreateSpectralClosurePermutation() PetscSection: Added support for closure permutation - This supports entry in the spectral element ordering
show more ...
|
| #
99a2f7bc
|
| 20-Jun-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Small cleanup
|
| #
0c81f2a8
|
| 16-Jun-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Fixes to draw for complex
|
| #
dff059c6
|
| 15-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
PetscDS: add missing PetscDSCopyBoundary, fix copy loops
|
| #
1fdd32a2
|
| 14-Jun-2016 |
Matthew G. Knepley <knepley@gmail.com> |
IS+Plex: Changed interface to closure permutation to take an IS
|
| #
8f3be42f
|
| 14-Jun-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Allow closure permutation in PlexVecGet/SetClosure() - This supports spectral element ordering - This does not seem to introduce any performance degradation
|
| #
3194fc30
|
| 14-Jun-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Added DMPlexCreateSpectralClosurePermutation()
|
| #
fe38c09d
|
| 14-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/ts-ex11-amr'
We now have an example (ts/examples/tutorials/ex11.c) where we can use either DMPlex or DMP4est to handle adaptivity when time stepping. We have tried to minimize t
Merge branch 'tisaac/ts-ex11-amr'
We now have an example (ts/examples/tutorials/ex11.c) where we can use either DMPlex or DMP4est to handle adaptivity when time stepping. We have tried to minimize the amount of code that is specialized to the different DMs, and in the future more work can be done to improve this interface.
* tisaac/ts-ex11-amr: (62 commits) DMP4est: type fix Plex: Fixes for analyzer DMP4est: update snes ex12 regressions DMPlex: fix parent/child interpolation with numFields > 0 DMP4est: also compute anyChange for uniformly refined/coarsened meshes TS ex11: fix command line for AMR without computed gradients TS ex11: remove gradient reconstruction from adaptivity requirements DMPlexTree: some compilers want this var initialized Plex: Changed Get/RestoreFaceFields() and Get/RestoreFaceGeometry() to return the number of active faces - This fixes a long-standing bad access in FV, although the values were never actually used. DMPlexTS: removed unused variables DMPlex/DMP4est: small fixes for next warnings and errors SNES ex36 and ex52: These do not work anymore DMPforestGetTransferSF_Point(): try to match parents PetscViewerHDF5: destroy old file data if setting new filename DMPlex + FV: remove leaky references in projection functions Plex: Fixed incredibly stupid bug in Jacobian computation PetscViewer HDF5: added get name method DMPlexTree: do not skip out of child matrix loops early PetscFV: correct field offsets when limiting gradients DMP4estTree: ignore negative values when getting/setting vector values for transfer ...
show more ...
|
| #
559da874
|
| 12-Jun-2016 |
Stefano Zampini <stefano.zampini@gmail.com> |
DMPLEX: disable generation of fortran stub for DMPlexGetSubdomainSection
|