Remove explicitly listed empty files and switch to output/empty.out
PetscFE: add PETSCFEVECTORReductions in the cost of computing, storing, and applyinga Tabulation can be achieved for a finite element spacethat is a vector of "scalar" finite elements (the "scala
PetscFE: add PETSCFEVECTORReductions in the cost of computing, storing, and applyinga Tabulation can be achieved for a finite element spacethat is a vector of "scalar" finite elements (the "scalar"element itself could be vector-valued).Reductions in the cost of storing and applyinga Tabulation can't be realized until the PetscTabulation structureitself is changed, but at the very least reduction in the cost ofcomputing a tabulation is possible with a new PetscFEType,PETSCFEVECTOR.To complete the interface, we also add PETSCDUALSPACESUM,a dual space whose dual basis is the sum of other dual bases,that parallels PETSCSPACESUM (the space and dual space ofa PETSCFEVECTOR are a PETSCSPACESUM and PETSCDUALSPACESUM,respectively).To allow the user to specify whether thebasis vector and value components of the PETSCFEVECTORof blockwise or interleaved, we also have to make surePETSCSPACESUM and PETSCDUALSPACESUM can have blockwiseor interleaved behavior. We add both capabilities.PETSCFEVECTOR is now used by detecting compatiblevector-valued dual and primal spaces in PetscFECreateFromSpaces().
show more ...
DT: Add quadrature permutations and default quadrature- Add integration domain to PetscQuadrature- Add quadrature permutations to DS- Add default quadrature to DT
Create an interface for simplex quadrature that allows for minimum symmetric rules.Rules are from published tabulations: citations have been added.I checked in the script that created the headers
Create an interface for simplex quadrature that allows for minimum symmetric rules.Rules are from published tabulations: citations have been added.I checked in the script that created the headers, though I'm not sure where to put it.A test has been adding verifying the integration of orthonormal polynomials.The default behavior is to choose the minimum symmetric method if available,and fall back to conic quadrature otherwise.
Remove extra spaces and unwanted plurals
DT: Added some support for probability distributions- Changed integration for more flexible function signature
Update testsUpdate testsUpdate more testsUpdate testsUpdate testsUpdate numerical output with less noisy basisAdd alt files for partitions of ex42 that seem to differ based on archReset
Update testsUpdate testsUpdate more testsUpdate testsUpdate testsUpdate numerical output with less noisy basisAdd alt files for partitions of ex42 that seem to differ based on archReset accidental combination of output and alt output for dm_impls_plex_tests-ex42_cube_3_p4Revert output file that doesn't change with new linear basis
Add PetscDTPTrimmedEvalJet(): evaluates P trimmed polynomialsThis follows the construction in Arnold, Falk and Winther section 4.4I do not know yet if this basis is stable for evaluationStart t
Add PetscDTPTrimmedEvalJet(): evaluates P trimmed polynomialsThis follows the construction in Arnold, Falk and Winther section 4.4I do not know yet if this basis is stable for evaluationStart test of PetscDTPTrimmedEvalJet()Document and cite the implementation of P trimmed evaluationLimit P trimmed test output to condition numbersAdd negative form degrees to PetscDTPTrimmedEvalJet()Add alternate implementation of trimmed polynomialsRemove the reference implementation in favor of a simpler, better conditioned alternative
DM: New idea for cell orientations- Add DMPolytopeTypeGetNumArrangments()- Add DMPolytopeTypeGetArrangment()- Add DMPolytopeTypeGetVertexArrangment()- Add DMPolytopeTypeComposeOrientation()- Add
DM: New idea for cell orientations- Add DMPolytopeTypeGetNumArrangments()- Add DMPolytopeTypeGetArrangment()- Add DMPolytopeTypeGetVertexArrangment()- Add DMPolytopeTypeComposeOrientation()- Add DMPolytopeTypeComposeOrientationInv()- Add DMPolytopeGetOrientation()- Add DMPolytopeGetVertexOrientation()- Inversion now uses just negation instead of face size- Remove DMPlexOrientCell(), DMPlexReverseCell(), DMPlexCompareOrientations()- Add DMPlexOrientPoint()- Add MPIU_4INT and MPI_4INT- Rewrote transitive closure- DMPlexGetTransitiveClosure_Depth1_Static() now correctly handles ornt- PetscDualSpaceLagrange and PetscSection use the number of arragnements and not the cone size- Update examples
DT: Changed key and WeakForm internals- Changed name to PetscFormKey - Added part member- Now maps are referred to by PetscWeakFormKind- Added PetscWeakFormClearIndex() and PetscWeakFormClear()
DT: Changed key and WeakForm internals- Changed name to PetscFormKey - Added part member- Now maps are referred to by PetscWeakFormKind- Added PetscWeakFormClearIndex() and PetscWeakFormClear()- Passing NULL to SetIndex is now ignored- Added tests
Fixing error in PetscFVComputeGradientWork arrays were mixed-up and their sizes were wrong
Added feature PetscSpace_Sum
Add PetscDTPDKEvalJet(), PetscDTJacobiEvalJet(), PetscDTIndexToGradedOrder(), and PetscDTGradedOrderToIndex()The Proriol-Koordwinder-Dubiner basis (PKD) is orthonormal on thereference simplex, so
Add PetscDTPDKEvalJet(), PetscDTJacobiEvalJet(), PetscDTIndexToGradedOrder(), and PetscDTGradedOrderToIndex()The Proriol-Koordwinder-Dubiner basis (PKD) is orthonormal on thereference simplex, so we should make it available as a stable basis ofevaluation.The recursive definition allows for a straightforward and stablecalculation of all derivatives, not just first and second.`src/dm/dt/tests/ex9.c` tests that the basis is orthonormaland compares the derivatives against the derivatives computed bytensor-product Legendre polynomials.I thought about how to make an interface that would handle that,and I decided returning the jet in the same kind of gradedrepresentation that makes sense for multivariate polynomial spaces was agood choice.To facilitate this, I also added indexing functions for figuring outwhere a tuple (either of exponents in a monomial or orders in a partialderivatives) is in this ordering.Along the way I made PetscDTStroudConicalQuadrature() handle arbitrarydimensions instead of just 1--3.We have a variety of dimensional orderings in PetscDT, related to how weorder points of evaluation, components of the jet, and basis functions.I thought that:- downstream users concerned with performance might prefer points of evaluation as the fastest varying index to facilitate vectorization of numerical integration, and- having basis functions as one of the outer dimensions (first or last) would simplify computing the matrix-matrix product of a [basis function x evaluation point] matrix with a Vandermonde inverse matrixSo I ordered the output dimensions of PetscDTPKDEvalJet() as[basis function, jet component (derivative), evaluation point]. I amseeking comment as to whether this is good, and whether it might be agood convention to adopt elsewhere in PetscDT.undo externFix complex type issue in dm/dt/tests/ex9.csquashme: fix scaling in PetscDTStroudConicalQuadrature()squashme: loosen tolerance for single precisionsquashme: cast to double before printingsquashme: remove unused static functions
Add PetscDTIndexToBary, PetscDTBaryToIndex, and PetscDTNodeTypeMove tests that missed the example excisionAdd enum lists for PetscDTNodeTypes
Promote examples/{tests,tutorials}/ to {tests,tutorials}/This shortens paths and improves consistency between test target namesand paths to the source and output files. Most of the work wascompl
Promote examples/{tests,tutorials}/ to {tests,tutorials}/This shortens paths and improves consistency between test target namesand paths to the source and output files. Most of the work wascompleted by this script, followed by mild cleanup of nonconformingcases.for makefile in `git ls-files 'src/*makefile'`; do if rg -q 'DIRS.*\bexamples\b' $makefile; then base=$(dirname $makefile) dirs=$(cd $base/examples && ls -d tests tutorials 2>/dev/null | xargs echo) perl -pi -e "s#^(DIRS.*)\bexamples\b#\1${dirs}#" $makefile git rm $base/examples/makefile for t in $dirs; do git mv $base/examples/$t $base/ perl -pi -e "s#^(LOCDIR[[:space:]]*=).*#\1 $base/$t/#" $base/$t done fidonegit grep -l -E -z 'examples/(tutorials|tests)' | xargs -0 perl -pi -e 's#examples/(tutorials|tests)#\1#g'git checkout @ \ src/docs/website/documentation/changes/ \ src/benchmarks/results/