| #
9137bce6
|
| 24-Dec-2016 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'barry/remove-funct'
|
| #
fbfcfee5
|
| 19-Dec-2016 |
Barry Smith <bsmith@mcs.anl.gov> |
Remove the use and definition of __FUNCT__ throughout the code
Since all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETSc Time: 1.5 hours Thanks-t
Remove the use and definition of __FUNCT__ throughout the code
Since all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETSc Time: 1.5 hours Thanks-to: Andreas Mang <andreas@ices.utexas.edu>
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 ...
|
| #
8cc5d20c
|
| 19-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dualspace-feature-symmetry'
* tisaac/dualspace-feature-symmetry: DMPlexTree: fix maxFields bound used in loops SNES tutorials ex12: update output for dual space changes
|
| #
e5831e43
|
| 19-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dualspace-feature-symmetry' into tisaac/petscfe-matching-quadrature-order
* tisaac/dualspace-feature-symmetry: DMPlexTree: fix maxFields bound used in loops
|
| #
713c1c5d
|
| 19-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlexTree: fix maxFields bound used in loops
|
| #
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
|
| #
93cc307c
|
| 07-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dmplex-tree-constraints-aggregate'
* tisaac/dmplex-tree-constraints-aggregate: DMPlexTree: compute constraint matrix entries in blocks
|
| #
2c44ad04
|
| 07-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlexTree: compute constraint matrix entries in blocks
For high order matrices, calling MatGetValue() and MatSetValue() was costly, so the critical section of code instead uses one MatDenseGet/Rest
DMPlexTree: compute constraint matrix entries in blocks
For high order matrices, calling MatGetValue() and MatSetValue() was costly, so the critical section of code instead uses one MatDenseGet/RestoreArray() and MatSetValues().
show more ...
|
| #
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 ...
|
| #
1a834cf9
|
| 03-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
cast memzeros to void to avoid compiler complaints about const qualifiers
|
| #
085f0adf
|
| 01-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlexTree: use symmetries when computing constraint matrices
|
| #
4acb8e1e
|
| 01-Aug-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlex: use symmetries in DMPlexGetIndicesPoint{Fields}_Internal() and DMPlexAnchorsModifyMat()
The permutations are passed now instead of the orientations. For DMPlexGetIndicesPointFields_Internal
DMPlex: use symmetries in DMPlexGetIndicesPoint{Fields}_Internal() and DMPlexAnchorsModifyMat()
The permutations are passed now instead of the orientations. For DMPlexGetIndicesPointFields_Internal(), we pass permutations for every point (assuming PetscSectionGetFieldPointSyms() was called for multiple points, such as for a closure set) of every field, so we have to pass an additional parameter indicating the offset of the current point in the set of points.
show more ...
|
| #
c86c4108
|
| 30-Jul-2016 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'master' into mark/snes-ex56
* master: (93 commits) Web: Added a tutorial typo rename X -> U sowing: update to version that creates manpage URLs for 'enum' types/values Increa
Merge branch 'master' into mark/snes-ex56
* master: (93 commits) Web: Added a tutorial typo rename X -> U sowing: update to version that creates manpage URLs for 'enum' types/values Increase patchlevel to 3.7.3 move runex3_3 to NOTSINGLE [ partial backport 9ed0bd76d5c329eb91401ebabfbd851446214e20 ] DMPlex: local coordinate vector should be a sequential vector DM: Name coordinate vectors in subdomain and restrict hooks tests: disable a couple of TS examples from single precision tests reduce TS ex12_2 output fix PetscFormatRealArray() to cast PetscReal in print statement to double so works for __float128 precision Vec: enable Fortran interfaces for VecGetLocalVectorRead and VecRestoreLocalVectorRead Bib: Added refs PCShell: man page fixes update handling of latex in example code to use https fix typo in isltog comment test: Avoid conversion of object <-> function pointer type [-Wpedantic] fortran: enable interface for VecGetLocalVector(), VecRestoreLocalVector() update citation for cmz2016 PCBDDC: silent compilation warnings from nightlybuilds ...
# Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
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 ...
|
| #
79d83248
|
| 15-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/plex-tree-transfer-vec-doc'
* tisaac/plex-tree-transfer-vec-doc: DMPlex: move DMPlexTransferVecTree() to public interface DMPlexTree: write doc for DMPlexTransferVecTree()
|
| #
fc9f091f
|
| 15-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/plex-tree-cleanup-anchor-matrix'
* tisaac/plex-tree-cleanup-anchor-matrix: DMPlexTree: simplify anchor matrix construction through code reuse
|
| #
ff1f73f7
|
| 15-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlexTree: write doc for DMPlexTransferVecTree()
|
| #
b3a4bf2a
|
| 14-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlexTree: simplify anchor matrix construction through code reuse
- Use the PetscSpace instead of the PetscFE or PetscFV - Add EvaluateBasis() that gets reused
|
| #
ad8fc2c8
|
| 14-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/feature-ex11-conservative-example'
* tisaac/feature-ex11-conservative-example: DMPlexTree: fix summation injection TS tutorials ex11: added examples to demonstrate that fv i
Merge branch 'tisaac/feature-ex11-conservative-example'
* tisaac/feature-ex11-conservative-example: DMPlexTree: fix summation injection TS tutorials ex11: added examples to demonstrate that fv is conservative
show more ...
|
| #
78b7adb5
|
| 13-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlexTree: fix summation injection
I needed to move INSERT_VALUES out of the loop, but only insert if there were any values contributed.
|
| #
ea9ba573
|
| 01-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
Merge branch 'tisaac/dmp4est-fix-overlap'
This branch makes a lot of fixes that fix PetscFV and DMP4est for parallel. At the root of the issues were discrepencies related to the overlapping cells t
Merge branch 'tisaac/dmp4est-fix-overlap'
This branch makes a lot of fixes that fix PetscFV and DMP4est for parallel. At the root of the issues were discrepencies related to the overlapping cells that are currently required for finite volume calculations.
* tisaac/dmp4est-fix-overlap: (23 commits) TS tutorial ex11: make p4est example parallel TS tutorial ex11: globalize maxspeed before cfl computation DMPlexTransferVecTree_Inject(): sum child to parent contributions DMP4est: do not cause error if overlap > 1 in serial run TS tutorial ex11: fix memory leaks DMPlexTSComputeRHSFunctionFVM: ADD_VALUES from locF to F instead of INSERT_VALUES DMPlexComputeResidual_Internal: global/local function mismatch DMPlexShiftLabels_Internal: not-a-ghost is indicated by -1, not 0 DMPlexComputeResidual_Internal(): do not add contributions of ghost cells DMPlexTree: do proper vector assembly DMPlexReconstructGradients_Internal(): clarify ternary operator terms DMPlexConstructGhostCells_Internal(): correct error message communicator DMPforestGetTransferSF_Point: only compute covers for owned quads TS tutorial ex11: only read gradients from local vectors DMPlex: fix point migration / hybrid point interaction DMPlex: fix PetscPartitionerPartition() to deal with overlap DMPlexComputeInterpolatorTree: fix loop variables from recent change DMP4est: search _both_ directions of tree for match DMP4est: update regression tests for parallel DMP4est: remove unused cell sf loop ...
show more ...
|
| #
beedf8ab
|
| 30-Jun-2016 |
Toby Isaac <tisaac@uchicago.edu> |
DMPlexTransferVecTree_Inject(): sum child to parent contributions
In switching from ADD_VALUES to INSERT_VALUES, I forgot to sum the child contributions before they are inserted to the vector
|