History log of /petsc/include/petscfe.h (Results 201 – 225 of 374)
Revision Date Author Comments
# 171f813e 15-Feb-2017 Toby Isaac <tisaac@uchicago.edu>

Merge remote-tracking branch 'origin/knepley/feature-fe-dual-apply' into tisaac/feature-fe-dual-apply

* origin/knepley/feature-fe-dual-apply: (75 commits)
Plex: Screwed up last fix
Plex: Fix ove

Merge remote-tracking branch 'origin/knepley/feature-fe-dual-apply' into tisaac/feature-fe-dual-apply

* origin/knepley/feature-fe-dual-apply: (75 commits)
Plex: Screwed up last fix
Plex: Fix overeager protection of function
PetscFE: Fixed declaration
Travis-CI: Attempt to solve issues with gfortran
Travis-CI: Use newer macOS image
clarify damping and other issues related to SNESLINESEARCHBASIC
change example in new harness to use simple partitioner so gets consistent output on all systems
remove unused function from test file
cleanup formatting in example, plus myrank not rank
all requires need to go on the same line in test definition otherwise they are skipped
missing - makes the manual page formatting wrong
The developer manual clearly states that MPI_Comm_size() returns size it doesn't return numProcs or other nonsense. Pretty soon you'll start using mype instead of rank?
fix typo and cut and paste error in docs
bugfix for !HYPRE
fix warning for ';;'
may switch to scalable only when B->cmap->N > 100000
MatLRC: store in the context the parallel matrices rather than the sequential ones
Bib: Add ref
set default algorithm based on B->cmap->N for MatMatMult_MPIAIJ_MPIAIJ()
Error in VecScatterView_MPI() had the meaning of from and to backwards
...

show more ...


# 476ae45a 14-Feb-2017 Matthew G. Knepley <knepley@gmail.com>

Plex: Screwed up last fix


# 55b905e8 14-Feb-2017 Matthew G. Knepley <knepley@gmail.com>

PetscFE: Fixed declaration


# 9c3cf19f 09-Feb-2017 Matthew G. Knepley <knepley@gmail.com>

PetscFE+FV: Now discretization can be vector spaces
- Space and DualSpace have a number of components
- Now the dimension of a space incorporates the components, so all size determinations changed
-

PetscFE+FV: Now discretization can be vector spaces
- Space and DualSpace have a number of components
- Now the dimension of a space incorporates the components, so all size determinations changed
- The default is to form direct sums of scalar spaces, e.g. for constants (1, 0) and (0, 1) so every
basis vector is a vector with only one component nonzero
- DualSpaceApply() is now handled by the implementation
- FE now uses numDof directly from the DualSpace
- Changed SpaceDG --> SpacePoint
- Updated ex3 tests (DA and p4est is still broken)

show more ...


# e51df6f4 09-Nov-2016 stefano_zampini <stefano.zampini@gmail.com>

Merge branch 'master' into stefano_zampini/feature-pcbddc-saddlepoint

This is needed to deal with some changes in MatNullSpace from commit 9d2471e


# 10c1f87b 27-Oct-2016 Toby Isaac <tisaac@uchicago.edu>

Merge branch 'master' into tisaac/dmplex-feature-real-to-ref

I need updated PetscFE interfaces in what I'm going to do

* master: (603 commits)
parmetis: fix typo in testsuite
Added PETSC_HAVE_A

Merge branch 'master' into tisaac/dmplex-feature-real-to-ref

I need updated PetscFE interfaces in what I'm going to do

* master: (603 commits)
parmetis: fix typo in testsuite
Added PETSC_HAVE_ATTRIBUTEALIGNED flag to makefile
PCSetUp_SVD() used incorrect matrix for matrix size in parallel, also need to skip LAPACK call if matrix size is zero
strumpack: update to latest version 1.0.4
Remove valgrind warning about MPI_Allreduce() with uninitialized data
sed for test output that has atol convergence with quad precision
updated ex1_nest tests
fixed incorrect key value
fix: bad merge a69d34a
test: move runex78 to TESTEXAMPLES_C_NOTSINGLE
build: fix warnings
sys: update test to produce same result - irrespective of debug/opt build - and presence of ~/.petscrc
sys: src/sys/examples/tests/ex30.c -> src/sys/examples/tests/ex32.c to avoid conflict in master
Sed output, since quad precision reduces below atol on these tests
remove automatically generated matrix names from test output files since can be different
Fixes for MatMPIXXXSetPreallocation(), they were not reentrant, since they kept the information used for matrix-vector products
GAMG: fix PCView_GAMG() format - and update output/ex56_0.out
superlu_dist: 64-bit-indices fix https://github.com/xiaoyeli/superlu_dist/issues/4
Add SNESSetDivergenceTolerance / -snes_divergence_tolerance.
fixed unit read in Plex
...

show more ...


# 66b078fb 26-Oct-2016 Matthew G. Knepley <knepley@gmail.com>

Merge branch 'knepley/feature-plex-bdfunc'

* knepley/feature-plex-bdfunc: (56 commits)
updated snes/ex56
updated snes/ex56
Plex: Goddamn it! Shadowing a variable name
PetscDS: Must be setup

Merge branch 'knepley/feature-plex-bdfunc'

* knepley/feature-plex-bdfunc: (56 commits)
updated snes/ex56
updated snes/ex56
Plex: Goddamn it! Shadowing a variable name
PetscDS: Must be setup in order to access field sizes and components
fix bad merge 44ac993612e1ca111ab14eba1c22039e0ba32a12 wrt src/snes/examples/tutorials/ex56.c [by attempting to redo the merge with kdiff3 - and then comparing the final result with the result in the above merge]
fixed snes/ex56 for PetscDSAddBoundary change
dmplexsnes: Remove more unused variables
Remove unused variables
SNES ex77: Must also set face quadrature
SNES ex12: No longer need boundary discretization orders
SNES ex62: Numerical flutter
SNES ex12: Numerical flutter
Plex: In projection, get Nc from DS instead of calculating it again
PetscFE: Added missing destroy
SNEX ex77: Update boundary args and FE creation
Plex: Update boundary integrals to new API
SNES ex12: Tests of bc from fields
SNES ex12: Added the ability to use finite element fields as boundary conditions
Plex: Need invJ for field projection
Plex: Fix bug with field projection - We must tabulate the FE on the dual basis quadrature points
...

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 ...


# 44ac9936 06-Oct-2016 Matthew G. Knepley <knepley@gmail.com>

Merge branch 'pr566/knepley/plex_bd_aux_field/master' into knepley/feature-plex-bdfunc

* pr566/knepley/plex_bd_aux_field/master: (22 commits)
PetscDS: reset max nr values for PetscOptionsIntArray(

Merge branch 'pr566/knepley/plex_bd_aux_field/master' into knepley/feature-plex-bdfunc

* pr566/knepley/plex_bd_aux_field/master: (22 commits)
PetscDS: reset max nr values for PetscOptionsIntArray()
SNES+Plex: dm was destroyed too early
Plex: use tabulation based on quadrature points of dual space, not the default tabulation in DMProjectFieldLocal()
SNES ex77: remove zero pointwise functions
PetscFE: only transform pointwise function if it is present
PetscDS: get rid of boundary discretizations
SNES ex77: update test
SNES ex77: simplify residuals/jacobians and delete unnecessary variables and functions
SNES+Plex: use all cell values to interpolate to face
PetscFE: add face quadrature and tabulation
PetscDS: cache number of components and dimensions of discretization space in PetscDS object
SNES ex77: simplify pointwise residual and jacobian for deformation
SNES ex77: move specifications of boundary conditions to command line options
SNES ex77: use auxiliary field for wall pressure
SNES+Plex: allow auxiliary fields in boundary residual/jacobian calculations
PetscDS: get rid of initialization with PetscContainer
SNES+Plex: move boundary jacobian calculation into seperate function
SNES ex77: remove BdResidual for pressure field
SNES+Plex: remove unnecessary (and wrong) loop in boundary residual/jacobian calculations
SNES+Plex: change DMGetField to PetscDSGetBdDiscretization in residual and jacobian calculation
...

Conflicts:
include/petsc/private/petscfeimpl.h
src/dm/dt/interface/dtfe.c
src/dm/impls/plex/plexfem.c
src/snes/examples/tutorials/ex56.c
src/snes/examples/tutorials/ex77.c
src/snes/examples/tutorials/output/ex77_0.out
src/snes/utils/dmplexsnes.c

show more ...


# 4d0b9603 13-Sep-2016 Sander Arens <sanderarens@gmail.com>

SNES+Plex: use all cell values to interpolate to face

Previously the boundary residual/jacobian routines interpolated to face
quadrature points by taking the closure of those faces and using a
separ

SNES+Plex: use all cell values to interpolate to face

Previously the boundary residual/jacobian routines interpolated to face
quadrature points by taking the closure of those faces and using a
separate boundary discretization. This only worked if there were dofs on
faces and the discretization order of the cell and boundary were the
same.
Inverse element jacobians are now calculated from adjacent cells
to also have information on normal derivatives.

show more ...


# 1bafc85d 07-Sep-2016 Sander Arens <sanderarens@gmail.com>

PetscFE: add face quadrature and tabulation


# 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 ...


# fffc2ff8 16-Jun-2016 Toby Isaac <tisaac@uchicago.edu>

PetscDualSpace: added PetscDualSpaceGetSymmetries()

Each dual space describes the symmetries of its functionals as partioned
by the points in the closure of its reference cell. Each symmetry is
F *

PetscDualSpace: added PetscDualSpaceGetSymmetries()

Each dual space describes the symmetries of its functionals as partioned
by the points in the closure of its reference cell. Each symmetry is
F * P, where F is a diagonal flipping matrix (+1/-1 on the diagonal) and
P is a permutation.

So get looks like

perm = perms ? (perms[pos] ? perms[pos][ornt] : NULL) : NULL;
flip = flips ? (flips[pos] ? flips[pos][ornt] : NULL) : NULL;

if (sym) {for (i = 0; i < dofPerPoint; i++) {pointArray[sym[i]] = vecArray[offset + i];}}
else {for (i = 0; i < dofPerPoint; i++) {pointArray[ i ] = vecArray[offset + i];}}
if (flip) {for (i = 0; i < dofPerPoint; i++) {pointArray[ i ] *= flip[i];}}

And set looks like (assuming pointArray is const):

perm = perms ? (perms[pos] ? perms[pos][ornt] : NULL) : NULL;
flip = flips ? (flips[pos] ? flips[pos][ornt] : NULL) : NULL;

if (sym) {for (i = 0; i < dofPerPoint; i++) {fuse(vecArray[offset + i],pointArray[sym[i]] * (flip ? flip[sym[i]] : 1.));}}
else {for (i = 0; i < dofPerPoint; i++) {fuse(vecArray[offset + i],pointArray[ i ] * (flip ? flip[ i ] : 1.));}}

Having this separation is also useful for inserting element matrices: we'd like
to not have to permute the element matrix before we insert it, so we can just
inverse permute the indices that we sum into the matrix. But, if there is a sign flip,
we would rather do that in-place on the element matrix.

I originally intended to use this directly in DMPlexVecGetClosure() and
friend, but this leaves out users who arent' using
PetscDS/PetscFE/PetscDualSpace. I decided it was better to come up with
a way to describe symmetries in PetscSection, and use these dual space
symmetries as a particular implementation.

show more ...


# 89cad2ff 08-Jul-2016 Toby Isaac <tisaac@uchicago.edu>

PetscDualSpaceLagrange: added tensor setting

We should be able to have discontinuous tensor spaces, which are useful,
e.g., in nodal DG methods. When setting up a default finite element, we
try to

PetscDualSpaceLagrange: added tensor setting

We should be able to have discontinuous tensor spaces, which are useful,
e.g., in nodal DG methods. When setting up a default finite element, we
try to set up the tensor setting of the dual space to match the tensor
setting of the primal space.

show more ...


# bef83e63 23-May-2016 Stefano Zampini <stefano.zampini@gmail.com>

Merge branch 'master' into stefano_zampini/feature-pcbddc-saddlepoint

Conflicts:
src/ksp/pc/impls/bddc/bddc.c
src/ksp/pc/impls/bddc/bddcprivate.c
src/mat/impls/aij/seq/mkl_pardiso/mkl_pardiso.c


# 7caaeba4 19-May-2016 barral <none@none.fr>

Merge branch 'master' into barral/feature-dmplex-adapt


# b1366652 16-May-2016 Matthew G. Knepley <knepley@gmail.com>

Merge branch 'knepley/fix-petscfe-kernels-ts'

* knepley/fix-petscfe-kernels-ts:
PetscFE+OpenCL: Fixed OpenCL residual eval for new interface
Plex+SNES: Fixed kernels for Jacobian action
Plex+S

Merge branch 'knepley/fix-petscfe-kernels-ts'

* knepley/fix-petscfe-kernels-ts:
PetscFE+OpenCL: Fixed OpenCL residual eval for new interface
Plex+SNES: Fixed kernels for Jacobian action
Plex+SNES+TS: Pass time and shift down into residual and Jacobian kernels, and the boundary kernels - Added time into ComputeRHS/IFunction
TS ex32: Added a heat equation example - Not yet working, but checking mass matrix now
Plex+SNES: Added DMPlexSNESComputeJacobianActionFEM() - And an internal version

show more ...


# 11dd639b 10-May-2016 Matthew G. Knepley <knepley@gmail.com>

Plex+SNES+TS: Pass time and shift down into residual and Jacobian kernels, and the boundary kernels
- Added time into ComputeRHS/IFunction


# 35d70571 04-May-2016 Stefano Zampini <stefano.zampini@gmail.com>

Merge branch 'master' into stefano_zampini/feature-pcbddc-saddlepoint

Conflicts:
src/ksp/pc/impls/bddc/bddc.c
src/ksp/pc/impls/bddc/bddcgraph.c
src/ksp/pc/impls/bddc/bddcprivate.c


# ebdb4f8f 16-Apr-2016 Barry Smith <bsmith@mcs.anl.gov>

Merge branch 'master' of bitbucket.org:petsc/petsc


# c019f295 16-Apr-2016 Toby Isaac <tisaac@uchicago.edu>

Merge branch 'tisaac/dmp4est-feature-injection'

* tisaac/dmp4est-feature-injection: (27 commits)
DMP4est: linear solve regression tests
DMP4est: regression tests for exact interpolation/injectio

Merge branch 'tisaac/dmp4est-feature-injection'

* tisaac/dmp4est-feature-injection: (27 commits)
DMP4est: linear solve regression tests
DMP4est: regression tests for exact interpolation/injection
PetscDualSpace: create height subspaces at setup.
DMClone(): get agreement on cloning coordinates
DMP4est: bump number of procs in regression test
DMP4est: fix memory leaks
DMP4est: added diagnostic views
DMP4est: adding regression tests
SNES tutorials ex12: added RUN_EXACT, solve from exact solution
DMPlex: memory clean up in Injector/InterpolatorTree routines
DMP4est: use DMCoarsen_Forest
DMPlexComputerInterpolatorTree(): restore another work array
DMPlexAnchorsModifyMat(): restore work arrays
DMPlexComputeInjectorTree(): fix local / off-process bounds
DMPlexComputeInjectorTree(): more fixes
DMPlexComputeInjectorTree(): fix coarse/fine char mixup
DMPlexComputeInjectorTree() compiles
WIP: DMPlexComputeInjectorTree()
Plex tests ex3: added regression tests for injectors
DMPlex tests ex3: fix viewing, creating injectors
...

show more ...


# 8d2f55e7 23-Mar-2016 Toby Isaac <tisaac@uchicago.edu>

WIP


12345678910>>...15