Releases: FEniCS/ffcx
Releases · FEniCS/ffcx
v0.9.0
This is a major release of FFCx and users are advised to upgrade.
What's Changed
Features and API changes
- Add support for mixed-dimensional kernels (codimension 1) by @jpdean in #675
- Add symmetric to finite element by @mscroggs in #684
- Change to INTERFACE in C17 requirement for ufcx target by @jhale in #710
- Unify Expression and IntegralIR with a common base by @jorgensd in #680
- Add Windows CI by @jhale in #689
- Remove ufcx_dofmap and ufcx_element by @mscroggs in #681
- Remove ufcx_function_space by @mscroggs in #690
- Remove ufcx_shape and ufcx_quadrature_rule by @mscroggs in #691
- Use UINT64_C(*) instead of *ull by @mscroggs in #692
- Export required C standard for UFCx header compile. by @jhale in #708
Other changes
- Kebab case build-wheels.yml by @jhale in #685
- Bump version. by @jhale in #686
- Write the Basix hash into generated code (or 0 if the element is not plain C++ Basix element) by @mscroggs in #688
- Break system packages by @jhale in #695
- Disable Spack self test by @garth-wells in #696
- Re-enable mypy checks by @garth-wells in #697
- Update for DOLFINx CI by @garth-wells in #698
- Fix access in assert by @jorgensd in #700
- Remove zero Lexpr check by @jorgensd in #701
- Type updates from Basix by @garth-wells in #703
- Disable Windows test. by @jhale in #704
- Update to use
ufl.domain.extract_domains
by @garth-wells in #705 - Remove quadrature permutation on element tables of codim-1 by @jorgensd in #717
Full Changelog: v0.8.0...v0.9.0
v0.8.0
What's Changed
- Remove unused file by @IgorBaratta in #620
- Bump version to 0.8.0.dev0 by @jhale in #621
- Add Spack CI by @garth-wells in #623
- Update UFL element by @mscroggs in #614
- Add Spack CI badge by @garth-wells in #624
- Remove
setup.cfg
by @garth-wells in #625 - prod instead of product by @RemDelaporteMathurin in #626
- Update wheel build script. by @jhale in #628
- Switch ufcx.h to the unlicense by @jhale in #619
- Update tests for DOFLINx by @garth-wells in #630
- Allow selection of spack tag by @chrisrichardson in #629
- Rename Basix functions by @mscroggs in #631
- Check for custom quadrature for each integral, not each form by @mscroggs in #622
- Remove unused functions and convert list of strings to static data by @chrisrichardson in #637
- Restrict to set() of unique elements in
build_optimized_tables
by @conpierce8 in #627 - Fixed Improper Method Call:
__eq__
and__ne__
by @fazledyn-or in #636 - Use up to date container in DOLFINx integration tests, and update OMPI environment variables for openmpi v5 by @francesco-ballarin in #638
- Simplify CI yaml by @garth-wells in #639
- Fix entrypoint syntax in pyproject by @jhale in #640
- Write the quadrature rule of quadrature elements into generated code by @mscroggs in #634
- Use custom_quadrature() not _points and _weights by @mscroggs in #641
- Fix workflow by @chrisrichardson in #635
- [Sum Factorization - 1] Transition to 1D basis evaluation matrices for hexes and quads by @IgorBaratta in #642
- Update names of fields in basix.ufl by @mscroggs in #644
- Remove deprecated functions by @mscroggs in #643
- Improve FFI support for calling C functions from Python/Numba by @jhale in #646
- Remove
logging.basicConfig()
call infcx/__init__.py
by @garth-wells in #648 - Use NumPy strings for scalar type by @garth-wells in #647
- Reset dolfinx branch (Integration test) by @IgorBaratta in #649
- Pass visualise through compile interfaces. by @jorgensd in #632
- Avoid nesting conditions and statements with many operands by @IgorBaratta in #651
- Move optimizations to a new module, and add Section and annotations by @IgorBaratta in #645
- Fix iowrapper warning by @jorgensd in #654
- Drop
[email protected]
in favor of[email protected]
by @francesco-ballarin in #655 - Test demos with different scalar types by @IgorBaratta in #657
- Remove
num_entity_dofs
by @chrisrichardson in #659 - Bump actions/{download-artifact,upload-artifact} to v4 by @francesco-ballarin in #661
- Remove test_elements.py by @mscroggs in #662
- Add Python 3.12 coverage to CI by @garth-wells in #663
- Update tensor product interface by @mscroggs in #664
- null pointer for kernels that are not defined by @mscroggs in #668
- Fix number of constants. by @jorgensd in #665
- Add missing docstrings, remove pydocstyle skips by @mscroggs in #667
- Black formatting and ruff linting by @garth-wells in #669
- Add default libm library by @michalhabera in #670
- Remove information about physical cells from elements by @mscroggs in #653
- Test
numba_ufcx_kernel_signature
by @IgorBaratta in #671 - Expressions on facets by @jorgensd in #672
- Fix a bug in Section equality check. by @jorgensd in #674
- Add type-hints to
naming.py
by @jorgensd in #677 - Adding more type hints and remove options when not used by @jorgensd in #678
- Remove unused/unnecessary items from
IntegralIR
by @jorgensd in #679 - Optimize partitions by @jorgensd in #683
New Contributors
- @conpierce8 made their first contribution in #627
- @fazledyn-or made their first contribution in #636
Full Changelog: v0.7.0...v0.8.0
v0.7.0
What's Changed
- Raise on invalid function name by @michalhabera in #539
- Tweak root logging handlers by @michalhabera in #554
- Bump dev versions by @garth-wells in #555
- Fix ufl version in setup files by @garth-wells in #558
- Remove import of private basix definitions by @garth-wells in #559
- Use simplified basix interface by @chrisrichardson in #560
- Interface fixes by @chrisrichardson in #561
- Fix interval integrals with vertex rules by @jorgensd in #562
- Add quads and hexes for vertex scheme by @jorgensd in #564
- Rename basix.ufl_wrapper -> basix.ufl by @mscroggs in #563
- Remove
pkg_resources
and remove Python 3.7 support by @jorgensd in #568 - Support facet integrals with vertex scheme by @jorgensd in #566
- Remove use of derivative_listing_to_counts by @mscroggs in #570
- Fix mypy by @mscroggs in #572
- Argument in test should be
np.array
by @chrisrichardson in #574 - Resolve double derivatives for manifolds by @jorgensd in #576
- Remove warning on number of quadrature points by @garth-wells in #577
- Use
num_sub_entities(...)
(new function in UFL) by @mscroggs in #571 - Remove xfail from demo by @mscroggs in #580
- Replace deprecated np.product function by np.prod by @RemDelaporteMathurin in #582
- Fix bug that led to Quadrature Elements not being blocked. by @jhale in #583
- Add flattened entity dofs to ufcx by @chrisrichardson in #586
- Work on removing switch/case from integrals/ids by @chrisrichardson in #587
- Update Basix quadrature interface by @mscroggs in #584
- Minor fix by @chrisrichardson in #588
- Remove switch/case from generated code by @chrisrichardson in #591
- Move templates for static C code to the "C" folder by @chrisrichardson in #593
- Rename CNodes as LNodes, add typing, process AST separately from creating it. by @chrisrichardson in #594
- Fix issue #594 by @chrisrichardson in #600
- Run DOLFINx demos when PR is opened by @mscroggs in #601
- Fix #602 by @mscroggs in #604
- Remove unused stuff by @chrisrichardson in #603
- Move QuadratureElement and RealElement implementations to Basix by @mscroggs in #592
- Add c file template by @chrisrichardson in #606
- Remove precision option by @chrisrichardson in #609
- Remove generated kernel duplication by @jorgensd in #589
- Add
MultiIndex
to LNodes and removeFlattenedArray
by @chrisrichardson in #610 - Stop using deprecated UFL initialisation by @mscroggs in #612
- Fix DOLFINx cmake in CI by @garth-wells in #613
- Use ArrayAccess for entity_local_index by @chrisrichardson in #615
- Mutability fix in unit test by @garth-wells in #616
- Add test to LNodes and reuse more Symbols by @chrisrichardson in #617
- Don't use
rank=
in Basix elements by @mscroggs in #618
New Contributors
- @RemDelaporteMathurin made their first contribution in #582
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- Updates to 0.5.1.dev0 by @chrisrichardson in #523
- Update ufcx by @chrisrichardson in #525
- Add sobolev spaces to ufl wrapper by @mscroggs in #524
- Fix various typos by @luzpaz in #526
- Adds Real Space by @jhale in #509
- Use Basix element functionality over UFL by @mscroggs in #515
- Add Python's CFLAGS, SOABI to cache key by @minrk in #527
- Fix long_description after README changed from rst to md by @jhale in #529
- replace 'parameters' with 'options' by @SarahRo in #518
- Revert CI changes by @jhale in #531
- Fix expression signature for expressions with ufl domain from constant by @jorgensd in #532
- Add mixed precision support for expression by @jhale in #514
- Add isort to FFCx by @jhale in #533
- Add Sobolev spaces to custom element by @mscroggs in #530
- Allow
QuadratureElement
with custom quadrature rule by @mscroggs in #520 - Make mypy configuration explicit and include long term goal. by @jhale in #536
- Don't change the UFL form by @mscroggs in #538
- Only warn for higher degree meshes by @mscroggs in #541
- Wrong test directory name in
pyproject.toml
by @sanguinariojoe in #540 - Bump version number due to breaking API changes in UFCx header. by @jhale in #542
- Bump actions and increase testing of python versions by @jorgensd in #543
- Fix mypy checks (typing.Optional) by @mscroggs in #545
- Fix flake8 error due to version bump by @jorgensd in #548
- Bump CMake to 3.19 by @jorgensd in #535
- Updates for deprecation of a UFL function by @jorgensd in #549
New Contributors
- @luzpaz made their first contribution in #526
- @sanguinariojoe made their first contribution in #540
Full Changelog: v0.5.0.post0...v0.6.0
v0.5.0.post0
This post-release fixes an error in the setup.cfg
file that affected wheel uploads to pypi.org
The core FFCx library is unaffected and users can use v0.5.0 or v0.5.0.post0 tags interchangeably.
Full Changelog: v0.5.0...v0.5.0.post0
v0.5.0
What's Changed
- Fix wheel pypi push by @jhale in #486
- Bump version to 0.4.3.dev0 by @jhale in #487
- Write ndofs into generated code for custom elements by @mscroggs in #488
- Support specification of DOLFINx, FFCx and UFL branches/tags in Actions CI by @garth-wells in #490
- Revert constraint on setuptools version by @garth-wells in #491
- include cmake files in source distributions by @minrk in #489
- Editable installs with --user has been fixed with pip.version>=21.3.0 by @jorgensd in #493
- Update Basix interpolation matrix shapes by @mscroggs in #494
- setuptools is required at runtime by @minrk in #495
- Allow
ufl.real/imag/conj
on vectors and tensors by @jorgensd in #496 - Update docs - fix #497 by @IgorBaratta in #498
- Start typing FFCx by @jorgensd in #500
- Do not unroll loops for jacobian computation by @IgorBaratta in #504
- Use float type that matches scalar type by @garth-wells in #502
- Reset dolfinx branch for CI by @garth-wells in #506
- Use a single code path for Jacobian and Spatial Coordinates by @IgorBaratta in #505
- Allow more integer types for
subdomain_id
by @SarahRo in #492 - Simplify element creation by @mscroggs in #503
- Fix symmetric tensors by @mscroggs in #507
- Use Basix-wrapped element everywhere by @mscroggs in #511
- Change DOLFINx integration test image by @jhale in #513
- assert() -> assert by @mscroggs in #519
- Support EnrichedElement by @mscroggs in #512
- Python 3.7 by @mscroggs in #521
New Contributors
Full Changelog: v0.4.2...v0.5.0
v0.4.2
Full Changelog: 0.4.1.post0...v0.4.2
Version 0.4.1
Fixes some problems with the ufcx.h header file
Version 0.4.0
What's Changed
- Fix geometry array width at 3 in generated code by @garth-wells in #358
- Update DOLFINx branch by @garth-wells in #360
- Return C code string by @michalhabera in #359
- Update to 0.1.1 by @chrisrichardson in #357
- Add prism cell by @chrisrichardson in #361
- Move DOF transformations out of kernel by @mscroggs in #362
- Point CI to DOLFINx main by @garth-wells in #364
- Update element interface by @mscroggs in #365
- Set DOLFINx branch by @mscroggs in #368
- Put member data into correct order by @chrisrichardson in #371
- Replace int num_entity_dofs[4] with int *num_entity_dofs by @chrisrichardson in #372
- Prevent global Jacobian derivatives being interpreted as local derivatives by @jpdean in #375
- Add entity closure dofs to
ufc_dofmap
by @mscroggs in #369 - Update Basix interface to allow variants by @mscroggs in #376
- Revert branches to main by @mscroggs in #378
- Add
needs_facet_permutations
flag by @mscroggs in #384 - Improvements in code generation for Vector Elements by @IgorBaratta in #381
- Move warning to quadrature creation by @IgorBaratta in #385
- Bump version up by @chrisrichardson in #386
- Update Basix install in CI config by @mscroggs in #387
- Discontinuous elements by @mscroggs in #382
- Continue on coveralls upload error by @mscroggs in #390
- Replace lattice type with Lagrange variant by @mscroggs in #389
- Write ufl family, not Basix family by @mscroggs in #391
- PEP517 changes by @jhale in #393
- Put class variables in correct order by @chrisrichardson in #395
- Remove ufc scalar type by @chrisrichardson in #396
- Restore CI settings by @chrisrichardson in #398
- More PEP517 by @jhale in #397
- Wheel typo by @jhale in #399
- setuptools version consistency fix by @garth-wells in #400
- Editable installs, narrower package finding, cleanup manifest. by @jhale in #401
- Change "-O0" to "-O1" in test config to support some systems by @garth-wells in #402
- Reshape data returned by Basix by @mscroggs in #403
- Fix unique tables by @michalhabera in #405
- Change default point spacing to GLL by @mscroggs in #408
- Update Basix quadrature interface by @mscroggs in #411
- Revert DOLFINx branch to main by @mscroggs in #412
- Fix unique tables by @michalhabera in #413
- Remove set_printoptions from ffcx by @jorgensd in #415
- Check for unused variables in generated code by @IgorBaratta in #416
- Store coordinate element in ufc_form by @mscroggs in #409
- Update existing tables by @IgorBaratta in #418
- Improve data access for coefficients by @IgorBaratta in #419
- Fuse coefficient loops by @IgorBaratta in #421
- Make DPC space discontinuous by @mscroggs in #423
- Do not create temporaries for non-varying partition by @IgorBaratta in #424
- Use XDG_CONFIG_HOME when searching for config file by @matsievskiysv in #425
- Count flops recursively by @IgorBaratta in #420
- Don't permute tables in interior facet integrals by @mscroggs in #428
- revert to main dolfinx by @mscroggs in #430
- Remove ufc_blocked_element enum by @garth-wells in #431
- Throw error if creating a BlockedElement whose sub element is not scalar by @mscroggs in #429
- Enable static type checking with mypy by @chrisrichardson in #427
- Create FUNDING.yml by @jhale in #433
- Remove reference to
cellname2facetname
by @jpdean in #435 - Add the cell type and Lagrange variant to UFC function space by @mscroggs in #436
- Rename
ufc.h
->ufcx.h
and add CMake files for header-only install by @garth-wells in #437 - Roll back CI branch by @garth-wells in #439
- update license by @mscroggs in #440
- Update handling of element
value_size
and document by @garth-wells in #443 - Add Python 3.10 to CI by @garth-wells in #444
- Move CI deps to central location by @jhale in #442
- Zero table elimination for non-scalar graphs by @jorgensd in #438
- Fix typo in integral analysis by @mscroggs in #448
- Update and extend ufc_expression by @michalhabera in #432
- Revert branches. by @jhale in #452
- Merge pre-definitions across quadrature loops by @michalhabera in #446
- Fix typo in constant names generation by @michalhabera in #454
- Add default serendipity variant by @mscroggs in #456
- Default variant for DPC elements by @mscroggs in #457
- Serendipity variants by @mscroggs in #458
- Make UFL files Python by @michalhabera in #459
- Update syntax for wheel build by @jhale in #461
- Fix fenics-ufl requirement by @jhale in #462
- Add demo for interpolating expressions by @jorgensd in #463
- Sympy 1.10 compatibility by @jorgensd in #467
- Remove usage of deprecated function
Argument.ufl_element()
by @jorgensd in #441 - Pin setuptools version < 61. by @garth-wells in #468
- Cache Basix elements to avoid computing basis functions multiple times by @mscroggs in #472
- Add support for custom Basix elements by @mscroggs in #470
- revert caching by @mscroggs in #474
- Cache Basix element creation by @mscroggs in #475
- Fix test by @mscroggs in #479
- Restore python 3.7 compatibile usage of functools.lru_cache by @francesco-ballarin in #480
- Update variants by @mscroggs in #476
New Contributors
- @jpdean made their first contribution in #375
- @matsievskiysv made their first contribution in #425
- @francesco-ballarin made their first contribution in #480
Full Changelog: 0.1.0...v0.4.0