| #
77623264
|
| 08-Oct-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Partitioner+Plex: Added PetscPartitioner class - Plex holds a PetscPartitioner - Changed args so that PetscSections are modified, not created (also of DMPlexEnlargePartition) - Now partition routine
Partitioner+Plex: Added PetscPartitioner class - Plex holds a PetscPartitioner - Changed args so that PetscSections are modified, not created (also of DMPlexEnlargePartition) - Now partition routine takes a number of partitions instead of assuming commSize - Added a shell partitioner intended to be used for regression testing
show more ...
|
| #
a85475f2
|
| 07-Oct-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex+Label: Added output flag for labels - Meant storing labels in a struct inside Plex - Added DMPlexGetLabelByNum() - Added DMPlexGet/SetLabelOutput() - Got rid of most of the mucking with the inte
Plex+Label: Added output flag for labels - Meant storing labels in a struct inside Plex - Added DMPlexGetLabelByNum() - Added DMPlexGet/SetLabelOutput() - Got rid of most of the mucking with the internal label storage
show more ...
|
| #
4be5e735
|
| 03-Oct-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-plex-generator-args'
* knepley/feature-plex-generator-args: Plex: Small fix Plex: Fixed misspelling Plex: Move generation to a separate source file, Can now speci
Merge branch 'knepley/feature-plex-generator-args'
* knepley/feature-plex-generator-args: Plex: Small fix Plex: Fixed misspelling Plex: Move generation to a separate source file, Can now specify operator for mesh generators - Added DMPlexTriangleSetOptions() and DMPlexTetgenSetOptions()
Conflicts: src/dm/impls/plex/makefile
show more ...
|
| #
b0a623aa
|
| 01-Oct-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Added methods to support distributed overlap calculation - Added DMPlexCreateTwoSidedProcessSF() - Added DMPlexDistributeOwnership() - Added DMPlexCreateOverlap()
|
| #
799f573f
|
| 01-Oct-2014 |
Matthew G. Knepley <knepley@gmail.com> |
PetscSF: The declaration of PetscSFNode should be in the types header
|
| #
8040c1f3
|
| 01-Oct-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: move DMPlexProjectionFunction() back to libdm
When I first implemented hanging constraints, I moved DMPlexProjectFunction() to libksp because I used a global solve to determine the values of d
Plex: move DMPlexProjectionFunction() back to libdm
When I first implemented hanging constraints, I moved DMPlexProjectFunction() to libksp because I used a global solve to determine the values of dofs on an anchor point that is not in the closure of any cell. This was a hack, as those values do not require a global solve, but can be determined with functionals evaluated on the anchor point: -dm_plex_max_projection_height > 0 allows functionals to be evaluated on these anchor points, so the global solve is no longer necessary.
To see the effect, you can modify the scripts to run ex3 in src/dm/impls/plex/examples/tests: set -dm_plex_max_projection_height 0 in the runex3_nonconforming_{simplex,tensor}_{2,3} examples, and projecting a function fails.
I did not move DMPlexProjectField() back into libdm because it evaluates field jets, not just field values, and doing this on non-cells isn't straightforward.
show more ...
|
| #
ee2838f6
|
| 30-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Merge branch 'tisaac/feature-fe-geom-dim' into tisaac/plex-flexible-projection
Use the new PetscFECellGeom
Conflicts: include/petscdmplex.h include/petscfe.h src/dm/impls/plex/plexfem.c
|
| #
40b72c35
|
| 29-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Merge branch 'tisaac/thplex'
This merge brings in related work in the following areas: - Added a local constraint matrix to DM (see DMSetDefaultConstraints()) - Added point-to-anchor-point constrain
Merge branch 'tisaac/thplex'
This merge brings in related work in the following areas: - Added a local constraint matrix to DM (see DMSetDefaultConstraints()) - Added point-to-anchor-point constraints in DMPlex (see DMPlexSetAnchors()), which build on the DM constraints - Added hierarchically-constrained points to DMPlex (see DMPlexSetReferenceTree(), DMPlexSetTree()), which builds on the anchor constraints - Tests for these constraints in src/dm/impls/plex/examples/ex3.c (try runex3_* examples in that directory) - Added quadrature order (see PetscQuadratureGet/SetOrder()) (work by Matt Knepley) - Added default return values for DMGetCoordinateDim() (defaults to DMGetDimension())
Conflicts: include/petscdmplex.h src/dm/dt/interface/dt.c src/dm/impls/plex/examples/tests/ex3.c src/dm/impls/plex/makefile src/dm/impls/plex/plexfem.c
show more ...
|
| #
776fd405
|
| 29-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Fixed misspelling
|
| #
413a66b3
|
| 28-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-fe-fv-hybrid'
* knepley/feature-fe-fv-hybrid: (43 commits) PetscFE: Small fixes Plex+SNES: Volumes are PetscReal Plex+SNES: Missing declaration TS ex11: Remove
Merge branch 'knepley/feature-fe-fv-hybrid'
* knepley/feature-fe-fv-hybrid: (43 commits) PetscFE: Small fixes Plex+SNES: Volumes are PetscReal Plex+SNES: Missing declaration TS ex11: Remove unused var Plex+SNES+TS: Complete reorganization of residual evaluation - Now both FE and FV examples use the same method, but there are a bunch of switches which should be eliminated - There is a confusion about IFunction and RHS, but I think they can both be in one function - Added DMPlexSNESGetGeometryFVM() and DMPlexSNESGetGradientFVM() - Added DMPlexGet/RestoreCellFields() and DMPlexGet/RestoreFaceFields() and DMPlexGet/RestoreFaceGeometry() - I think that FV geometry caching needs to be redone - Added DMPlexReconstructGradients_Internal() - Added DMPlexComputeBdResidual_Internal() which does not work for FV - Replaced DMPlexComputeResidualFEM_Internal() with DMPlexComputeResidual_Internal() Plex: Added DMPlexInsertBoundaryValues() - Unified FE and FV boundary values Plex: DMPlexProjectFunctionLableLocal() gets discretizations from the DM now Plex: Added DMPlexComputeGradientFVM() PetscDS: Fix up some functions to work for both FV and FE PetscFV: Change PetscFVIntegrateRHSFunction() to get info from PetscDS TS ex11: There is only one field in our current paradigm - We would need to split Riemann solvers for multiple fields right now Plex+TS: Remove use of computeGradients in favor of check for dmGrad TS ex11: Updated interface calls Plex+TS: Change DMPlexTSGetGradientDM() to automatically construct the gradient info, DMPlexTSSetRHSFunctionLocal() can now be replaced by the DMTS version - Remove unnecessary declarations Plex+SNES: Add missing declaration Plex+FE: Removed all use of PetscCellGeometry, Changed FE integration to use PetscFECellGeom DMSNES+Plex: Added DMPlexSNESGetGeometryFEM() to cache geometry PetscDualSpace: Remove use of PetscCellGeometry in PetscDualSpaceApply() - Fixed up calls to it for projection into spaces DMDA: Remove use of PetscCellGeometry in DMDAProjectFunctionLocal() Plex: Added DMPlexComputeGeometryFEM() and PetscFECellGeom structure ...
show more ...
|
| #
d9deefdf
|
| 28-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Move generation to a separate source file, Can now specify operator for mesh generators - Added DMPlexTriangleSetOptions() and DMPlexTetgenSetOptions()
|
| #
d7ddef95
|
| 17-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Added DMPlexInsertBoundaryValues() - Unified FE and FV boundary values
|
| #
856ac710
|
| 17-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Added DMPlexComputeGradientFVM()
|
| #
b29cfa1c
|
| 17-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: added DMPlexGet/SetMaxProjectionHeight()
The idea is to accomodate meshes (such as non-conforming meshes), where a global basis function restricted to a cell may not correspond to a single bas
Plex: added DMPlexGet/SetMaxProjectionHeight()
The idea is to accomodate meshes (such as non-conforming meshes), where a global basis function restricted to a cell may not correspond to a single basis function on the cell, but to a linear combination. The most general case would be to do an L2 projection, but we would have to find a way to invert control to use a KSPSolve(). This approach at least expands the available set of local projection operations.
show more ...
|
| #
f7c74593
|
| 16-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: complete rename of constraints to anchors, make matrix construction automatic.
Now all the user has to do is set the reference tree, set the tree, and the constraint matrix is automatically co
Plex: complete rename of constraints to anchors, make matrix construction automatic.
Now all the user has to do is set the reference tree, set the tree, and the constraint matrix is automatically constructed in the call to DMGetDefaultConstraints()
show more ...
|
| #
a17985de
|
| 16-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: rename Constraints as Anchors for clarity.
Now that there are DMGet/SetConstraints() functions, some clarity is needed:
DMGet/SetConstraints() are any type of linear constraints that are cons
Plex: rename Constraints as Anchors for clarity.
Now that there are DMGet/SetConstraints() functions, some clarity is needed:
DMGet/SetConstraints() are any type of linear constraints that are considered part of the global-to-local map.
DMPlexGet/SetAnchors() are linear constraints that make a point's dofs linear dependent on the dofs of a set of anchor points.
DMPlexGet/SetTree() are anchor constraints that derive from a hierarchically refined mesh.
show more ...
|
| #
02b02e71
|
| 18-Aug-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Move DMPlexProject*() functions to src/ksp to remove ksp dependency in dm
|
| #
6f5f1567
|
| 18-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added DMPlexTreeRefineCell()
|
| #
dcbd3bf7
|
| 18-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added DMPlexReferenceTreeGetChildSymmetry()
DMPlex: add DMPlexReferenceTreeGetChildSymmetry()
DMPlex: fix DMPlexReferenceTreeGetChildSymmetry_Default()
DMPlex: change DMPlexGetTreeParent()
DMPlex: added DMPlexReferenceTreeGetChildSymmetry()
DMPlex: add DMPlexReferenceTreeGetChildSymmetry()
DMPlex: fix DMPlexReferenceTreeGetChildSymmetry_Default()
DMPlex: change DMPlexGetTreeParent() to remove magic constant
DMPlex: added DMPlexTreeGetChildren()
DMPlex: replace DMPlexGetTreeParent() loops with DMPlexGetTreeChildren()
Reorder
show more ...
|
| #
b2f41788
|
| 16-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added DMPlexGetTree()
|
| #
0b7167a0
|
| 18-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added DMPlexSetTree()
|
| #
d961a43a
|
| 07-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added basic tree routines
DMPlex: change DMPlexGetTreeParent() to remove magic constant
DMPlex: added DMPlexTreeGetChildren()
|
| #
da43764a
|
| 07-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added DMPlexCreateDefaultReferenceTree()
|
| #
d6a7ad0d
|
| 07-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added DMPlexGet/SetReferenceTree()
|
| #
8b0b4c70
|
| 18-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: Take (right) constraints into account in preallocation
DMPlex: fix recent constraint additions
|