[BREAKING] BlockSolvers rework to better treat nonlinearities. Now nonlinearities in a block can be given by the whole solution, or a subset of the variables. See #63
Bugfix in RichardsonLinearSolver: The matrix was not being updated correctly
Bugfix in GMGLinearSolver: The matrices were not being updated correctly
NLsolve.jl wrappers allowing for nonlinear preconditioning (in serial) #66
2 - Patch-Based: PatchTriangulation rework.
When first designing this, I assumed there would not be a need for face triangulations that a) contain repeated background faces (i.e with overlapping) and b) require those repeated faces to be tied to different cells in the background mesh. I was wrong...
We require such overlapping triangulations in the case where we want to access in each patch the path-boundary faces. Those faces are interior (i.e have multiple neighboring cells), but neighboring cells are not in the same patch. This means that for each patch we want to access the neighboring cell that belongs to such patch.
All in all, I've had to rework this part of the code to accomodate this. I believe it's now much cleaner and more extensible, although I did have to work around Gridap's restrictions.
3 - ModelHierarchies: Native drivers
[BREAKING] Added native refinement for cartesian meshes. This now supports anisotropic uniform refinement, with periodicity.
The old p4est constructors have been kept under the name P4estCartesianModelHierarchy #65
4 - LocalProjectionMap rework
[BREAKING] Geometric maps are now incorporated into the projection maps, which is important for stretched meshes.
GridapSolvers v0.4
1 - Nonlinear problems:
2 - Patch-Based: PatchTriangulation rework.
When first designing this, I assumed there would not be a need for face triangulations that a) contain repeated background faces (i.e with overlapping) and b) require those repeated faces to be tied to different cells in the background mesh. I was wrong...
We require such overlapping triangulations in the case where we want to access in each patch the path-boundary faces. Those faces are interior (i.e have multiple neighboring cells), but neighboring cells are not in the same patch. This means that for each patch we want to access the neighboring cell that belongs to such patch.
All in all, I've had to rework this part of the code to accomodate this. I believe it's now much cleaner and more extensible, although I did have to work around Gridap's restrictions.
3 - ModelHierarchies: Native drivers
[BREAKING] Added native refinement for cartesian meshes. This now supports anisotropic uniform refinement, with periodicity. The old p4est constructors have been kept under the name
P4estCartesianModelHierarchy
#654 - LocalProjectionMap rework
[BREAKING] Geometric maps are now incorporated into the projection maps, which is important for stretched meshes.
5 - Misc: