Skip to content

Releases: gridap/Gridap.jl

v0.20.3

23 Mar 04:02
62586b6

Choose a tag to compare

Gridap v0.20.3

Diff since v0.20.2

Merged pull requests:

v0.20.2

20 Mar 00:39
7f2ce32

Choose a tag to compare

Gridap v0.20.2

Diff since v0.20.1

Merged pull requests:

v0.20.1

19 Mar 04:04
e5686cc

Choose a tag to compare

Gridap v0.20.1

Diff since v0.20.0

Merged pull requests:

v0.20.0

17 Mar 04:10
a549c18

Choose a tag to compare

Gridap v0.20.0

Diff since v0.19.9

Breaking changes

  • NedelecNedelec{kind}: replace Nedelec() with nedelec (= Nedelec{1}()) or nedelec2 (= Nedelec{2}()).
  • DivConforming abstract type removed: RaviartThomas and BDM now directly subtype ReferenceFEName.
  • CellFE constructor: trailing positional args are now keyword args.
  • SignFlipMap, TransformRTDofBasis, TransformNedelecDofBasis removed: handled internally by the new Pullbacks.jl pipeline.
  • ReferenceFE(name, args...; kwargs...) now returns a tuple (name, args, kwargs) instead of directly constructing a RefFE.
  • Default polynomial bases changed: internal representations differ from v0.19 — affects serialised data and exact numerical values.
  • ThirdOrderTensorValue is now a type alias for HighOrderTensorValue. Code relying on type identity may break.
  • MacroReferenceFE constructor gains a 3rd positional argument Name.
  • Conformity(reffe, sym::Symbol) per-element overloads removed: custom elements must implement valid_conformity_symbols instead.
  • FineToCoarseReferenceFEs.jl no longer loaded.
  • Old stubs apply, FETerm, AffineFETerm, LinearFETerm, FESource, FEEnergy removed from the Gridap namespace.

New features

  • Polynomials: new Chebyshev and Bernstein polynomial types; new CartProdPolyBasis and CompWiseTensorPolyBasis generalising the old monomial bases; new high-level factory FEEC_poly_basis covering all spaces in the Periodic Table of the Finite Elements.
  • ReferenceFEs: new ReferenceFE(F, r, k[, T]; kwargs...) constructor using FEEC notation; new MomentBasedReferenceFE factory unifying moment-based element construction; new elements modal_lagrangian, modal_serendipity, CrouzeixRaviart, and nedelec2; unified Piola map hierarchy (Pullbacks.jl) and geometric decomposition API.
  • TensorValues: new SkewSymTensorValue and HighOrderTensorValue types; new operations congruent_prod, contracted_product, and component_basis.
  • Default bases and quadratures: simplex elements (RT, BDM, Nédélec) now use Bernstein bases by default; n-cube elements use Legendre.

Deprecations

Deprecated Replacement
MonomialBasis{D}(args...) MonomialBasis(Val(D), args...)
JacobiPolynomialBasis{D}(args...) LegendreBasis(Val(D), args...)
JacobiPolynomial Legendre
QGradMonomialBasis{D}(T, order) FEEC_poly_basis(Val(D), T, order+1, 1, :Q⁻)
QCurlGradMonomialBasis{D}(T, order) FEEC_poly_basis(Val(D), T, order+1, D-1, :Q⁻; rotate_90=(D==2))
PCurlGradMonomialBasis{D}(T, order) FEEC_poly_basis(Val(D), T, order+1, D-1, :P⁻; rotate_90=(D==2))
NedelecPreBasisOnSimplex{D}(order) NedelecPolyBasisOnSimplex(Val(D), Float64, order)
num_terms(f) length(f)
return_type(::PolynomialBasis) value_type(::PolynomialBasis)
n_components num_components
get_cell_shapefuns(model, cell_reffe, conf) get_cell_shapefuns_and_dof_basis(...)[1]
get_cell_dof_basis(model, cell_reffe, conf) get_cell_shapefuns_and_dof_basis(...)[2]
get_free_values(space) get_free_dof_values(space)
get_dirichlet_values(space) get_dirichlet_dof_values(space)

Merged pull requests:

v0.19.9

14 Mar 02:26
fec37f0

Choose a tag to compare

Gridap v0.19.9

Diff since v0.19.8

Merged pull requests:

Closed issues:

  • Incorrect Jacobian indexing in Nedelec DOF basis transformation (#1221)
  • Incorrect inverse cell map indexing in FineToCoarseField fast-path (#1223)
  • TransientSingleFieldCellField: minus-side time derivatives evaluated on plus side (#1228)
  • TransientSingleFieldCellField.⁻ returns plus-side time derivatives on skeleton facets (#1237)
  • outer(f, s::ShiftedNabla) ignores shift term (#1241)
  • Review default quadrature on embedded boundaries (#1242)
  • Precompilation warnings and slowdown due to method overwrite (num_fields(::DistributedFESpace)) (#1243)
  • Bug: Incorrect else p == HEX branch in EdgeBasedRefinement (#1245)
  • [BUG]: NormalSampling uses Uniform distribution instead of Normal in generate_param (#1248)

v0.19.8

19 Feb 08:27
c505ea2

Choose a tag to compare

Gridap v0.19.8

Diff since v0.19.7

Merged pull requests:

Closed issues:

  • Possible error with composition (#1196)
  • error in compilation (#1201)
  • Problem of integration on a domain for determining equivalent properties (#1204)

v0.19.7

18 Dec 00:31
5043ca7

Choose a tag to compare

Gridap v0.19.7

Diff since v0.19.6

Merged pull requests:

Closed issues:

  • Building HGrad conforming FESpace with a custom refFE that is not LagrangianRefFE (#1154)
  • Computing reactions at a specific tag (#1170)
  • Correct implentation of one(::TensorValue{2,3}) and other non square TensorValues (#1188)

v0.19.6

21 Oct 01:37
f467870

Choose a tag to compare

Gridap v0.19.6

Diff since v0.19.5

Merged pull requests:

  • Uniformly refine unstructured mesh (#1143) (@DimhamT)
  • [moment-based-reffes] Geometric decomposition on n-cubes, choice of poly basis in Lagrangian and Serendipity FES (#1173) (@Antoinemarteau)
  • Fix ambiguities in BoundaryTiangulation for AdaptedDiscreteModels (#1175) (@JordiManyer)

Closed issues:

  • An error occurs when creating test space with RefinementRule (#1141)
  • Proposal to Submit a PR for Uniform Mesh Refinement of Unstructured Meshes (#1142)
  • Segmentation fault in GmshDiscreteModel on Linux server (#1172)
  • Ambiguity with BoundaryTriangulation constructor + AdaptedDiscreteModel (#1174)

v0.19.5

25 Sep 11:51
9dac71c

Choose a tag to compare

Gridap v0.19.5

Diff since v0.19.4

Merged pull requests:

Closed issues:

  • eigen(TensorValue) returning wrong values (#1156)
  • Accessing tensors by blocks or slices (#1160)

v0.19.4

08 Aug 23:15
6d230da

Choose a tag to compare

Gridap v0.19.4

Diff since v0.19.3

Merged pull requests:

Closed issues:

  • Option to invalidate the array_cache for LazyArray (#1117)
  • Point evaluation of CellField on periodic mesh fails near boundary points (#1119)
  • Why is TensorValue not an AbstractArray? (#1148)