| #
31383a9b
|
| 30-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: fixes to recent merge
|
| #
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
|
| #
7a1a1bd4
|
| 30-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
PetscFE: added dim, dimEmbed to PetscFECellGeom
This is to allow PetscDualSpaceApply() to be used in situations where a cell is embedded in a higher spatial dimension.
|
| #
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 ...
|
| #
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 ...
|
| #
d374af2b
|
| 18-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: skip empty loops for empty dual spaces
|
| #
048b7b1e
|
| 17-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: protect against field projection with height > 0.
The function DMPlexProjectFieldLocal() relies on PetscDS more than PetscDualSpace, so using PetscDualSpaceGetHeightSubspace() won't work.
DMP
Plex: protect against field projection with height > 0.
The function DMPlexProjectFieldLocal() relies on PetscDS more than PetscDualSpace, so using PetscDualSpaceGetHeightSubspace() won't work.
DMPlexProjectField() isn't used anywhere, and it isn't clear to me why it looks its implementation is so different from DMPlexProjectFunction(). It has added complexity because it uses field jets instead of field values to evaluation the functions, but it tries to project the resulting functions back into the original discretization space. If I'm using P_1 Lagrange finite elements, and I want to calculate a function involving its spatial derivatives, would I want to project that function into a P_0 discontinuous approximation space?
Anyway, no support for now.
Plex: fixes to recently added (squash this)
show more ...
|
| #
7d1dd11e
|
| 17-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Plex: start implementing projection with height > 0.
|
| #
d7ddef95
|
| 17-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Added DMPlexInsertBoundaryValues() - Unified FE and FV boundary values
|
| #
bf3434ee
|
| 17-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: DMPlexProjectFunctionLableLocal() gets discretizations from the DM now
|
| #
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 ...
|
| #
02b02e71
|
| 18-Aug-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Move DMPlexProject*() functions to src/ksp to remove ksp dependency in dm
|
| #
564e3108
|
| 18-Aug-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
Added DMGlobalToLocalSolve()
|
| #
0f7c717f
|
| 17-Jul-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: added DMPlexProjectConstraints_Internal()
|
| #
56ad4130
|
| 02-Sep-2014 |
Toby Isaac <tisaac@ices.utexas.edu> |
DMPlex: early exits from empty partitions in plexfem.c
This avoids trying to get the closure of cell 0 in an empty process, which was causing errors.
Conflict was DMPlexGetDimension()/DMGetDimensio
DMPlex: early exits from empty partitions in plexfem.c
This avoids trying to get the closure of cell 0 in an empty process, which was causing errors.
Conflict was DMPlexGetDimension()/DMGetDimension()
Conflicts: src/dm/impls/plex/plexfem.c
Conflicts: src/dm/impls/plex/plexfem.c
show more ...
|
| #
bbce034c
|
| 10-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex+FE: Removed all use of PetscCellGeometry, Changed FE integration to use PetscFECellGeom
|
| #
e1d0b1ad
|
| 10-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
PetscDualSpace: Remove use of PetscCellGeometry in PetscDualSpaceApply() - Fixed up calls to it for projection into spaces
|
| #
24cdb843
|
| 10-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex+SNES+TS: Moved residual computation to solver utilities
|
| #
679914f9
|
| 10-Sep-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex: Moved BC stuff to plexbc.c
|
| #
15496722
|
| 27-Aug-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex+FE+FV: Fixed projection and L2 diff for FV - Make a fake, simple PetscDualSpace for FV when projecting - Added PetscFE/FVInterpolate_Static() for synthesis of field from coefficients
|
| #
dafab42b
|
| 22-Aug-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-dm-dimension-handling'
* knepley/feature-dm-dimension-handling: DM: Fixed DMDASetDim() in examples Plex: Fix for isoparametric geometry Plex: Complex fix TS ex1
Merge branch 'knepley/feature-dm-dimension-handling'
* knepley/feature-dm-dimension-handling: DM: Fixed DMDASetDim() in examples Plex: Fix for isoparametric geometry Plex: Complex fix TS ex11: Fixed calls to DMSetCoordinateSection() DM: FIxed DMClone() to copy dimension Plex+DA: Now cell geometry routine can take a PetscFE in order to evaluate at quadrature points - We evaluate isoparametrically at the quadrature points - Changed DMDAComputeCellGeometry() --> DMDAComputeCellGeometryFEM() - Changed DMPlexComputeCellGeometry() --> DMPlexComputeCellGeometryFEM() - Added DMPlexComputeCellGeometryAffineFEM() DM: Added a embedding dimension, different from the topological dimension - This can now be set in DMSetCoordinateSection(), or it can be automatically determined Plex: Fix output for ex4 DM: Added DMGetDimPoints() - This replicates DMPlex/DAGetDepthStratum(), but uses the dimension which people have said is more intuitive DM: Move dimension up into DM - Both DA and Plex had this and I think it makes sense
Conflicts: src/dm/impls/plex/plexcreate.c
show more ...
|
| #
8e0841e0
|
| 31-Jul-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Plex+DA: Now cell geometry routine can take a PetscFE in order to evaluate at quadrature points - We evaluate isoparametrically at the quadrature points - Changed DMDAComputeCellGeometry() --> DMDACo
Plex+DA: Now cell geometry routine can take a PetscFE in order to evaluate at quadrature points - We evaluate isoparametrically at the quadrature points - Changed DMDAComputeCellGeometry() --> DMDAComputeCellGeometryFEM() - Changed DMPlexComputeCellGeometry() --> DMPlexComputeCellGeometryFEM() - Added DMPlexComputeCellGeometryAffineFEM()
show more ...
|
| #
c73cfb54
|
| 31-Jul-2014 |
Matthew G. Knepley <knepley@gmail.com> |
DM: Move dimension up into DM - Both DA and Plex had this and I think it makes sense
|
| #
315c6686
|
| 13-Jun-2014 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-quad-fas'
* knepley/feature-quad-fas: DMPlex: Proper preallocation for interpolators DMPlex: Added events for interpolator and injector construction - Fixed event n
Merge branch 'knepley/feature-quad-fas'
* knepley/feature-quad-fas: DMPlex: Proper preallocation for interpolators DMPlex: Added events for interpolator and injector construction - Fixed event names DM: Added sequence value for each number - Added DMOutputSequenceLoad() - Changed DMGet/SetOutputSequenceNumber() signature Sys: Made a simple two-int hash - Someone should remove that other IJ crap PetscDS: Renamed from PetscProblem DMPlex: Fixed allocation DMPlex: Support for injection from more complicated discretizations - Added DMPlexMatGetClosureIndicesRefined() - Added DMPlexComputeInjectorFEM() - Fixed check PetscFE: Use in-cell test specific to cell shape DMPlex: Added CellRefinerInCellTest_Internal()
show more ...
|
| #
7f5b169a
|
| 11-Jun-2014 |
Matthew G. Knepley <knepley@gmail.com> |
DMPlex: Proper preallocation for interpolators
|