History log of /petsc/src/dm/impls/plex/ (Results 3726 – 3750 of 5874)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
d6143a4e19-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex: propose DMPlexCoordinatesToReference() interface

8cc5d20c19-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

Merge branch 'tisaac/dualspace-feature-symmetry'

* tisaac/dualspace-feature-symmetry:
DMPlexTree: fix maxFields bound used in loops
SNES tutorials ex12: update output for dual space changes


/petsc/config/BuildSystem/config/compilers.py
/petsc/config/BuildSystem/config/packages/PTScotch.py
/petsc/config/BuildSystem/config/packages/hypre.py
/petsc/include/petscdmcomposite.h
/petsc/include/petscmat.h
/petsc/src/dm/impls/composite/ftn-custom/zfddaf.c
/petsc/src/dm/impls/composite/pack.c
plextree.c
/petsc/src/docs/tex/manual/developers.tex
/petsc/src/docs/website/documentation/changes/37.html
/petsc/src/docs/website/index.html
/petsc/src/ksp/ksp/examples/tests/ex51.c
/petsc/src/ksp/ksp/examples/tests/makefile
/petsc/src/ksp/ksp/examples/tests/output/ex51_1.out
/petsc/src/ksp/ksp/examples/tests/output/ex51_2.out
/petsc/src/ksp/ksp/examples/tutorials/makefile
/petsc/src/ksp/ksp/examples/tutorials/output/ex56_nns_telescope.out
/petsc/src/ksp/ksp/impls/tsirm/tsirm.c
/petsc/src/ksp/pc/impls/factor/cholesky/cholesky.c
/petsc/src/ksp/pc/impls/factor/lu/lu.c
/petsc/src/ksp/pc/impls/gamg/agg.c
/petsc/src/ksp/pc/impls/kaczmarz/kaczmarz.c
/petsc/src/ksp/pc/impls/telescope/telescope.c
/petsc/src/ksp/pc/impls/telescope/telescope.h
/petsc/src/ksp/pc/impls/telescope/telescope_dmda.c
/petsc/src/mat/coarsen/impls/mis/mis.c
/petsc/src/mat/color/impls/jp/jp.c
/petsc/src/mat/examples/tests/ex174.cxx
/petsc/src/mat/examples/tests/ex200.c
/petsc/src/mat/examples/tests/ex72.c
/petsc/src/mat/examples/tests/makefile
/petsc/src/mat/impls/elemental/matelem.cxx
/petsc/src/mat/impls/mffd/mffd.c
/petsc/src/mat/impls/nest/matnest.c
/petsc/src/mat/interface/matrix.c
/petsc/src/snes/examples/tutorials/ex28.c
/petsc/src/snes/examples/tutorials/output/ex12_34.out
/petsc/src/snes/examples/tutorials/output/ex12_35.out
/petsc/src/snes/examples/tutorials/output/ex12_36.out
/petsc/src/snes/impls/ncg/snesncg.c
/petsc/src/snes/impls/qn/qn.c
/petsc/src/snes/impls/richardson/snesrichardson.c
/petsc/src/snes/interface/snes.c
/petsc/src/sys/examples/tutorials/ex4f.F
/petsc/src/sys/objects/ftn-custom/zstart.c
/petsc/src/sys/objects/prefix.c
/petsc/src/tao/interface/ftn-custom/ztaosolverf.c
/petsc/src/ts/examples/tutorials/advection-diffusion-reaction/ex6.c
/petsc/src/ts/examples/tutorials/ex11.c
/petsc/src/ts/examples/tutorials/ex34.c
/petsc/src/ts/examples/tutorials/output/ex3_1.out
/petsc/src/ts/examples/tutorials/output/ex3_3.out
/petsc/src/ts/examples/tutorials/output/ex3_4.out
/petsc/src/ts/examples/tutorials/output/ex3_5.out
/petsc/src/ts/examples/tutorials/output/ex43_a.out
/petsc/src/ts/examples/tutorials/output/ex4_1.out
/petsc/src/ts/examples/tutorials/output/ex4_2.out
/petsc/src/ts/examples/tutorials/output/ex4_3.out
/petsc/src/ts/examples/tutorials/output/ex4_4.out
/petsc/src/ts/examples/tutorials/output/ex5_1.out
/petsc/src/ts/examples/tutorials/output/ex6_1.out
/petsc/src/ts/interface/ts.c
01d7c5c319-Aug-2016 Patrick Sanan <patrick.sanan@gmail.com>

PetscViewerVTK: Move DM reference increment into the VTK viewer and out of the DM implementation, as suggested by Jed Brown

e5831e4319-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

Merge branch 'tisaac/dualspace-feature-symmetry' into tisaac/petscfe-matching-quadrature-order

* tisaac/dualspace-feature-symmetry:
DMPlexTree: fix maxFields bound used in loops

713c1c5d19-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlexTree: fix maxFields bound used in loops

6c3cfbae18-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex tests ex3: finish updating tests for more quadrature

f72ca64818-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex tests ex3: update regression test for discontinuous elements

I was disconcerted that an interpolation result for p1 discontinuous
elements went from pass to fail when I changed the quadrature

DMPlex tests ex3: update regression test for discontinuous elements

I was disconcerted that an interpolation result for p1 discontinuous
elements went from pass to fail when I changed the quadrature, but what
actually happened was that the *restriction* result went from pass to
fail.

The restriction is computed by applying the transpose of interpolation,
and then scaling the result. The scaling of the result is designed to
be correct for a constant fine vector. So the fine vector can be
written as f = L + C, where C is piecewise constant on each coarse cell,
and L is orthogonal to any vector that is constant on each coarse cell.
Applying the restriction operator gives Rf = RL + RC, where RC is exact.

When we underintegrated to determine the element-difference, we were
using a one-point centroid rule f(). So f(Rf - exact) = f(RL) + f(RC -
exact). Because it is a centroid rule, f(RC-exact) = 0. Because it is
a centroid rule and the nodes are balance around the centroid, fR is a
constant vector on each coarse cell, so f(RL) = 0.

Therefore, the fact that the restriction was exact before was an example
of superconvergence, and I'm comfortable updating the test in a way that
takes that superconvergence away.

show more ...

a63b72c618-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex: silence compiler warning for uninitialized variable.

59a6256118-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex tests ex3: update interpolation/convergence tests for higher-order quadrature

Some of the convergence rates for derivatives have decreased, because I
think we were seeing a super-convergence

DMPlex tests ex3: update interpolation/convergence tests for higher-order quadrature

Some of the convergence rates for derivatives have decreased, because I
think we were seeing a super-convergence effect from under integration.

I didn't do all of the tests yet: a discontinuous test switched from
pass to FAIL, and I don't trust it yet.

show more ...

9f32854317-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex: use temporary detJ everywhere

037dc19415-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

fixing Toby's fix

f960e42413-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlexComputeGeometryFEM(): clarify what is expected if fe != NULL and correct computations accordingly

It makes the most sense to ask for the image of each quadrature point, and the the J, invJ and

DMPlexComputeGeometryFEM(): clarify what is expected if fe != NULL and correct computations accordingly

It makes the most sense to ask for the image of each quadrature point, and the the J, invJ and detJ of the transformation at those same points.

show more ...


/petsc/include/petsc/finclude/petscdmdef.h
/petsc/include/petsc/private/fortranimpl.h
/petsc/include/petsc/private/tsimpl.h
/petsc/include/petscts.h
/petsc/src/dm/dt/interface/dt.c
plexgeometry.c
/petsc/src/dm/interface/dm.c
/petsc/src/dm/interface/ftn-custom/zdmf.c
/petsc/src/docs/tex/petsc.bib
/petsc/src/ksp/pc/impls/gamg/agg.c
/petsc/src/mat/coarsen/impls/mis/mis.c
/petsc/src/mat/examples/tests/ex23.c
/petsc/src/mat/examples/tests/output/ex23_1.out
/petsc/src/mat/examples/tests/output/ex23_2.out
/petsc/src/mat/examples/tests/output/ex23_3.out
/petsc/src/mat/examples/tests/output/ex23_4.out
/petsc/src/mat/impls/is/matis.c
/petsc/src/mat/interface/ftn-custom/zmatnullf.c
/petsc/src/sys/logging/xmllogevent.c
/petsc/src/ts/examples/tutorials/makefile
/petsc/src/ts/examples/tutorials/output/ex20adj_1.out
/petsc/src/ts/examples/tutorials/output/ex20adj_3.out
/petsc/src/ts/examples/tutorials/output/ex20adj_4.out
/petsc/src/ts/examples/tutorials/output/ex3_1.out
/petsc/src/ts/examples/tutorials/output/ex3_3.out
/petsc/src/ts/examples/tutorials/output/ex3_4.out
/petsc/src/ts/examples/tutorials/output/ex3_5.out
/petsc/src/ts/examples/tutorials/output/ex43_a.out
/petsc/src/ts/examples/tutorials/output/ex4_1.out
/petsc/src/ts/examples/tutorials/output/ex4_2.out
/petsc/src/ts/examples/tutorials/output/ex4_3.out
/petsc/src/ts/examples/tutorials/output/ex4_4.out
/petsc/src/ts/examples/tutorials/output/ex5_1.out
/petsc/src/ts/examples/tutorials/output/ex6_1.out
/petsc/src/ts/interface/ts.c
/petsc/src/ts/trajectory/impls/memory/trajmemory.c
/petsc/src/ts/trajectory/interface/traj.c
/petsc/src/vec/vec/utils/ftn-custom/zvscatf.c
/petsc/src/vec/vec/utils/vscat.c
6084e6db12-Aug-2016 Matthew G. Knepley <knepley@gmail.com>

Plex ex6: Updated output for fix

316b7f8712-Aug-2016 Max Rietmann <max.rietmann@erdw.ethz.ch>

The bottom orientation was incorrect. For order 3, the orientation was listed as:
v1 v2
+---------------+
| |
| 8 10 | top-to-bottom
|

The bottom orientation was incorrect. For order 3, the orientation was listed as:
v1 v2
+---------------+
| |
| 8 10 | top-to-bottom
| | enumeration
| |
| 9 11 |
| |
+---------------+
v0 v3
However, it should have been bottom to top
v1 v2
+---------------+
| |
| 9 11 | bottom-to-top
| | enumeration
| |
| 8 10 |
| |
+---------------+
v0 v3
This resulted in an incorrect permutation. From plex.c:DMPlexCreateSpectralClosurePermutation(), the perm had values:
perm[5] = 9
perm[6] = 11
perm[9] = 8
perm[10] = 10
They should have been
perm[5] = 8
perm[6] = 10
perm[9] = 9
perm[10] = 11
The fixed variable: o = ofb+n*(k-1)+(k-2)-i; was changed to o = ofb+n*(k-1)+i;, reversing the top-to-bottom to bottom-to-top. This continues to work for higher orders as well.

show more ...

2c44ad0407-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlexTree: compute constraint matrix entries in blocks

For high order matrices, calling MatGetValue() and MatSetValue() was
costly, so the critical section of code instead uses one
MatDenseGet/Rest

DMPlexTree: compute constraint matrix entries in blocks

For high order matrices, calling MatGetValue() and MatSetValue() was
costly, so the critical section of code instead uses one
MatDenseGet/RestoreArray() and MatSetValues().

show more ...

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


/petsc/config/builder.py
/petsc/include/petsc/finclude/petscisdef.h
/petsc/include/petsc/finclude/petscpc.h
/petsc/include/petsc/finclude/petscpcdef.h
/petsc/include/petsc/private/dmlabelimpl.h
/petsc/include/petsc/private/dmpleximpl.h
/petsc/include/petsc/private/isimpl.h
/petsc/include/petsc/private/pcgamgimpl.h
/petsc/include/petsc/private/pcmgimpl.h
/petsc/include/petsc/private/petscfeimpl.h
/petsc/include/petscdmlabel.h
/petsc/include/petscfe.h
/petsc/include/petscis.h
/petsc/include/petscistypes.h
/petsc/include/petscmatcoarsen.h
/petsc/include/petscpc.h
/petsc/include/petscpctypes.h
/petsc/lib/petsc/conf/bfort-petsc.txt
/petsc/src/dm/dt/examples/tests/ex4.c
/petsc/src/dm/dt/examples/tests/makefile
/petsc/src/dm/dt/examples/tests/output/ex4_0.out
/petsc/src/dm/dt/interface/dtfe.c
examples/tests/ex3.c
examples/tests/makefile
examples/tests/output/ex3_nonconforming_simplex_2_hi.out
examples/tests/output/ex3_nonconforming_simplex_3_hi.out
examples/tests/output/ex3_nonconforming_tensor_2_hi.out
examples/tests/output/ex3_nonconforming_tensor_3_hi.out
examples/tests/output/ex3_p1d_2d_3.out
examples/tests/output/ex3_p1d_2d_5.out
examples/tutorials/ex6.c
examples/tutorials/output/ex6_11.out
examples/tutorials/output/ex6_7.out
examples/tutorials/output/ex6_8.out
plex.c
plexgeometry.c
plextree.c
/petsc/src/dm/interface/dlregisdmdm.c
/petsc/src/dm/label/dmlabel.c
/petsc/src/dm/label/ftn-custom/zdmlabel.c
/petsc/src/docs/tex/manual/part2.tex
/petsc/src/docs/website/documentation/changes/dev.html
/petsc/src/docs/website/documentation/faq.html
/petsc/src/ksp/ksp/examples/tutorials/ex42.c
/petsc/src/ksp/ksp/examples/tutorials/ex56.c
/petsc/src/ksp/ksp/examples/tutorials/makefile
/petsc/src/ksp/ksp/examples/tutorials/output/ex43_3.out
/petsc/src/ksp/ksp/examples/tutorials/output/ex43_4.out
/petsc/src/ksp/ksp/examples/tutorials/output/ex43_6.out
/petsc/src/ksp/ksp/examples/tutorials/output/ex54f.out
/petsc/src/ksp/ksp/examples/tutorials/output/ex54f_1_alt.out
/petsc/src/ksp/ksp/examples/tutorials/output/ex55_sa.out
/petsc/src/ksp/ksp/examples/tutorials/output/ex56_0.out
/petsc/src/ksp/pc/impls/gamg/agg.c
/petsc/src/ksp/pc/impls/gamg/gamg.c
/petsc/src/ksp/pc/impls/mg/mg.c
/petsc/src/ksp/pc/impls/ml/ml.c
/petsc/src/ksp/pc/impls/wb/wb.c
/petsc/src/mat/coarsen/impls/hem/hem.c
/petsc/src/mat/partition/impls/hierarchical/hierarchical.c
/petsc/src/mat/partition/partition.c
/petsc/src/snes/examples/tutorials/ex5.c
/petsc/src/snes/examples/tutorials/ex58.c
/petsc/src/snes/examples/tutorials/makefile
/petsc/src/snes/examples/tutorials/output/ex18_1.out
/petsc/src/snes/examples/tutorials/output/ex20_1.out
/petsc/src/snes/examples/tutorials/output/ex40f90.out
/petsc/src/snes/examples/tutorials/output/ex56_0.out
/petsc/src/snes/examples/tutorials/output/ex5_1.out
/petsc/src/snes/examples/tutorials/output/ex5_2.out
/petsc/src/snes/impls/vi/rs/virs.c
/petsc/src/ts/examples/tutorials/advection-diffusion-reaction/ex5.c
/petsc/src/vec/is/utils/ftn-custom/makefile
/petsc/src/vec/is/utils/ftn-custom/zvsectionisf.c
/petsc/src/vec/is/utils/vsectionis.c
/petsc/src/vec/vec/interface/dlregisvec.c
1a834cf903-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

cast memzeros to void to avoid compiler complaints about const qualifiers

ee4ba00003-Aug-2016 Barry Smith <bsmith@mcs.anl.gov>

Merge branch 'barry/fix-xml-logging'

775f7be202-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex: fix stray PetscScalar to PetscReal

055696c101-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

Plex tutorials ex6: use symmetries in SEM example

Other usage thus far has determined the symmetry from a dual space. In
this example we are demonstrating SEM node ordering *without* relying on
Pet

Plex tutorials ex6: use symmetries in SEM example

Other usage thus far has determined the symmetry from a dual space. In
this example we are demonstrating SEM node ordering *without* relying on
PetscDS/PetscFE/PetscDualSpace, etc. In this case, the user has to
describe the symmetry of their dofs for themselves. So ex6 now
demonstrates how to describe the symmetries for tensor products grids of
degrees of freedom.

show more ...

4c60fab501-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

Plex tests ex3: added high order tests

High order (in 3D) relies on the correcy symmetry permutations, so this
is a test of the recent symmetry infrastructure.

c847e91601-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

Plex tests ex3: add matrix-free near null space test

The existing tests stressed DMPlexMatSetClosure(); the additional tests
stress DMPlexVecGet/SetClosure()

8ccfff9c20-Jul-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex: fix PetscInt %D PetscPrintf character

085f0adf01-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlexTree: use symmetries when computing constraint matrices

4acb8e1e01-Aug-2016 Toby Isaac <tisaac@uchicago.edu>

DMPlex: use symmetries in DMPlexGetIndicesPoint{Fields}_Internal() and DMPlexAnchorsModifyMat()

The permutations are passed now instead of the orientations. For
DMPlexGetIndicesPointFields_Internal

DMPlex: use symmetries in DMPlexGetIndicesPoint{Fields}_Internal() and DMPlexAnchorsModifyMat()

The permutations are passed now instead of the orientations. For
DMPlexGetIndicesPointFields_Internal(), we pass permutations for every
point (assuming PetscSectionGetFieldPointSyms() was called for multiple
points, such as for a closure set) of every field, so we have to pass an
additional parameter indicating the offset of the current point in the
set of points.

show more ...

1...<<141142143144145146147148149150>>...235