| #
ec14d8c8
|
| 27-May-2017 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'master' into knepley/feature-plex-sphere-mesh
* master: (2633 commits) Bib: Added ref SNES ex56: Update test output add a citation to petsc.bib Plex: Initialize variables ini
Merge branch 'master' into knepley/feature-plex-sphere-mesh
* master: (2633 commits) Bib: Added ref SNES ex56: Update test output add a citation to petsc.bib Plex: Initialize variables initialize ap as complained by the nightly tests Plex ex3: Update to new point function API initialize some variables as complained by nightly tests SNES ex12: Mix misnaming Nf --> Nc update tests add tests add MatView_SeqXAIJ_ASCII_structonly(); enable A->structure_only in MatSetValuesBlocked_SeqBAIJ typo fill-in some references Bib: Fixed ref Plex: Added PLY to file support Plex: Adding PLY support PetscDS: Turn off Fortran bindings for Constants Plex tests: Updated to new point function API SNES ex56: Moved tests to new format DM: Allow field projection functions to take an array of scalars - This will allow us to pass in user data to kernels without void *, more efficiency than aux fields ...
Conflicts: config/builder.py include/petscdmplex.h src/dm/impls/plex/examples/tests/ex1.c src/dm/impls/plex/plexcreate.c src/dm/impls/plex/plexgmsh.c src/snes/examples/tutorials/ex63.c
show more ...
|
| #
e923053f
|
| 15-Oct-2016 |
stefano_zampini <stefano.zampini@gmail.com> |
Merge branch 'stefano_zampini/feature-convert-matnest-matis' into stefano_zampini/feature-pcbddc-saddlepoint
I have to merge it here, since there's an API addition for MatIS in stefano_zampini/featu
Merge branch 'stefano_zampini/feature-convert-matnest-matis' into stefano_zampini/feature-pcbddc-saddlepoint
I have to merge it here, since there's an API addition for MatIS in stefano_zampini/feature-pcbddc-saddlepoint that prevents me to smoothly merge stefano_zampini/feature-convert-matnest-matis into next.
This will also facilitate merging stefano_zampini/feature-pcbddc-saddlepoint into master
Conflicts: src/docs/website/documentation/changes/dev.html
show more ...
|
| #
54761ea3
|
| 14-Aug-2016 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'master' into barry/fix-successful-numerical-factorization-after-failure/master
The maint patch for the given problem cannot merge cleanly into next due to changes in the same code in m
Merge branch 'master' into barry/fix-successful-numerical-factorization-after-failure/master
The maint patch for the given problem cannot merge cleanly into next due to changes in the same code in master (the introduction of MatFactorGetError()) therefor need to merge in master and use the new construct before merging to next
show more ...
|
| #
162a9882
|
| 11-Aug-2016 |
Patrick Sanan <patrick.sanan@gmail.com> |
Merge branch 'master' into psanan/pc-telescope-nearnullspace
|
| #
011b787b
|
| 05-Aug-2016 |
Mark Adams <mfadams@lbl.gov> |
fixed merge with master
|
| #
1d45022f
|
| 04-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dualspace-feature-symmetry'
In finite element assembly, to compute a residual or assemble a Jacobian on an element, the dual space functionals of a reference finite element are
Merge branch 'tisaac/dualspace-feature-symmetry'
In finite element assembly, to compute a residual or assemble a Jacobian on an element, the dual space functionals of a reference finite element are related (i.e., pushed forward) to the functionals that make of the degrees of freedom of the discretized system.
In doing so, we have to draw a correspondence between the boundary points of the reference element (its edges and vertices) and the boundary points of each cell in the mesh. Sometimes, this correspondence is not perfect, because the orientations of the boundary points of a cell may be different than the orientations of the boundary points of the reference element. For example, an edge that runs clockwise around the reference element may map onto an edge that runs counter-clockwise around the real cell.
For some finite elements (such as the most common P1 Lagrange finite elements) this doesn't matter. But for others---high-order elements, H-div and H-curl conforming elements---a difference in orientation affects the mapping between reference functionals and degrees of freedom.
The simplest example is a high-order nodal Lagrange finite element in 2D: the degrees of freedom on an edge of the reference element are numbered left-to-right, but if the orientation of the real edge is reverse, then we must read/write degrees of freedom right-to-left.
Things get more complicated in 3D: a quadrilateral face between hexahedra may have any of 8 different orientations (that make of the dihedral symmetries), and each one corresponds to a different reordering of the 2D grid of nodes supported on that quadrilateral.
Things also get more complicated for H-div elements. Functionals on the interfaces between cells represent the flux from one cell to another, and thus have direction. Reversing the orientation of an edge changes the sign of the mapping between the reference functional and the degree of freedom.
To assemble generic finite elements, we thus need to accommodate transforms between reference functionals and degrees of freedom that encompass (1) permutations, and (2) scalar multipliers.
This branch accomplishes this in two steps:
- We add PetscDualSpaceGetSymmetries() to the interface, to allow a dual space to describe how symmetries of the mesh points affect referent-to-real maps of functionals.
- We add PetscSectionSym, an object that encapsulates symmetries of the degrees of freedom whose layout is described by a PetscSection.
When a section is created from a DM that has a finite element discretization in its PetscDS, it will automatically construct the appropriate PetscSectionSym when it creates a PetscSection to describe a discretized function space.
If a PetsFE finite element discretization is not used, the user can create a PetscSectionSym for their degrees of freedom for themselves. We give an example of this for spectal elements in src/dm/impls/plex/examples/tutoerials/ex6.c.
* tisaac/dualspace-feature-symmetry: (22 commits) cast memzeros to void to avoid compiler complaints about const qualifiers DMPlex: fix stray PetscScalar to PetscReal DMPlex: fix stray PetscScalar to PetscReal Plex tutorials ex6: use symmetries in SEM example Plex tests ex3: added high order tests Plex tests ex3: add matrix-free near null space test DMPlex: fix PetscInt %D PetscPrintf character DMPlexTree: use symmetries when computing constraint matrices DMPlex: use symmetries in DMPlexGetIndicesPoint{Fields}_Internal() and DMPlexAnchorsModifyMat() DMPlex: use PetscSectionGet/RestorePointSyms() in DMPlexVecGet/SetClosure() DMPlex: added DMPlexGet/RestoreCompressedClosure() DMPlex: added DMPlexGetPointDualSpaceFEM() DMPlex: set PetscSectionSym in DMPlexCreateSectionInitial() DMLabel: added PETSCSECTIONSYMLABEL PetscSection: add PetscSectionSym PetscDualSpace: added PetscDualSpaceGetSymmetries() PetscDualSpace_Lagrange: setup recursively on dimension PetscDualSpace_Lagrange: order functions now go after tuple used PetscDualSpace_Lagrange: use lexicographic order for nodes DMPlex: added DMPlexComputePointGeometry_Internal() ...
show more ...
|
| #
5fdea053
|
| 25-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMLabel: added PETSCSECTIONSYMLABEL
Different symmetries are applied to different points (e.g. edges and facets), so this is the most universal way I could come up with to
- break up the points in
DMLabel: added PETSCSECTIONSYMLABEL
Different symmetries are applied to different points (e.g. edges and facets), so this is the most universal way I could come up with to
- break up the points in the section's chart into different symmetry types, and - specify what symmetries are acceptable (i.e., not assume automatically that the range in [-coneSize,coneSize)
show more ...
|
| #
af25d912
|
| 06-Mar-2016 |
Stefano Zampini <stefano.zampini@gmail.com> |
Merge branch 'master' into stefano_zampini/feature-pcbddc-saddlepoint
Conflicts: src/ksp/pc/impls/bddc/bddc.c src/ksp/pc/impls/bddc/bddcgraph.c src/ksp/pc/impls/bddc/bddcprivate.c src/ksp/pc/imp
Merge branch 'master' into stefano_zampini/feature-pcbddc-saddlepoint
Conflicts: src/ksp/pc/impls/bddc/bddc.c src/ksp/pc/impls/bddc/bddcgraph.c src/ksp/pc/impls/bddc/bddcprivate.c src/ksp/pc/impls/bddc/bddcscalingbasic.c src/ksp/pc/impls/bddc/bddcschurs.c src/mat/impls/is/matis.c
show more ...
|
| #
f37e7628
|
| 21-Feb-2016 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'master' into barry/add-pcfieldsplit-logevent
|
| #
f44c6289
|
| 28-Jan-2016 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'master' into barry/add-pcreset-hypre-for-master
Needed to move PCDestroy_HYPRE() added to master to PCReset_HYPRE() since that was introduced as a bug fix for maint
|
| #
d2a29c01
|
| 14-Jan-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Merge remote-tracking branch 'origin/tisaac/dm-label-promote'
* origin/tisaac/dm-label-promote: snes tutorial ex69: give mesh a name for regression purposes DM: make DMLabel labels a part of all
Merge remote-tracking branch 'origin/tisaac/dm-label-promote'
* origin/tisaac/dm-label-promote: snes tutorial ex69: give mesh a name for regression purposes DM: make DMLabel labels a part of all DMs builder: update regression tests builder: update some missing package requirements DM: set coordinate vector name ts tutorials ex11_sa: make it compile
Conflicts: src/dm/impls/plex/plexcreate.c
show more ...
|
| #
2a61db43
|
| 08-Nov-2015 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dm-label-promote' into tisaac/dmforest
* tisaac/dm-label-promote: (319 commits) snes tutorial ex69: give mesh a name for regression purposes DM: make DMLabel labels a part o
Merge branch 'tisaac/dm-label-promote' into tisaac/dmforest
* tisaac/dm-label-promote: (319 commits) snes tutorial ex69: give mesh a name for regression purposes DM: make DMLabel labels a part of all DMs builder: update regression tests builder: update some missing package requirements DM: set coordinate vector name ts tutorials ex11_sa: make it compile mark variable as unused so compiler doesn't warn about unused value configure: use 'git cat-file -e' to check for existance of a commit in localrepo. ['git rev-parse' does not give error for a hash thats not in repo] petsc4py: revert to manually syncing petsc4py with petsc master changes configure: revert gitcommit default value to Null. If a pacakge using giturl does not change this value - raise an error fix: revert change in a44bcdf that breaks with pgf90 update test output for fixed to hypre interface that now actually pass the interp vectors to BoomerAMG Error message should say use negative threshold value to prevent filtering out zeros Calls to HYPRE_BoomerAMGSetInterpVectors() did not actually copy the vector data pointer from the PETSc vector to the hypre vector thus resulting in the hypre interp vectors being identically zero and hence not affecting the quality of the AMG hierarchy produced/ DMPlex: Silence overzealous compiler warnings add row/col orientation to MatConvert_Elemental_Dense fix formatting error in previous commit [broke nightlybuilds] fix formating of TSTHETA manual page and add missing command line option run hwloc with MPIEXEC and binding so it runs on the correct machine fix: memory leaks [in valgrind test] ...
show more ...
|
| #
c58f1c22
|
| 06-Nov-2015 |
Toby Isaac <tisaac@uchicago.edu> |
DM: make DMLabel labels a part of all DMs
Most DMLabel routines do not depend on the internals of DMPlex, and I want to reuse them in other DM types
DM: puth depthLabel in DM
I know that this is s
DM: make DMLabel labels a part of all DMs
Most DMLabel routines do not depend on the internals of DMPlex, and I want to reuse them in other DM types
DM: puth depthLabel in DM
I know that this is something that's only used by plex, but I'm not sure how else to do this.
DM: move MarkBoundaryFaces back to plex
DM: add reference counting to label linked list for cloning purposes
show more ...
|