| #
a5b23f4a
|
| 03-Sep-2021 |
Jose E. Roman <jroman@dsic.upv.es> |
Fix spelling errors in manpages and comments
|
| #
47c3d8b7
|
| 02-Jun-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/maint'
|
| #
f3f05327
|
| 02-Jun-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'fix-fortran-DSGetTabulation' into 'maint'
Fix DSGetTabulation for Fortran
See merge request petsc/petsc!2826
|
| #
19815104
|
| 01-Jun-2020 |
Martin Diehl <mail@martin-diehl.net> |
typo
|
| #
2c7de515
|
| 06-Apr-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-dubiner-basis' into 'master'
PetscDT: PKD (Dubiner) basis
See merge request petsc/petsc!2691
|
| #
fbdc3dfe
|
| 01-Apr-2020 |
Toby Isaac <tisaac@cc.gatech.edu> |
Add PetscDTPDKEvalJet(), PetscDTJacobiEvalJet(), PetscDTIndexToGradedOrder(), and PetscDTGradedOrderToIndex()
The Proriol-Koordwinder-Dubiner basis (PKD) is orthonormal on the reference simplex, so
Add PetscDTPDKEvalJet(), PetscDTJacobiEvalJet(), PetscDTIndexToGradedOrder(), and PetscDTGradedOrderToIndex()
The Proriol-Koordwinder-Dubiner basis (PKD) is orthonormal on the reference simplex, so we should make it available as a stable basis of evaluation.
The recursive definition allows for a straightforward and stable calculation of all derivatives, not just first and second.
`src/dm/dt/tests/ex9.c` tests that the basis is orthonormal and compares the derivatives against the derivatives computed by tensor-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 graded representation that makes sense for multivariate polynomial spaces was a good choice.
To facilitate this, I also added indexing functions for figuring out where a tuple (either of exponents in a monomial or orders in a partial derivatives) is in this ordering.
Along the way I made PetscDTStroudConicalQuadrature() handle arbitrary dimensions instead of just 1--3.
We have a variety of dimensional orderings in PetscDT, related to how we order 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 matrix
So I ordered the output dimensions of PetscDTPKDEvalJet() as [basis function, jet component (derivative), evaluation point]. I am seeking comment as to whether this is good, and whether it might be a good convention to adopt elsewhere in PetscDT.
undo extern
Fix complex type issue in dm/dt/tests/ex9.c
squashme: fix scaling in PetscDTStroudConicalQuadrature()
squashme: loosen tolerance for single precision
squashme: cast to double before printing
squashme: remove unused static functions
show more ...
|
| #
8bb017ff
|
| 30-Mar-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-dual-space-rework' into 'master'
Rework PetscDualSpace
See merge request petsc/petsc!2399
|
| #
d4afb720
|
| 26-Mar-2020 |
Toby Isaac <tisaac@cc.gatech.edu> |
Add PetscDTIndexToBary, PetscDTBaryToIndex, and PetscDTNodeType
Move tests that missed the example excision
Add enum lists for PetscDTNodeTypes
|
| #
67e831d3
|
| 25-Mar-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/psanan/docs-fixes-2020-03-25'
Doc fixes (prerequisites for Sphinx docs)
See merge request petsc/petsc!2633
|
| #
f0fc11ce
|
| 15-Mar-2020 |
Jed Brown <jed@jedbrown.org> |
docs: fix sowing list syntax/incomplete man page
|
| #
713946ae
|
| 05-Mar-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-unify-quadrature' into 'master'
Unify Jacobi polynomial based computations in PetscDT
See merge request petsc/petsc!2574
|
| #
94e21283
|
| 02-Mar-2020 |
Toby Isaac <tisaac@cc.gatech.edu> |
Add PetscDTGaussJacobiQuadrature, PetscDTGaussLobattoJacobiQuadrature, PetscDTJacobiEval
Implement the Jacobi recurrence in exactly one place
Add PetscDTJacobiEval
squashme: Fixes to Jacobi polyno
Add PetscDTGaussJacobiQuadrature, PetscDTGaussLobattoJacobiQuadrature, PetscDTJacobiEval
Implement the Jacobi recurrence in exactly one place
Add PetscDTJacobiEval
squashme: Fixes to Jacobi polynomial changes
Use lgamma to determine the scaling coefficient in Newton's method for Gauss-Jacobi quadrature
Fix complex-to-real in postprocessing eigensolve in dt.c
Correctly choose newton for PetscGaussLobattoLegendreQuadrature
Use better initial guess for PetscDTGaussJacobiQuadrature_Newton_Internal
Work around Sun bug (nullus cimex sub sole novus)
show more ...
|
| #
e6a796c3
|
| 28-Feb-2020 |
Toby Isaac <tisaac@cc.gatech.edu> |
Rename PetscDTGaussJacobiQuadrature to PetscDTStroudConicalQuadrature and consolidate internal quadrature calculations
Revert incorrectly changed quadrature in dmmbfem.cxx
|
| #
3972c850
|
| 29-Jan-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'dalcinl/petscdt-fix-warning' into 'master'
PetscDT: Fix -Wconversion warnings in header file when using 64bit integers
See merge request petsc/petsc!2480
|
| #
e2ab39cc
|
| 29-Jan-2020 |
Lisandro Dalcin <dalcinl@gmail.com> |
PetscDT: Fix -Wconversion warnings in header file when using 64bit integers
/home/devel/petsc/dev/include/petscdt.h:166:44: \ warning: conversion from ‘PetscInt’ {aka ‘long int’} \ to ‘PetscReal’ {a
PetscDT: Fix -Wconversion warnings in header file when using 64bit integers
/home/devel/petsc/dev/include/petscdt.h:166:44: \ warning: conversion from ‘PetscInt’ {aka ‘long int’} \ to ‘PetscReal’ {aka ‘double’} may change value [-Wconversion] 166 | for (i = 0; i < k; i++) binom = (binom * (n - i)) / (i + 1);
show more ...
|
| #
339143f0
|
| 15-Jan-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'knepley/feature-project-different-spaces' into 'master'
Knepley/feature project different spaces
See merge request petsc/petsc!2153
|
| #
ef0bb6c7
|
| 09-Jan-2020 |
Matthew G. Knepley <knepley@gmail.com> |
FE+DS: Introduce PetscTabulation to hold tabulated function data - This was created to prevent mismatches in sizes I was getting by just passing around arrays - FE+FV+DS now hold tabulations - GetTab
FE+DS: Introduce PetscTabulation to hold tabulated function data - This was created to prevent mismatches in sizes I was getting by just passing around arrays - FE+FV+DS now hold tabulations - GetTabulation() --> CreateTabulation() and it creates an object rather than using DMGetWorkArray(). I put in ComputeTabulation() to reuse space, but there still may be performance regression. - Default tabulations are now "cell tabulations" - The replicas in the tabulation are used to index faces in a face tabulation
show more ...
|
| #
b2a1bb3a
|
| 13-Dec-2019 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/knepley/feature-dt-quad-classid'
Knepley/feature dt quad classid
See merge request petsc/petsc!2355
|
| #
b38d72c9
|
| 12-Dec-2019 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-alt-v' into 'master'
Tisaac/feature alt v
See merge request petsc/petsc!2357
|
| #
28222859
|
| 07-Dec-2019 |
Toby Isaac <tisaac@cc.gatech.edu> |
Fix uninitialized, C++, and Fortran issues with PetscDTAltV, other small fixes
Silence compiler Wmaybe-unitialized warnings in petscdt.h
Loosen tolerances for single precision tests
Fix C++ PetscD
Fix uninitialized, C++, and Fortran issues with PetscDTAltV, other small fixes
Silence compiler Wmaybe-unitialized warnings in petscdt.h
Loosen tolerances for single precision tests
Fix C++ PetscDTAltv test ex7
Fix complex<->real loops in PetscDTJacobianInverse_Internal
Fix -Wmaybe-unitialized errors in ex7
Improve documentation of PetscDTAltV thanks to criticism from Barry Smith
Protect PetscDTFactorial against negative input
Unbracket SETERRQ
Make "the" -> "a"/"an" more input argument documentation in PetscDTAltV
Rename formIndex to formDegree for consistent notation
show more ...
|
| #
907761f8
|
| 07-Dec-2019 |
Toby Isaac <tisaac@cc.gatech.edu> |
Add PetscQuadraturePushForward to make it easier to use arbitrary node sets in mixed elements
Use getri in PetscDTJacobianInverse_Internal
Remove unneeded header from dt.c that was introduced in fe
Add PetscQuadraturePushForward to make it easier to use arbitrary node sets in mixed elements
Use getri in PetscDTJacobianInverse_Internal
Remove unneeded header from dt.c that was introduced in feature development
show more ...
|
| #
8cd1e013
|
| 06-Dec-2019 |
Toby Isaac <tisaac@cc.gatech.edu> |
Add PetscDTPermIndex that inverts PetscDTEnumPerm
|
| #
fad4db65
|
| 06-Dec-2019 |
Toby Isaac <tisaac@cc.gatech.edu> |
Document static inlines in petscdt.h
Expose PetscDTFactorial and PetscDTFactorialInt, match with PetscDTBinomial and PetscDTBinomialInt
Document PetscDTAltV
|
| #
dda711d0
|
| 03-Apr-2018 |
Toby Isaac <tisaac@cc.gatech.edu> |
Add PetscDTAltVInteriorPattern that is reusable for multiple inputs
Fix PetscDTAltVInteriorPattern
PetscDTAltV: added interior product pattern check
Update PetscDTAltV tests with interior product
Add PetscDTAltVInteriorPattern that is reusable for multiple inputs
Fix PetscDTAltVInteriorPattern
PetscDTAltV: added interior product pattern check
Update PetscDTAltV tests with interior product output
show more ...
|
| #
1a989b97
|
| 04-Nov-2019 |
Toby Isaac <tisaac@cc.gatech.edu> |
Start PetscDTAltV
Added reference implementation of alternating multilinear forms
But I'm going to clean up the interface. I don't think an actual object is necessary and we want to optimize the c
Start PetscDTAltV
Added reference implementation of alternating multilinear forms
But I'm going to clean up the interface. I don't think an actual object is necessary and we want to optimize the cases N = 2, 3
PetscDTAltV: change representation order
so that when k != N / 2, there is no reordering in hodge star
PetscDTAltv: New basis for alterting multilinear forms.
For $k$-forms with $2 k \leq N$, the standard lexicographic basis of $\{dx_{\sigma(1)} \wedge \dots \wedge dx_{\sigma(k)}\}$ is used.
For $2 k > N$, we modify this by first reversing the lexicographic order, and then swapping $\sigma(1)$ and $\sigma(k)$ if $\sigma$ is odd. While this involves more sign flips than the basic approach, it has two good properties:
- it preserves the case as before that the dofs of a row vector / covector are the dofs of the equivalent 1-form, but now - the dofs of a contravariant vector (like an H(div)-conforming flux) are the dofs of the equivalent (N-1)-form (importantly, this means that the contravariant pullback is the same as the alternating form pullback)
The only exception is 2D, for which the case is the same as before: the 1-form pullback is the covariant pullback, the contravariant pullback can be obtained by Hodge star isometry before and afer the pullback.
Remove bad file from rename during merge
PetscDTAltV: interface simplifaction, undo specialized basis.
The fact that the N=2 case wasn't handle bothered me. Now I think the thing to do is to let PetscDTAltVPullback() and PetscDTAltVInterior() take negative form degrees, indicating that the pullback/interior product should be conjugated with the hodge star.
Fix c++ PetscBool issues with PetscDT static inlines
PetscDTAltV: negative form index in pullback...
indicates $\star^{-1} \circ L* \circ$. This gives the contravariant pullback by $ k=-(N-1)$ in all dimensions.
PetscDTAltV: stop using altv data structures
I'm going to remove the object
PetscDTAltV: Remove object
PetscDTAltV: avoid mallocs/frees for N <= 3
show more ...
|