Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
425 commits
Select commit Hold shift + click to select a range
ab4a51a
fixing mistake in the prod rule of hessian of two fields
kishore-nori Nov 17, 2024
a514b01
adding more rigorous tests for product rule of hessian of two fields
kishore-nori Nov 17, 2024
21afe3a
Update Operations.jl so that real and imag return real numbers
Antoinemarteau Apr 29, 2025
250210a
Bump version
Antoinemarteau Apr 11, 2025
02a00ca
Added constructors for DiracDelta with Triangulation argument.
shagun751 Mar 6, 2025
e57660d
Updated changes in NEWS.md
shagun751 Mar 7, 2025
7a70c98
adding tests for hessian rules applied to sum and product of two Cell…
kishore-nori Mar 10, 2025
e0db789
moving tests to FESpacesTests to avoid FEFunction import to CellField…
kishore-nori Mar 10, 2025
7aca7b6
adding entries into NEWS.md
kishore-nori Mar 10, 2025
413aa40
Added update_sysslr!
shreyas02 Mar 21, 2025
54282b1
Corrections with update_sysslvr!
shreyas02 Mar 21, 2025
4fdd0c1
Update news.md
shreyas02 Mar 21, 2025
9557d31
Corrections
shreyas02 Mar 21, 2025
40b369c
back to original
shreyas02 Mar 27, 2025
d422f6d
back to original
shreyas02 Mar 27, 2025
b9b5c30
LinearStageOperator struct changed
shreyas02 Mar 27, 2025
05eda7f
Corrections
shreyas02 Mar 27, 2025
9d4e27f
updating news.md
shreyas02 Mar 27, 2025
7cf907b
Correcting the LinearStageOperator call in RungeKuttaIMEX.jl
shreyas02 Mar 27, 2025
5934914
update NEWS.md
Antoinemarteau Mar 31, 2025
acd1a0e
fix test
Antoinemarteau Apr 11, 2025
318b201
fix getindex(::MultiValue, ...)
Antoinemarteau Mar 31, 2025
e46b67d
wip PLambdaBases
Antoinemarteau Apr 29, 2025
5462138
wip PLambdaBases
Antoinemarteau Apr 29, 2025
6bc28fb
fix type stability of PLambdaBases _nd! evals with static parameter
Antoinemarteau Apr 7, 2025
140efcd
non-allocating and fast PLambdaBases evaluations
Antoinemarteau Apr 11, 2025
64c9d47
Finished vector calculus proxy of PLambdaBases
Antoinemarteau Apr 7, 2025
a0c78e2
fixing PLambdaBasis coordinates
Antoinemarteau Apr 8, 2025
b6ae392
prototype PmLambdaBasis
Antoinemarteau Apr 11, 2025
07abf18
[broken] wip refactor indexing in PLambdaBases
Antoinemarteau Apr 11, 2025
03c6169
wip PLambdaBasis
Antoinemarteau Apr 14, 2025
d4851b0
wip cleaning PLambdaBases
Antoinemarteau Apr 15, 2025
83993fa
cleaning and more test for PLambdaBases
Antoinemarteau Apr 29, 2025
59734fa
finalise PLambdaBases documentation and bugfix
Antoinemarteau Apr 17, 2025
61310b3
WIP wrapper for all Exterior Calculus polynomial bases
Antoinemarteau Apr 29, 2025
cf8633f
wip docu and cleaning BernsteinBasisOnSimplex
Antoinemarteau Apr 29, 2025
3e3947d
finish BernsteinBasisOnSimplex and other polynomials doc
Antoinemarteau May 1, 2025
16c1f75
Fix test, bernstein_term_id and update NEWS.md
Antoinemarteau May 2, 2025
f9fccc9
fix test for _derivatives_1d!(Monomial,::Val{K},::NTuple{3}...)
Antoinemarteau May 2, 2025
3280946
Merge pull request #1104 from Antoinemarteau/moment-based-reffes
JordiManyer May 17, 2025
ee48f9f
Generalised tensor quadratures and added rational quadratures
JordiManyer May 19, 2025
3b74d2f
make FEECPolyBases a trampoline function instead of a type
Antoinemarteau May 27, 2025
802705b
Fix LinearCombinationDofVector evaluated on Vector{<:Field}
Antoinemarteau May 29, 2025
3fddebb
add test for commit
Antoinemarteau May 29, 2025
989b5ad
update NEWS.md
Antoinemarteau May 29, 2025
515b2c6
fixed NEWS.md
Antoinemarteau May 29, 2025
6b66441
Expanded Crouzeix-Raviart reffe names like Raviart-Thomas
Antoinemarteau May 30, 2025
b791551
Merge pull request #1105 from Antoinemarteau/moment-based-reffes
JordiManyer Jun 2, 2025
30f3d7d
Minor doc improvements
Antoinemarteau Jun 5, 2025
c794cf5
ReferenceFEs docstrings enhencement & cleaning
Antoinemarteau Jun 2, 2025
e96cb5e
Merge branch 'define-exported-docstrings' into moment-based-reffes
Antoinemarteau Jun 6, 2025
4b2ef93
adding/fixing some ReferenceFEs and Polynomials doctrings
Antoinemarteau Jun 6, 2025
90a8348
added reffes table in doc
Antoinemarteau Jun 6, 2025
d17060e
factorised default reffe scalar type, and Serendipity method
Antoinemarteau Jun 9, 2025
e2fe974
ReferenceFEs documentation improvements
Antoinemarteau Jun 9, 2025
a885725
document reffes maximum polynomial order
Antoinemarteau Jun 9, 2025
b0c51d2
Documented missing ReferenceFEs docstrings
Antoinemarteau Jun 9, 2025
b8db3e3
Merge branch 'moment-based-reffes' of github.com:gridap/Gridap.jl int…
Antoinemarteau Jun 9, 2025
7653b8b
add again CrouzeixRaviartFEsTests
Antoinemarteau Jun 10, 2025
d3355ba
remove @lazy_str (don't work on ju 1.8 and 1.9)
Antoinemarteau Jun 10, 2025
02b1afe
fix BDM check
Antoinemarteau Jun 10, 2025
f2ab574
export serendipity and fix test coverage
Antoinemarteau Jun 10, 2025
047a351
fix H1Conformity alias doc
Antoinemarteau Jun 10, 2025
aad9ec9
remove test using public declaration
Antoinemarteau Jun 10, 2025
bde8c99
Merge pull request #1109 from Antoinemarteau/moment-based-reffes
JordiManyer Jun 10, 2025
c8a5925
Merge branch 'moment-based-reffes' into hhj-reffes
Antoinemarteau Jun 10, 2025
1b9aec7
wip fix moments for Tensor type with dependent components
Antoinemarteau Jun 11, 2025
58ec9d6
Merge branch 'master' into moment-based-reffes
Antoinemarteau Jun 11, 2025
20e539d
Merge branch 'master' of github.com:gridap/Gridap.jl into moment-base…
Antoinemarteau Jun 11, 2025
9127985
Merge branch 'moment-based-reffes' of github.com:gridap/Gridap.jl int…
Antoinemarteau Jun 11, 2025
7ce374e
fix depwarn
Antoinemarteau Jun 12, 2025
416a35b
remove prints from tests
Antoinemarteau Jun 12, 2025
326660f
Merge branch 'moment-based-reffes' into hhj-reffes
Antoinemarteau Jun 12, 2025
c324d24
fix other depwarns
Antoinemarteau Jun 12, 2025
05bda91
fix moments for φ value with dependent components
Antoinemarteau Jun 12, 2025
762d5eb
fix forgotten merge issue
Antoinemarteau Jun 12, 2025
2f2c0e9
Merge branch 'moment-based-reffes' into hhj-reffes
Antoinemarteau Jun 12, 2025
04e7e4c
rm old file
Antoinemarteau Jun 12, 2025
3f03460
git rm deleted file
Antoinemarteau Jun 12, 2025
3bd8b7f
improved the RefFE summary table
Antoinemarteau Jun 12, 2025
a24261e
fix some docu links
Antoinemarteau Jun 13, 2025
9c038b3
Factorization of TensorValues's code where possible
Antoinemarteau Jun 16, 2025
bbcf7d1
Refactoring of MultiValue's operations
Antoinemarteau Jun 17, 2025
54323a4
added SkewSymTensorValueTypes
Antoinemarteau Jun 17, 2025
b8b26bb
cleaning HHJ WIP for merge in moment-based-reffes
Antoinemarteau Jun 18, 2025
6dc8f91
wip uniform pushforward api
Antoinemarteau Jun 10, 2025
b02b0ca
Merge branch 'moment-based-reffes' into remove-PushForwardRefFE
Antoinemarteau Jun 18, 2025
f41e119
minor
Antoinemarteau Jun 18, 2025
00a9bec
Merge pull request #1112 from Antoinemarteau/moment-based-reffes
JordiManyer Jun 19, 2025
186c70d
fix Pushforward for MacroRefFE
Antoinemarteau Jun 19, 2025
d05567b
Merge branch 'hhj-reffes' into moment-based-reffes
Antoinemarteau Jun 19, 2025
de409fb
update NEWS.md
Antoinemarteau Jun 19, 2025
6b0554c
fix last broken link in docu
Antoinemarteau Jun 19, 2025
2be6d99
TensorValues improvements
Antoinemarteau Jun 20, 2025
d27de28
wip Arnold simplex spaces documentation
Antoinemarteau Jun 19, 2025
3ac78e7
wip
Antoinemarteau Mar 6, 2025
fd3b330
Make Bernstein basis vertices order consistent with polytopes
Antoinemarteau Jun 19, 2025
cc8ae6b
wip docu Bernstein
Antoinemarteau Jun 19, 2025
14bb423
wip doc Bernstein
Antoinemarteau Jun 19, 2025
268d5a9
wip Bernstein doc
Antoinemarteau Mar 12, 2025
68ac108
wip Bernstein doc
Antoinemarteau Mar 13, 2025
c61849a
wip Bernstein doc
Antoinemarteau Mar 14, 2025
43e78b2
wip Plambda bases
Antoinemarteau Mar 19, 2025
43291fc
wip BernsteinDev
Antoinemarteau Mar 21, 2025
8f7170e
wip PLambda
Antoinemarteau Apr 11, 2025
45ed47b
removed K from PolynomialBasis parameters
Antoinemarteau Apr 11, 2025
1421912
wip PLambdaBasis
Antoinemarteau Apr 11, 2025
5e98c80
Update Operations.jl so that real and imag return real numbers
Antoinemarteau Jun 20, 2025
9c6c4b5
Bump version
Antoinemarteau Jun 19, 2025
f8556f9
wip PLambdaBases
Antoinemarteau Jun 19, 2025
dbaf551
wip PLambdaBases
Antoinemarteau Jun 20, 2025
23c99d1
fix type stability of PLambdaBases _nd! evals with static parameter
Antoinemarteau Apr 7, 2025
55860c4
non-allocating and fast PLambdaBases evaluations
Antoinemarteau Apr 11, 2025
faefdc1
Finished vector calculus proxy of PLambdaBases
Antoinemarteau Apr 7, 2025
ad4d6bc
fixing PLambdaBasis coordinates
Antoinemarteau Apr 8, 2025
8aa9373
prototype PmLambdaBasis
Antoinemarteau Jun 19, 2025
40202ef
[broken] wip refactor indexing in PLambdaBases
Antoinemarteau Apr 11, 2025
8e3472a
wip PLambdaBasis
Antoinemarteau Apr 14, 2025
ad0eae5
wip cleaning PLambdaBases
Antoinemarteau Jun 19, 2025
3b4660f
cleaning and more test for PLambdaBases
Antoinemarteau Jun 19, 2025
e366862
finalise PLambdaBases documentation and bugfix
Antoinemarteau Jun 19, 2025
f12f2a5
wip using PLambdaBases in RefFEs
Antoinemarteau Jun 19, 2025
6301e9a
add choice of vector proxy for 2D VectorValue'd PLambdaBases forms
Antoinemarteau May 19, 2025
b6745ce
fix bubble printed and new PLambdaBases constructors
Antoinemarteau May 22, 2025
4c3e853
fix NEWS.md and remove WIP file
Antoinemarteau Jun 19, 2025
180d7ae
minor
Antoinemarteau Jun 19, 2025
6588d68
wip fixing doc / links
Antoinemarteau Jun 20, 2025
1acb4d3
more TensorValues tests coverage and bugfixes
Antoinemarteau Jun 20, 2025
fa2f6b0
revert unwanted changes
Antoinemarteau Jun 24, 2025
e27c434
minor
Antoinemarteau Jun 24, 2025
c5bb152
minor
Antoinemarteau Jun 25, 2025
d4060c0
Restrict compat to last julia LTS
Antoinemarteau Jun 30, 2025
97d8296
remove 1.9 CI
Antoinemarteau Jul 1, 2025
9cbe372
add IdentityPiolaMap and fix L2 conf pushforwards
Antoinemarteau Jul 3, 2025
b7af980
Merge pull request #1115 from Antoinemarteau/moment-based-reffes
JordiManyer Jul 3, 2025
45b1761
Merge pull request #1114 from Antoinemarteau/remove-PushForwardRefFE
JordiManyer Jul 15, 2025
eed006b
Merge branch 'master' of github.com:gridap/Gridap.jl into moment-base…
JordiManyer Jul 19, 2025
88e9a0b
Minor
JordiManyer Jul 19, 2025
81056f3
Minor bugfix
JordiManyer Jul 19, 2025
cd10824
Small bugfix
JordiManyer Jul 19, 2025
4e512e9
Started reworking Arrays documentation. Added ecosystem page
JordiManyer Jul 19, 2025
0895353
Merge branch 'moment-based-reffes' into PLambdaBases
Antoinemarteau Jul 21, 2025
ee83dc9
Merge branch 'PLambdaBases' into FEECPolyBases
Antoinemarteau Jul 21, 2025
a87ec04
fix typesetting
Antoinemarteau Jul 21, 2025
ce91a74
BubbleRefFE improvements and broken links fix
Antoinemarteau Jul 21, 2025
b6eb33e
Merge pull request #1140 from Antoinemarteau/moment-based-reffes
JordiManyer Jul 22, 2025
9bfaf7a
generalized testvalue on polynomial bases
Antoinemarteau Jul 23, 2025
8ac0647
wip
Antoinemarteau Jul 23, 2025
9ef6241
More docs
JordiManyer Jul 23, 2025
ddadaf0
replacing P/Q(Curl)Grad with FEEC_poly_basis
Antoinemarteau Jul 24, 2025
640c37d
fix Bernstein notes merge
Antoinemarteau Jul 24, 2025
e536c36
set good Polynomial family default in FEEC_poly_basis
Antoinemarteau Jul 24, 2025
24b4c92
Moved helpers up to avoid word age issue in @generated functions
Antoinemarteau Jul 25, 2025
4fe77f9
minor
Antoinemarteau Jul 28, 2025
90c457e
add FEEC element constructors
Antoinemarteau Jul 28, 2025
f28dc37
revert temp file
Antoinemarteau Jul 28, 2025
8390823
Merge branch 'moment-based-reffes' of github.com:gridap/Gridap.jl int…
Antoinemarteau Jul 28, 2025
8c9df77
add missing file
Antoinemarteau Jul 28, 2025
06cbdc2
fix bdm typo
Antoinemarteau Jul 28, 2025
3d15af9
remove duplicated tests
Antoinemarteau Jul 28, 2025
e93abef
minor
Antoinemarteau Jul 28, 2025
4de014f
fix RefFEs order documentation
Antoinemarteau Jul 29, 2025
2ea1d8c
minor TensorValues operation coverage and bugfixes
Antoinemarteau Jul 29, 2025
ccaac11
PLambdaBases test coverage and minor fixes
Antoinemarteau Jul 29, 2025
16b2f89
Test coverage and minor fixes of FEEC RefFES constructors
Antoinemarteau Jul 30, 2025
8bd51d7
Better name for new features
Antoinemarteau Jul 30, 2025
d641c91
minor BarycentricPΛBasis improvements
Antoinemarteau Jul 30, 2025
eb4d934
renamed LinearCombinationDofVector.dofs as predofs for consistency
Antoinemarteau Jul 30, 2025
0c75cf4
fix FEEC_poly_basis kwargs passing
Antoinemarteau Jul 30, 2025
4092b83
better boundschecks for IdentityVector
Antoinemarteau Aug 1, 2025
fd9c3fb
Allow FESpace constructor to use FEEC RefFE descriptor
Antoinemarteau Aug 1, 2025
f44e208
moved conformities def
Antoinemarteau Aug 6, 2025
116ca96
rm duplicated tests
Antoinemarteau Aug 6, 2025
99576b0
Better equals definitions for ReferenceFEs
Antoinemarteau Aug 12, 2025
1f6dd27
misc documentation
Antoinemarteau Aug 12, 2025
308e5e8
Geometric decompositions
Antoinemarteau Aug 12, 2025
238615a
improve geometric decompition & Bernstein doc
Antoinemarteau Aug 12, 2025
2f9b849
minor
Antoinemarteau Aug 12, 2025
23c3272
better PΛIndices checks
Antoinemarteau Aug 12, 2025
6c464e6
fix docs
Antoinemarteau Aug 12, 2025
6d6cfce
fix docs
Antoinemarteau Aug 12, 2025
f2fe34b
generalize BernsteinBasisOnSimplex geometric decomposition
Antoinemarteau Aug 12, 2025
7eb9569
comment unused code
Antoinemarteau Aug 12, 2025
4a29d25
fix text coverage
Antoinemarteau Aug 12, 2025
0207c92
Merge branch 'PLambdaBases' of github.com:Antoinemarteau/Gridap.jl in…
Antoinemarteau Aug 12, 2025
d97bba6
rename get_face_own_moments and doc
Antoinemarteau Aug 14, 2025
9d83b49
Implement correct == and hash for LinearCombinationDofVector
Antoinemarteau Aug 15, 2025
c8b913d
update NEWS.md and minor doc fixes
Antoinemarteau Aug 15, 2025
be41e48
revert unwanted auto typesetting changes
Antoinemarteau Aug 15, 2025
89d948d
minor
Antoinemarteau Aug 15, 2025
7cdc53e
Merge pull request #1144 from Antoinemarteau/PLambdaBases
JordiManyer Aug 15, 2025
3945d6e
Merge branch 'moment-based-reffes' of github.com:gridap/Gridap.jl int…
JordiManyer Aug 17, 2025
992ebb7
Merge branch 'master' of github.com:gridap/Gridap.jl into moment-base…
JordiManyer Aug 17, 2025
928d724
Added images for polytopes
JordiManyer Aug 17, 2025
d2acb97
Minor
JordiManyer Aug 17, 2025
325987c
update Polynomials diagram
Antoinemarteau Aug 17, 2025
1dc5e44
optimize runtime dispatches in poly bases evaluations
Antoinemarteau Aug 18, 2025
0ecb077
Fix CompWiseTensorPolyBases and other Polynomials improvement
Antoinemarteau Aug 18, 2025
aa89e92
Merge branch 'QmLambdaBasis' into moment-based-reffes
Antoinemarteau Aug 18, 2025
0b941f0
Merge branch 'moment-based-reffes' of github.com:gridap/Gridap.jl int…
Antoinemarteau Aug 18, 2025
2c3ee49
minor bugfixes
Antoinemarteau Aug 19, 2025
bf158e1
authorize order 0 ModalC0 1D polynomials
Antoinemarteau Aug 19, 2025
915337c
minor revert
Antoinemarteau Aug 19, 2025
910b10a
finish CompWiseTensorPolyBases fix
Antoinemarteau Aug 19, 2025
effdb39
correct Pullback/Pushforward notation
Antoinemarteau Aug 20, 2025
8177a73
implement Nedelec elements of the second kind
wei3li Sep 1, 2025
3709dce
Merge branch 'moment-based-reffes' into moment-based-reffes
Antoinemarteau Sep 2, 2025
6281e2b
fix typo bug
Antoinemarteau Sep 3, 2025
e72b294
Merge branch 'moment-based-reffes' of github.com:Antoinemarteau/Grida…
Antoinemarteau Sep 3, 2025
3c886dc
geometric decomposition of CartProdPolyBasis for Bernstein and ModalC0
Antoinemarteau Aug 21, 2025
da7ed88
geometric decomposition of CompWiseTensorPolyBases for Bernstein and …
Antoinemarteau Aug 25, 2025
451ea6e
n-cubes geometric decompositions finalization
Antoinemarteau Sep 3, 2025
63c013c
fix construction of scalar ModalC0 Serendipity basis
Antoinemarteau Sep 1, 2025
28a85d8
enable building H1 conf. FESpace with GenericRefFE
Antoinemarteau Sep 2, 2025
fd02abd
typo
Antoinemarteau Sep 3, 2025
2815ff0
Update documentation index to include feature overview references
JordiManyer Sep 3, 2025
47539e4
Reorganize documentation structure and fix broken links
JordiManyer Sep 3, 2025
f5cb95b
Merge pull request #1152 from Antoinemarteau/moment-based-reffes
JordiManyer Sep 3, 2025
7354f09
fix poly kwarg in Nedelec and BDM
Antoinemarteau Sep 4, 2025
bab5c9d
Merge branch 'moment-based-reffes' into Q_geo_decomposition
Antoinemarteau Sep 4, 2025
e0bd807
export nedelec2
wei3li Sep 4, 2025
9c777a7
enable choice of moment test basis in RT,ND and BDM
Antoinemarteau Sep 5, 2025
8da2914
Merge branch 'master' into moment-based-reffes
Antoinemarteau Sep 23, 2025
a7344d5
Merge branch 'moment-based-reffes' of github.com:gridap/Gridap.jl int…
Antoinemarteau Sep 23, 2025
1356c80
fix CompWiseTensorPolyBases on 32 bit archs
Antoinemarteau Sep 24, 2025
e2eb5a4
minor fix
Antoinemarteau Sep 24, 2025
225df8f
Merge pull request #1166 from Antoinemarteau/moment-based-reffes
JordiManyer Sep 25, 2025
14c64ed
minor fixes in poly bases constructors
Antoinemarteau Oct 10, 2025
f2cf6e9
implement sh_is_pb and poly_type kwargs for Lagrangian and Serendipity
Antoinemarteau Oct 13, 2025
e87c979
test for sh_is_pb and poly_type kwargs for Lagrangian and Serendipity
Antoinemarteau Oct 13, 2025
c86569b
Merge branch 'moment-based-reffes' into Q_geo_decomposition
Antoinemarteau Oct 13, 2025
c2b2993
fix doc
Antoinemarteau Oct 13, 2025
5c3d951
more tests
Antoinemarteau Oct 13, 2025
46b9fd2
better doc for new ReferenceFEs kwargs
Antoinemarteau Oct 14, 2025
2f99707
ModalScalar ref fe
Antoinemarteau Oct 14, 2025
1d33cf2
remove sh_is_pb kwarg from lagrangian reffes
Antoinemarteau Oct 15, 2025
f2457b7
ModalScalar ref fe
Antoinemarteau Oct 16, 2025
4e68a5d
remove sh_is_pb kwarg from lagrangian reffes
Antoinemarteau Oct 15, 2025
0412128
implement Cartesian product ModalScalar reffe
Antoinemarteau Oct 16, 2025
b83ab4c
implement get_orders for more polynomial basis
Antoinemarteau Oct 16, 2025
060f6c6
Merge branch 'moment-based-reffes' of github.com:Antoinemarteau/Grida…
Antoinemarteau Oct 16, 2025
03ad557
update docs and NEWS.md
Antoinemarteau Oct 16, 2025
8b85400
minor
Antoinemarteau Oct 16, 2025
2d435e8
Merge pull request #1173 from Antoinemarteau/moment-based-reffes
JordiManyer Oct 16, 2025
f6b6753
Tensor product polynomial basis improvements
Antoinemarteau Oct 21, 2025
39e7f0f
Merge branch 'gridap:moment-based-reffes' into moment-based-reffes
Antoinemarteau Oct 21, 2025
a7e9ba5
rename sh_is_pb keyword to change_dof
Antoinemarteau Oct 22, 2025
af22709
rename ModalScalar for consistency
Antoinemarteau Oct 22, 2025
47409b9
update NEWS.md
Antoinemarteau Oct 22, 2025
58c279d
Merge pull request #1176 from Antoinemarteau/moment-based-reffes
JordiManyer Oct 22, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/Downgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
version:
- '1.9' # Needs to be lowest supported version
- '1.10' # Needs to be lowest supported version
os:
- ubuntu-latest
arch:
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ jobs:
fail-fast: false
matrix: # Main tests for linux
version:
- '1.9'
- '1.10'
- '1.11'
os:
Expand Down
67 changes: 67 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,73 @@ 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).

## Moment-based changes

### Added

- Documentation and refactoring of `Gridap.Polynomials`. Since PR[#1072](https://github.com/gridap/Gridap.jl/pull/#1072).
- Two new families of polynomial bases in addition to `Monomial`, `Legendre` (former `Jacobi`) and `ModalC0`: `Chebyshev` and `Bernstein`
- `MonomialBasis` and `Q[Curl]GradMonomialBasis` have been generalized to `Legendre`, `Chebyshev` and `Bernstein` using the new `CartProdPolyBasis` and `CompWiseTensorPolyBasis` respectively.
- `PCurlGradMonomialBasis` has been generalized to `Legendre` and `Chebyshev` using the new `RaviartThomasPolyBasis`.
- New aliases and high level constructor for `CartProdPolyBasis` (former MonomialBasis): `MonomialBasis`, `LegendreBasis`, `ChebyshevBasis` and `BernsteinBasis`.
- New high level factory `FEEC_poly_basis` for the bases for the scalar Lagrange, Nedelec, Raviart-Thomas, BDM spaces, and all other spaces of the Periodic Table of the Finite Elements. (for Serendipity, only scalar is supported). For example:
- Nedelec on simplex `FEEC_poly_basis(Val(D),Float64,order+1, 1,:P⁻)`
- Nedelec on n-cubes `FEEC_poly_basis(Val(D),Float64,order+1, 1,:Q⁻)`
- Raviart on simplex `FEEC_poly_basis(Val(D),Float64,order+1,D-1,:P⁻; rotate_90=(D==2))`
- Raviart on n-cubes `FEEC_poly_basis(Val(D),Float64,order+1,D-1,:Q⁻; rotate_90=(D==2))`
- BDM on simplex `FEEC_poly_basis(Val(D),Float64,order+1,D-1,:P ; rotate_90=(D==2))`
- Added `BernsteinBasisOnSimplex` that implements Bernstein polynomials in barycentric coordinates, since PR[#1104](https://github.com/gridap/Gridap.jl/pull/#1104).
- More documentation of `Gridap.ReferenceFEs`. Since PR[#1109](https://github.com/gridap/Gridap.jl/pull/#1109).

- Some refactoring of `Gridap.TensorValues` to simplify maintenance and new implementations. Since PR[#1115](https://github.com/gridap/Gridap.jl/pull/#1115).
- Added `SkewSymTensorValue`: a new `<:MultiValue` 2nd order tensor type such that `transpose(s)==-s`.
- `congruent_prod`: new operation for 2nd order tensors: `a,b -> bᵀ⋅a⋅b` preserving symmetry of `a`.
- `component_basis` and `representatives_of_componentbasis_dual`: new APIs for `::MultiValue`s yielding bases of the vector space spanned by the independent components of a tensor type (1st method) and its dual space (2nd method).

- Refactoring of moment-based ReferenceFEs, those using face-integral linear forms for DoFs, including `RaviartThomas`, `Nedelec`, `BDM` and `CrouzeixRaviart`. Since PR[#1048](https://github.com/gridap/Gridap.jl/pull/#1048).
- The mid-level `MomentBasedRefFE` factory function creates moment based refFEs
- The low-level `FaceMeasure` implements the numerical integration of a bilinear integrand over the faces of a polytope.
- The low-level `MomentBasedDofBasis` implements a discretized basis of moment DoF
- Implemented moment-based scalar (`H1` conform) elements for scalar elements `lagrangian` and `serendipity` under the names `modal_lagrangian` and `modal_serendipity`. They are the default elements when calling for `k`=0-forms in the generic FEEC reference FE constructor (`P⁻`/`:P`/`:Q⁻` => `lagrangian`, `:S`=> `serendipity`), use the keyword `nodal=true` to opt-in nodal DOF based counterpart. Since PR[#1173](https://github.com/gridap/Gridap.jl/pull/1173).
- Unified the high-level constructors of ReferenceFEs
- New high level `ReferenceFE`s constructor using Arnold et al FEEC notations (Periodic Table of the Finite Elements): `ReferenceFE(F::Symbol, r, k, [, T::Type]; kwargs...)` with `F` the element family, `r` polynomial order and `k` the form order.
- Added `poly_type`, `mom_poly_type` and `change_dof` keyword arguments to many low and high-level reference FE constructors, they enable to control the polynomial (pre-)bases choice for the approximation space and moment test-spaces of the reference elements (See `ReferenceFEs` doc. page). Since PR[#1173](https://github.com/gridap/Gridap.jl/pull/1173).
- Documented the implemented ReferenceFEs with available order and other information in the `ReferenceFEs` section of the doc.
- Implemented the Nedelec reference elements of the second kind `nedelec2`.
- API for Geometric decomposition of polynomial bases, implemented for simplices and n-cubes. Since PR[#1144](https://github.com/gridap/Gridap.jl/pull/1144).
The geometric decomposition API consist in the methods `has_geometric_decomposition`, `get_face_own_funs` and `get_facet_flux_sign_flip`.

### Fixed

- Fixed evaluation of `LinearCombinationDofVector` on vector of `<:Field`s (only impacts ModalC0 FEs and future moment based reffes)., since PR[#1105](https://github.com/gridap/Gridap.jl/pull/#1105).
- Minor `MuliValue` bugfixes for `isless` and `<=` with scalars.

### Changed

- Existing Jacobi polynomial bases/spaces were renamed to Legendre (which they were).
- `Monomial` is now subtype of the new abstract type`Polynomial <: Field`
- `MonomialBasis` is now an alias for `CartProdPolyBasis{...,Monomial}`
- All polynomial bases are now subtypes of the new abstract type `PolynomialBasis <: AbstractVector{<:Polynomial}`
- `get_order`, now always returns the maximum order of the basis, the correspondence with `ReferenceFEs` constructors is summarized in the documentation of the module.
- `NedelecPreBasisOnSimplex` is renamed `NedelecPolyBasisOnSimplex`
- `JacobiPolynomial` is renamed `Legendre` and subtypes `Polynomial`
- `JacobiPolynomialBasis` is renamed `LegendreBasis`
- `ModalC0BasisFunction` is renamed `ModalC0` and subtypes `Polynomial`
- On simplices, the default polynomial bases of BDM, Nédélec and Raviart-Thomas RefFEs have changed for barycentric polynomial bases which lead to better conditioned systems for higher order.
- Similarly, on n-cubes, the default polynomial bases of BDM, Nédélec and Raviart-Thomas RefFEs have changed for Legendre (tensor-product) polynomial bases instead of Monomials.
- Changed `Base.==` for `ReferenceFE`s, and implemented it for `LinearCombinationFieldVector` and `LinearCombinationDofVector`. The implementation now uses AutoHashEquals.jl, so RefFEs are now only equal if they have the same prebasis, shapefun and dofs.
- Monomial (pre)bases have been replaced with Bernstein / Barycentric bases for non-scalar finite elements on simplices.

### Deprecated

- `num_terms(f::AbstractVector{<:Field})` in favor of `length(f::PolynomialBasis)`
- `MonomialBasis{D}(args...)` in favor of `MonomialBasis(Val(D), args...)`
- `[P/Q][Curl]GradMonomialBasis{D}(args...)` in favor of `FEEC_poly_basis`
- `NedelecPreBasisOnSimplex{D}(order)` in favor of `NedelecPolyBasisOnSimplex(Val(D), Float64, order)`
- `JacobiPolynomialBasis{D}(args...)` in favor of `LegendreBasis(Val(D), args...)`

### Removed

## [0.19.5] - 2025-09-19

### Added
Expand Down
4 changes: 3 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ version = "0.19.5"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
AutoHashEquals = "15f4f7f2-30c1-5605-9d31-71845cf9641f"
BSON = "fbb218c0-5317-5bc6-957e-2ee96dd4b1f0"
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
Expand Down Expand Up @@ -40,6 +41,7 @@ TikzPicturesExt = "TikzPictures"
[compat]
AbstractTrees = "0.3.3, 0.4"
Aqua = "0.8"
AutoHashEquals = "2.2.0"
BSON = "0.3.4"
BlockArrays = "1"
Combinatorics = "1"
Expand All @@ -66,7 +68,7 @@ Statistics = "1"
Test = "1"
TikzPictures = "3"
WriteVTK = "1.21.1"
julia = "1.9"
julia = "1.10"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Expand Down
2 changes: 2 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
Gridap = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e"
Kroki = "b3565e16-c1f2-4fe9-b4ab-221c88942068"
TikzPictures = "37f6aa50-8035-52d0-81c2-5a1d08754b2d"

[compat]
Documenter = "1.0"
102 changes: 102 additions & 0 deletions docs/generate_diagrams.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
using Kroki

macro export_kroki(name, str)
return quote
write("src/assets/"*string($name)*".svg", render($str, "svg"))
end
end

# Plantuml uml diagrams syntax: https://plantuml.com/class-diagram#49b7759afaffc066

@export_kroki :poly_1 plantuml"""
@startuml
skinparam groupInheritance 2
hide empty members

together {
abstract Field
abstract Polynomial {
+isHierarchical
}
}
Field <|-left- Polynomial

together {
struct Monomial
struct Legendre
struct Chebyshev
struct ModalC0
struct Bernstein
}

Polynomial <|.. Monomial
Polynomial <|.. Legendre
Polynomial <|.. Chebyshev
Polynomial <|.. ModalC0
Polynomial <|.. Bernstein

@enduml
"""

@export_kroki :poly_2 plantuml"""
@startuml
skinparam groupInheritance 2
hide empty members

together {
abstract "AbstractArray{<:Polynomial}" as a1
abstract PolynomialBasis {
+get_order
+return_type
}
}
a1 <|-left- PolynomialBasis

together {
struct CartProdPolyBasis {
+get_exponents
+get_orders
}
struct CompWiseTensorPolyBasis
struct RaviartThomasPolyBasis
struct NedelecPolyBasisOnSimplex
struct BernsteinBasisOnSimplex {
+get_orders
}
struct ModalC0Basis {
+get_orders
}
}

struct BarycentricPΛBasis {
+print_indices
}
struct BarycentricPmΛBasis {
+print_indices
}

PolynomialBasis <|.. CartProdPolyBasis
PolynomialBasis <|.. CompWiseTensorPolyBasis
PolynomialBasis <|.. RaviartThomasPolyBasis
PolynomialBasis <|.. NedelecPolyBasisOnSimplex
PolynomialBasis <|.. BernsteinBasisOnSimplex
PolynomialBasis <|.. ModalC0Basis
PolynomialBasis <|.. BarycentricPmΛBasis
PolynomialBasis <|.. BarycentricPΛBasis

object "(<:Polynomial)Basis" as m1
object "FEEC_poly_basis" as m2

CartProdPolyBasis <-- m1
BarycentricPmΛBasis o-- BernsteinBasisOnSimplex
BarycentricPΛBasis o-- BernsteinBasisOnSimplex
CartProdPolyBasis <-- m2
CompWiseTensorPolyBasis <-- m2
RaviartThomasPolyBasis <-- m2
NedelecPolyBasisOnSimplex <-- m2
BarycentricPmΛBasis <-- m2
BarycentricPΛBasis <-- m2

@enduml
"""

28 changes: 28 additions & 0 deletions docs/generate_tikz.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

using Gridap
using TikzPictures

using Gridap.ReferenceFEs, Gridap.Adaptivity

function export_tikz_poly(name, p, d, label_offset)
options = "background rectangle/.style={draw=white,fill=white,rounded corners=1ex}, show background rectangle, color=black, scale=2"
preamble = "\\usetikzlibrary {backgrounds}"
tp = TikzPicture(p;options,preamble,label_dim=d,label_offset)
TikzPictures.save(SVG(joinpath("src/assets/polytopes/",name)), tp)
end

export_tikz_poly("SEGMENT_0", Polygon([Point(0.0,0.0),Point(1.0,0.0)]), 0, Point(0.0,0.1))

for d in 0:1
offset = iszero(d) ? 0.1 : 0.0
export_tikz_poly("QUAD_$d", QUAD, d, offset)
export_tikz_poly("TRI_$d" , TRI, d, offset)
end

for d in 0:2
offset = iszero(d) ? 0.1 : 0.0
export_tikz_poly("HEX_$d", HEX, d, offset)
export_tikz_poly("TET_$d" , TET, d, offset)
export_tikz_poly("PYRAMID_$d", PYRAMID, d, offset)
export_tikz_poly("WEDGE_$d", WEDGE, d, offset)
end
46 changes: 28 additions & 18 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,41 +1,51 @@

using Documenter
using Gridap
using TikzPictures

pages = [
"Home" => "index.md",
"Getting Started" => "getting-started.md",
"Gridap" => "Gridap.md",
"Gridap.Helpers" => "Helpers.md",
"Gridap.Io" => "Io.md",
"Gridap.Algebra" => "Algebra.md",
"Gridap.Arrays" => "Arrays.md",
"Gridap.TensorValues" => "TensorValues.md",
"Gridap.Fields" => "Fields.md",
"Gridap.Polynomials" => "Polynomials.md",
"Gridap.ReferenceFEs" => "ReferenceFEs.md",
"Gridap.Geometry" => "Geometry.md",
"Gridap.CellData" => "CellData.md",
"Gridap.Visualization" => "Visualization.md",
"Gridap.FESpaces" => "FESpaces.md",
"Gridap.MultiField" => "MultiField.md",
"Gridap.ODEs" => "ODEs.md",
"Gridap.Adaptivity" => "Adaptivity.md",
"Gridap at a glance" => "overview.md",
"Ecosystem" => "ecosystem.md",
"Modules" => [
"Helpers" => "modules/Helpers.md",
"Io" => "modules/Io.md",
"Algebra" => "modules/Algebra.md",
"Arrays" => "modules/Arrays.md",
"TensorValues" => "modules/TensorValues.md",
"Fields" => "modules/Fields.md",
"Polynomials" => "modules/Polynomials.md",
"ReferenceFEs" => "modules/ReferenceFEs.md",
"Geometry" => "modules/Geometry.md",
"CellData" => "modules/CellData.md",
"Visualization" => "modules/Visualization.md",
"FESpaces" => "modules/FESpaces.md",
"MultiField" => "modules/MultiField.md",
"ODEs" => "modules/ODEs.md",
"Adaptivity" => "modules/Adaptivity.md",
],
"Extensions" => [
"TikzPictures" => "extensions/TikzPictures.md",
],
"Developper notes" => Any[
"dev-notes/block-assemblers.md",
"dev-notes/pullbacks.md",
"dev-notes/bernstein.md",
"dev-notes/autodiff.md",
],
]

makedocs(
sitename = "Gridap.jl",
format = Documenter.HTML(
size_threshold=nothing
size_threshold=nothing,
size_threshold_warn=300 * 2^10 # 300KiB
),
modules = [Gridap],
pages = pages,
doctest = false,
warnonly = [:cross_references,:missing_docs],
warnonly = [:missing_docs,:cross_references], # ,:cross_references
checkdocs = :exports,
)

Expand Down
10 changes: 0 additions & 10 deletions docs/src/Arrays.md

This file was deleted.

5 changes: 0 additions & 5 deletions docs/src/Gridap.md

This file was deleted.

10 changes: 0 additions & 10 deletions docs/src/Polynomials.md

This file was deleted.

10 changes: 0 additions & 10 deletions docs/src/ReferenceFEs.md

This file was deleted.

Loading
Loading