| #
7eda4a2b
|
| 11-May-2019 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/maint'
|
| #
3f4531c4
|
| 11-May-2019 |
Václav Hapla <vaclav.hapla@erdw.ethz.ch> |
Merged in haplav/fix-hdf5v-circular-dependencies (pull request #1643)
fix hdf5v circular dependencies
Approved-by: Matthew Knepley <knepley@gmail.com> Approved-by: BarryFSmith <bsmith@mcs.anl.gov>
Merged in haplav/fix-hdf5v-circular-dependencies (pull request #1643)
fix hdf5v circular dependencies
Approved-by: Matthew Knepley <knepley@gmail.com> Approved-by: BarryFSmith <bsmith@mcs.anl.gov> Approved-by: Jed Brown <jed@59a2.org>
show more ...
|
| #
4e97f8eb
|
| 08-May-2019 |
Vaclav Hapla <vaclav.hapla@erdw.ethz.ch> |
Move HDF5 array IO stuff from sys to vec.
- Fix issue 288. - Moved PetscViewerHDF5Load,PetscViewerHDF5ReadSizes and their helpers from src/sys/classes/viewer/impls/hdf5/hdf5v.c into the new fi
Move HDF5 array IO stuff from sys to vec.
- Fix issue 288. - Moved PetscViewerHDF5Load,PetscViewerHDF5ReadSizes and their helpers from src/sys/classes/viewer/impls/hdf5/hdf5v.c into the new file src/vec/is/utils/hdf5io.c - PetscViewerHDF5Load() header moved from viewerimpl.h to petscis.h - PetscViewerHDF5ReadSizes() header moved from petscviewerhdf5.h to petscis.h
show more ...
|
| #
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 ...
|
| #
b5a418da
|
| 25-Jul-2016 |
Toby Isaac <tisaac@uchicago.edu> |
PetscSection: add PetscSectionSym
This object's is essentially a Petsc-idiom way of letting the user specify implementations of
PetscSectionGetPointSyms() PetscSectionRestorePointSyms() PetscSectio
PetscSection: add PetscSectionSym
This object's is essentially a Petsc-idiom way of letting the user specify implementations of
PetscSectionGetPointSyms() PetscSectionRestorePointSyms() PetscSectionGetFieldPointSyms() PetscSectionRestoreFieldPointSyms()
Like PetscDualSpaceGetSymmetries(), the symmetries are descibed by R * P, where R is a flip (or rotation with complex scalars). I had thought about a more managed approach, like PetscSectionGet/SetValues, which entirely hid the existence of symmetries to begin with, but:
- then you have to differentiate between different PetscDataTypes (e.g., for indices, just perform the permutation, not the flips/rotations), and - what about inserting an element matrix? When inserting an element matrix, it makes the most sense to apply flips/rotations to the element matrix, and the permutations to the indices where the matrix is to be inserted with MatSetValues().
so in the end I decided to just provide a simple interface to pass the symmetries to the users and let them figure out how they want to use them.
show more ...
|
| #
1ceb14c0
|
| 23-Oct-2015 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'master' into pr263/PierreBdR/ts-domain-error-in-stage/master
|
| #
3aa2d9e3
|
| 15-Aug-2015 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'barry/fix-nonew-notcollective/maint' into jed/mat-assembly-perf
Jed this fucking 6+ month running thing in next that is not in master is a royal fucking pain in the ass and an abuse of
Merge branch 'barry/fix-nonew-notcollective/maint' into jed/mat-assembly-perf
Jed this fucking 6+ month running thing in next that is not in master is a royal fucking pain in the ass and an abuse of git. I think it is not justified to ever have anything in next for more than a few weeks at most. Either take it out of next if it is broken or put it in master if it is not broken. Hanging around in next but not master for ever is not a good policy.
show more ...
|
| #
e1b06f76
|
| 20-May-2015 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'master' into knepley/solkx
* master: (6933 commits) Bib: Added reference Includegraph: Updated for compatibility with new folder layout. Add SNESLineSearchReason to fortran inclu
Merge branch 'master' into knepley/solkx
* master: (6933 commits) Bib: Added reference Includegraph: Updated for compatibility with new folder layout. Add SNESLineSearchReason to fortran includes Also truncate names to fit 32 char fortran limit fix compile warnings /usr/home/balay/petsc.clone-2/src/vec/vec/interface/vector.c:1944: warning: division by zero in '1.0e+0 / 0.' /usr/home/balay/petsc.clone-2/src/ksp/ksp/interface/itfunc.c:508: warning: 'vec_rhs' may be used uninitialized in this function updated output for new trust region initial size initial size of the trust region is set as a percent of the norm of the initial guess, it should not be related to the initial norm of the function (which is kind of nuts). The default bounds for SNESVISetVariableBounds() in the manual page were reversed from correct values Bib: Added refs Bib: Update MPICH webpage Plex: Forgot to close file removed nonexistent ex46f from makefile test rule Revert "fixed bad merge into master" fixed bad merge into master fix memory leak in mkl_pardiso fix some formatting in mkl_pardiso code mv runex111 from TESTEXAMPLES_C to TESTEXAMPLES_DATAFILESPATH Mat+Doc: More Fortran docs Plex ex3: Run tests with the correct number of field components Bib: Added TetGen cite parmetis: make sure 'ldd libparmetis.so' points to the correct libmetis.so that its linked with. small fix as reported by the nightly test ...
Conflicts: config/builder.py
show more ...
|
| #
fbbfd472
|
| 18-May-2015 |
Toby Isaac <tisaac@ices.utexas.edu> |
Merge branch 'master' into tisaac/dmforest
directory layout changed again: merging to switching branches back and forth doesn't cause reconfigure to have a hard time
* master: (357 commits) remov
Merge branch 'master' into tisaac/dmforest
directory layout changed again: merging to switching branches back and forth doesn't cause reconfigure to have a hard time
* master: (357 commits) removed nonexistent ex46f from makefile test rule Revert "fixed bad merge into master" fixed bad merge into master fix memory leak in mkl_pardiso fix some formatting in mkl_pardiso code mv runex111 from TESTEXAMPLES_C to TESTEXAMPLES_DATAFILESPATH Mat+Doc: More Fortran docs Bib: Added TetGen cite parmetis: make sure 'ldd libparmetis.so' points to the correct libmetis.so that its linked with. small fix as reported by the nightly test add a test for MatPtAP() small cleanup; add tests cleanup MatPtAPSymbolic_MPIAIJ_MPIAIJ() Fix nonzerostate tracking in all MATMPI types. update location of test matrices in faq.html file unused variable still declared Fix for MatLoad_MPIDense() from sparsely stored matrix also fix for MatLoad_MPIDense_DenseInFile() when matrix has not had its local sizes preset by user Preserve the B nonzerostate during disassembly. TSEvent: Fix arch-mswin nightly errors due to declaring variables in the middle of a function. Fix error in parallel loading of dense format matrix removed KSPSetNullSpace() since mat already carries that information and having two locations for it is confusing, unnecessary and prone to error added MatSetTransposeNullSpace() for providing the null space of the transpose of the matrix and added support in KSPSolve() to remove this null space from the right handside of the linear system thus making the system consistent. ...
show more ...
|
| #
c45870e7
|
| 04-May-2015 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'master' into knepley/feature-composable-callbacks
* master: (151 commits) PetscMalloc: Fix handling of zero-sized allocations add note to DMGetLocal/GlobalVector() about intended s
Merge branch 'master' into knepley/feature-composable-callbacks
* master: (151 commits) PetscMalloc: Fix handling of zero-sized allocations add note to DMGetLocal/GlobalVector() about intended short-time usage of the vectors. sf: use patched openmpi tarball that has a potential fix for sf example hang SNES problems that set VI bounds must use a VI solver since the other solvers ignore the bounds pounders viewer did not cast PetscReal to double in printf nor use %D instead of %d fix ts ex20adj fix ts theta fixed another variable declaration in the middle of a code block example main() had PetscInt return type and argument that should be int DMDAVTKWriteAll_VTS: Fix handling of higher-dimension coordinates fixed example that declared variables in the middle of a function C programs do not return PetscInt nor do they take an argument that is PetscInt, fixed example that did You cannot declare variables in the middle of functions in PETSc. add ierr checking to PetscOptionsBegin/End() in example configure: add error check if user specifies PETSC_ARCH=-dbg [i.e starts with a '-'] scale norm of vector difference by norm of vector to insure it is small enough to consider the two vectors equal missing PetscViewerDestroy() added MatNestGetISs: use custom fortranstub to handle PETSC_NULL_OBJECT update location of open-mx website on FAQ page If the user sets bounds and calls a solver that does not support them, throw an error. ...
show more ...
|
| #
af3d4eeb
|
| 16-Apr-2015 |
Fande Kong <fdkong.jd@gmail.com> |
Merge branch 'pr192/Fande-Kong/scalable-matincreaseoverlap/master' of https://bitbucket.org/petsc/petsc
|
| #
f1c23e0e
|
| 15-Apr-2015 |
Fande Kong <fdkong.jd@gmail.com> |
Merged petsc/petsc into master
|
| #
4bc2dc4b
|
| 15-Apr-2015 |
Stefano Zampini <stefano.zampini@gmail.com> |
Merge branch 'master' into stefano_zampini/pcbddc-adaptive-selection
Conflicts: src/ksp/pc/impls/bddc/bddcprivate.c src/ksp/pc/impls/bddc/bddcscalingbasic.c src/mat/impls/aij/mpi/mumps/mumps.c s
Merge branch 'master' into stefano_zampini/pcbddc-adaptive-selection
Conflicts: src/ksp/pc/impls/bddc/bddcprivate.c src/ksp/pc/impls/bddc/bddcscalingbasic.c src/mat/impls/aij/mpi/mumps/mumps.c src/mat/impls/is/matis.h
show more ...
|
| #
305f5a7e
|
| 14-Apr-2015 |
semihozmen <semihozmen@gmail.com> |
Merged master into semihozmen/ksp-fcg-eigen-comp-support
|
| #
f9185b66
|
| 13-Apr-2015 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'master' into pr192/Fande-Kong/scalable-matincreaseoverlap/master
Needed to merge master to update to new calling sequence PetscCommBuildTwoSided
|
| #
66d7bb0d
|
| 12-Apr-2015 |
semihozmen <semihozmen@gmail.com> |
Merged petsc/petsc into master
|
| #
255664f4
|
| 12-Apr-2015 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'barry/fix-directory-layout'
|
| #
af0996ce
|
| 11-Apr-2015 |
Barry Smith <bsmith@mcs.anl.gov> |
updated PETSc directory layout to match standard packaging strategies
include/petsc finclude,private,mpiuni lib/petsc conf bin/petsc*
|
| #
5a4ab5ab
|
| 02-Apr-2015 |
Toby Isaac <tisaac@ices.utexas.edu> |
Merge branch 'master' into tisaac/dmforest
If we're going to start developing on this again, the recent changes to the location of configuration files will make it annoying to switch to and from thi
Merge branch 'master' into tisaac/dmforest
If we're going to start developing on this again, the recent changes to the location of configuration files will make it annoying to switch to and from this branch. Matt's and my fixes in DMPlex will also be relevant.
* master: (1557 commits) MatLoad_MPIDense() always allocated array space even if it was previously provided Clarified lumping options for PCFieldSplitSchurPreType SELFP. fixed up PetscInfo in GAMG TSErrorWeightedNorm[2|Infinity]: API changes MatLoad_SeqDense() always allocated new space for the data even if the user already provided it Fixed DMCompositeGetAccessArray() to support readonly vectors Fix obviously-wrong aspects of documentation on SNESVINEWTONRSLS and SNESVINEWTONSSLS. fixed example to compile - demonstrates a bug var name 'len' was F90 key word For user provided Jacobian functions they should always assembly into the second matrix, the one from which the preconditioner is built because the first may be used as matrix-free with -snes_mf_operator Suggest --with-64-bit-indices if users mistakenly use --with-64bit-indices Fix configure logging of integer size. missing underscore in #define of vecgetarrayread translation of fortran stub for VECGETARRAYREAD updated test output files to reflect differences introduced previously in PCView output -ksp_type preonly does not support -ksp_monitor_short so remove from test line to prevent extranious warning output missing CHKERRQ; and ugly double declaration of ierr Plex ex3: For want of a semicolon, the kingdom was lost MatSetValuesMPISBAIJ will now print correct global indices when error generated due to new nonzero location completed basic use of MatSetValuesBlocked_SeqBAIJ_Inlined() by MatSetValuesBlocked_MPIBAIJ() to allow proper global indices being printed when error generated by new nonzero locations. Added inline version of MatSetValuesBlocked_SeqBAIJ() to be used by MatSetValuesBlocked_MPIBAIJ() to print error message for nonzero block with global indices ...
show more ...
|
| #
898446f9
|
| 11-Mar-2015 |
Shri Abhyankar <abhyshr@mcs.anl.gov> |
Merge branch 'master' into shri/ts-is-for-differential-variables
Conflicts: include/petsc-private/tsimpl.h src/ts/impls/eimex/eimex.c src/ts/interface/ts.c
|