DM+SNES: Update examples for DS functions
Added feature PetscSpace_Sum
Merge remote-tracking branch 'origin/maint'
Single petscdir.mk
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
show more ...
Add PetscDTIndexToBary, PetscDTBaryToIndex, and PetscDTNodeTypeMove tests that missed the example excisionAdd enum lists for PetscDTNodeTypes
Provide support for not setting PETSC_DIR when gnumake is being used; this will prevent some petsc-maint/petsc-users email threadsCommit-type: error-checking, testing-fix, feature, exampleThanks-t
Provide support for not setting PETSC_DIR when gnumake is being used; this will prevent some petsc-maint/petsc-users email threadsCommit-type: error-checking, testing-fix, feature, exampleThanks-to: Jed Brown <jed@jedbrown.org>Thanks-to: Lisandro Dalcin <dalcinl@gmail.com>
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/
1234