Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
464b5bf
Refactor of FESpaceWithLinearConstraints
JordiManyer Nov 22, 2025
137e76b
Minor changes
JordiManyer Nov 24, 2025
5dcd788
Merge branch 'master' of github.com:gridap/Gridap.jl into constraints
JordiManyer Mar 4, 2026
286a79b
Added alternative constructor for LinearConstraintMap
JordiManyer Mar 4, 2026
1e48014
Added ConstraintHandler
JordiManyer Mar 29, 2026
db7e081
* Moved the current inner constructor of UnstructuredGrid as an outer…
amartinhuertas Mar 30, 2026
8b40b58
Merge pull request #1264 from gridap/release-0.19.10
amartinhuertas Mar 31, 2026
af4b81e
Bump version from 0.19.9 to 0.19.10
amartinhuertas Mar 31, 2026
3607547
Update NEWS.md with 0.9.10 info
amartinhuertas Apr 2, 2026
6d33acc
Minor
JordiManyer Apr 8, 2026
d955c03
Added first draft of AffineConstraints
JordiManyer Apr 8, 2026
8682054
Added tests for affine constraints
JordiManyer Apr 8, 2026
dfede06
Fixing a BUG in the UnstructuredGrid outer constructor
amartinhuertas Apr 9, 2026
c126844
Updating PR # in NEWS.md
amartinhuertas Apr 9, 2026
c752001
Merge pull request #1273 from gridap/release-0.19.11
amartinhuertas Apr 9, 2026
1e7a883
ConstraintHandler now used pos/neg indexing
JordiManyer Apr 9, 2026
7c293ec
Merge branch 'release-0.19' of github.com:gridap/Gridap.jl into const…
JordiManyer Apr 13, 2026
f2c9f65
Minor
JordiManyer Apr 14, 2026
e0e6aa6
Minor changes
JordiManyer Apr 14, 2026
7f77050
Added constraint merging and closing directly for constraint tables
JordiManyer Apr 28, 2026
45f31c5
Merge branch 'master' of github.com:gridap/Gridap.jl into constraints
JordiManyer May 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.19.11] - 2026-04-09

### Fixed
- Fixed a bug in the outer constructor of UnstructuredGrid for the particular case in which the value of the kw-arg has_affine_map is nothing. Since PR[#1273](https://github.com/gridap/Gridap.jl/pull/1273)

## [0.19.10] - 2026-04-02

### Added
- Changed inner constructor signature of UnstructuredDiscreteModel with flexibility in mind (as per required by GridapGeosciences.jl). Added a new outer constructor as the old inner contructor with backward compatibility in mind. Since PR[#1264](https://github.com/gridap/Gridap.jl/pull/1264)

## [0.20.6] - 2026-05-05

Expand Down
31 changes: 31 additions & 0 deletions docs/src/dev-notes/constraints.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

# FESpaceWithLinearConstraints

This is a space built from an initial FESpace plus a set of linear constraints.
The initial FESpace may also be a `FESpaceWithLinearConstraints`.

## Assumptions

- A constrained dof depends only on master dofs, i.e., only one level of constraints. This can be easily relaxed in the future.
- Free dofs can be constrained both by free and Dirichlet dofs. Dirichlet dofs can be constrained by Dirichlet dofs only.
- All constrained dofs belong to the original space. Master dofs will generally also belong to the original space, but they may be external. This allows us to have, e.g.
- External master Dirichlet dofs, to implement affine constraints.
- In distributed context, masters may belong to other processors and therefore NOT be local (and thus not belong to the original local space).

## Notation

We will setup some notation to differentiate between the different dof numberings that appear throughout the implementation:

We have two ways of numbering dofs:

- We will refer to `dof` in non-capital letters to refer to signed dof indices.
The sign will indicate if the dof is free (positive) or Dirichlet (negative).
- We will refer to `DOF` in capital letters to refer to unsigned dof indices. In this case, Dirichlet dofs are also represented with a positive id "pas the end" of free dof ids. I.e., we have `DOF = dof` if `dof > 0` and `DOF = -dof + n_fdofs` if `dof < 0`, where `n_fdofs` is the number of free dofs in the original space.

We will differentiate between three different sets of dofs:

- First, DoFs in the original space will be denoted by `dof`/`DOF`. They can either be free (`fdof`) or Dirichlet (`ddof`).
- Master DoFs are the non-constrained degrees of freedom. They will be denoted by `mdof`/`mDOF`. They can either be free (`fmdof`) or Dirichlet (`dmdof`).
- Slave DoFs are the constrained degrees of freedom. They will be denoted by `sdof`/`sDOF`.

Moreover, we will sometimes need to refer to local dofs in a cell, for which we will use `ldof` for the original space and `lmdof` for the constrained space.
Loading