Conversation
garth-wells
left a comment
There was a problem hiding this comment.
Numba should remain an optional dependency. We have consciously not made it a required dependency across FEniCS packages.
Numba can constrain versions of other dependencies heavily, e.g. Numpy, and it often takes a long time to move to new a Python version.
Co-authored-by: Michal Habera <michal.habera@gmail.com>
|
@schnellerhase could you post a sample of the generated code? My interest is that Numba code using the UFCx interface is normally poor from a performance point-of-view because Numba doesn't support static memory allocation. Performance can be (very) good by generating a whole assembler, or possibly good with the tricks to capture (and re-use) tables. I like Numba as a prototype for supporting multiple languages, but I'm less keen on backends that we wouldn't recommend for efficient computation. |
|
Generated with Details# This code conforms with the UFC specification version 2018.2.0.dev0
# and was automatically generated by FFCx version 0.11.0.dev0.
#
# This code was generated with the following options:
#
# {'epsilon': 1e-14,
# 'language': 'numba',
# 'output_directory': '.',
# 'part': 'full',
# 'profile': False,
# 'scalar_type': 'float64',
# 'sum_factorization': False,
# 'table_atol': 1e-09,
# 'table_rtol': 1e-06,
# 'ufl_file': ['./PoissonQuad.py'],
# 'verbosity': 30,
# 'visualise': False}
import numba
import numpy as np
import math
# ufcx enums
interval = 10
triangle = 20
quadrilateral = 30
tetrahedron = 40
hexahedron = 50
vertex = 60
prism = 70
pyramid = 80
cell = 0
exterior_facet = 1
interior_facet = 2
ufcx_basix_element = 0
ufcx_mixed_element = 1
ufcx_quadrature_element = 2
ufcx_basix_custom_element = 3
# Code for integral integral_63fb73da9bd363692a1516abb30921c29f18b039_triangle
def tabulate_tensor_integral_63fb73da9bd363692a1516abb30921c29f18b039_triangle(_A, _w, _c, _coordinate_dofs,
_entity_local_index, _quadrature_permutation, custom_data):
A = numba.carray(_A, (36))
w = numba.carray(_w, (0))
c = numba.carray(_c, (0))
coordinate_dofs = numba.carray(_coordinate_dofs, (36))
entity_local_index = numba.carray(_entity_local_index, (2))
quadrature_permutation = numba.carray(_quadrature_permutation, (0))
# Quadrature rules
weights_39d = np.array([0.054975871827661, 0.054975871827661, 0.054975871827661, 0.1116907948390055, 0.1116907948390055, 0.1116907948390055], dtype=np.float64)
# Precomputed values of basis functions and precomputations
# FE* dimensions: [permutation][entities][points][dofs]
FE0_C0_D01_Q39d = np.array([[[[0.6336951459609204, 0.0, -0.6336951459609156, 3.267390291921836, 0.0, -3.2673902919218363],
[0.6336951459609199, 0.0, 2.2673902919218354, 0.36630485403908425, -2.901085437882756, -0.36630485403908397],
[-2.267390291921832, 0.0, -0.6336951459609155, 0.3663048540390838, 2.9010854378827484, -0.3663048540390845],
[-0.7837939636638601, 0.0, 0.78379396366386, 0.43241207267228005, 0.0, -0.43241207267228016],
[-0.7837939636638598, 0.0, -0.5675879273277195, 1.7837939636638596, 1.35138189099158, -1.7837939636638604],
[0.5675879273277201, 0.0, 0.7837939636638599, 1.78379396366386, -1.3513818909915805, -1.7837939636638602]]]], dtype=np.float64)
FE1_C0_D10_Q39d = np.array([[[[0.6336951459609204, 2.267390291921836, 0.0, 0.36630485403908347, -0.36630485403908486, -2.9010854378827564],
[0.63369514596092, -0.6336951459609156, 0.0, 3.2673902919218363, -3.2673902919218363, 0.0],
[-2.2673902919218323, -0.6336951459609159, 0.0, 0.3663048540390847, -0.36630485403908375, 2.9010854378827475],
[-0.78379396366386, -0.5675879273277199, 0.0, 1.7837939636638604, -1.7837939636638602, 1.3513818909915798],
[-0.78379396366386, 0.7837939636638601, 0.0, 0.43241207267227993, -0.43241207267228016, 0.0],
[0.5675879273277202, 0.7837939636638601, 0.0, 1.78379396366386, -1.7837939636638607, -1.3513818909915802]]]], dtype=np.float64)
for iq in range(0, 6):
# ------------------------
# Section: Jacobian
# Inputs: FE0_C0_D01_Q39d, coordinate_dofs, FE1_C0_D10_Q39d
# Outputs: J0_c3, J0_c0, J0_c2, J0_c1
J0_c0 = 0.0
J0_c3 = 0.0
J0_c1 = 0.0
J0_c2 = 0.0
for ic in range(0, 6):
J0_c0 += coordinate_dofs[(ic) * 3] * FE1_C0_D10_Q39d[0, 0, iq, ic]
J0_c3 += coordinate_dofs[(ic) * 3 + 1] * FE0_C0_D01_Q39d[0, 0, iq, ic]
J0_c1 += coordinate_dofs[(ic) * 3] * FE0_C0_D01_Q39d[0, 0, iq, ic]
J0_c2 += coordinate_dofs[(ic) * 3 + 1] * FE1_C0_D10_Q39d[0, 0, iq, ic]
# ------------------------
# ------------------------
# Section: Intermediates
# Inputs: J0_c3, J0_c0, J0_c2, J0_c1
# Outputs: fw0, fw1, fw2
fw0 = 0
fw1 = 0
fw2 = 0
sv_39d_0 = J0_c0 * J0_c3
sv_39d_1 = J0_c1 * J0_c2
sv_39d_2 = -sv_39d_1
sv_39d_3 = sv_39d_0 + sv_39d_2
sv_39d_4 = J0_c0 / sv_39d_3
sv_39d_5 = -J0_c1
sv_39d_6 = sv_39d_5 / sv_39d_3
sv_39d_7 = sv_39d_4 * sv_39d_4
sv_39d_8 = sv_39d_4 * sv_39d_6
sv_39d_9 = sv_39d_6 * sv_39d_6
sv_39d_10 = J0_c3 / sv_39d_3
sv_39d_11 = -J0_c2
sv_39d_12 = sv_39d_11 / sv_39d_3
sv_39d_13 = sv_39d_12 * sv_39d_12
sv_39d_14 = sv_39d_10 * sv_39d_12
sv_39d_15 = sv_39d_10 * sv_39d_10
sv_39d_16 = sv_39d_7 + sv_39d_13
sv_39d_17 = sv_39d_8 + sv_39d_14
sv_39d_18 = sv_39d_15 + sv_39d_9
sv_39d_19 = np.abs(sv_39d_3)
sv_39d_20 = sv_39d_16 * sv_39d_19
sv_39d_21 = sv_39d_17 * sv_39d_19
sv_39d_22 = sv_39d_18 * sv_39d_19
fw0 = sv_39d_22 * weights_39d[iq]
fw1 = sv_39d_21 * weights_39d[iq]
fw2 = sv_39d_20 * weights_39d[iq]
# ------------------------
# ------------------------
# Section: Tensor Computation
# Inputs: fw0, FE1_C0_D10_Q39d, FE0_C0_D01_Q39d, fw1, fw2
# Outputs: A
temp_0 = np.full((6,), 0, dtype=np.float64)
for j in range(0, 6):
temp_0[j] = fw0 * FE1_C0_D10_Q39d[0, 0, iq, j]
temp_1 = np.full((6,), 0, dtype=np.float64)
for j in range(0, 6):
temp_1[j] = fw1 * FE0_C0_D01_Q39d[0, 0, iq, j]
temp_2 = np.full((6,), 0, dtype=np.float64)
for j in range(0, 6):
temp_2[j] = fw1 * FE1_C0_D10_Q39d[0, 0, iq, j]
temp_3 = np.full((6,), 0, dtype=np.float64)
for j in range(0, 6):
temp_3[j] = fw2 * FE0_C0_D01_Q39d[0, 0, iq, j]
for j in range(0, 6):
for i in range(0, 6):
A[6 * (i) + (j)] += FE1_C0_D10_Q39d[0, 0, iq, i] * temp_0[j]
A[6 * (i) + (j)] += FE1_C0_D10_Q39d[0, 0, iq, i] * temp_1[j]
A[6 * (i) + (j)] += FE0_C0_D01_Q39d[0, 0, iq, i] * temp_2[j]
A[6 * (i) + (j)] += FE0_C0_D01_Q39d[0, 0, iq, i] * temp_3[j]
# ------------------------
class integral_63fb73da9bd363692a1516abb30921c29f18b039_triangle(object):
enabled_coefficients = []
tabulate_tensor = tabulate_tensor_integral_63fb73da9bd363692a1516abb30921c29f18b039_triangle
needs_facet_permutations = False
coordinate_element_hash = 16933917890882727401
domain = 2
# End of code for integral integral_63fb73da9bd363692a1516abb30921c29f18b039_triangle
# Code for integral integral_778fc7abc3ea118a6b2ffae9b84390638c355c49_triangle
def tabulate_tensor_integral_778fc7abc3ea118a6b2ffae9b84390638c355c49_triangle(_A, _w, _c, _coordinate_dofs,
_entity_local_index, _quadrature_permutation, custom_data):
A = numba.carray(_A, (6))
w = numba.carray(_w, (6))
c = numba.carray(_c, (0))
coordinate_dofs = numba.carray(_coordinate_dofs, (36))
entity_local_index = numba.carray(_entity_local_index, (2))
quadrature_permutation = numba.carray(_quadrature_permutation, (0))
# Quadrature rules
weights_1ec = np.array([0.0254224531851035, 0.0254224531851035, 0.0254224531851035, 0.0583931378631895, 0.0583931378631895, 0.0583931378631895, 0.041425537809187, 0.041425537809187, 0.041425537809187, 0.041425537809187, 0.041425537809187, 0.041425537809187], dtype=np.float64)
# Precomputed values of basis functions and precomputations
# FE* dimensions: [permutation][entities][points][dofs]
FE0_C0_Q1ec = np.array([[[[-0.05512856699248414, 0.6533077030470595, -0.05512856699248412, 0.2205142679699363, 0.015920894998035756, 0.22051426796993656],
[-0.05512856699248414, -0.05512856699248414, 0.6533077030470594, 0.22051426796993656, 0.22051426796993662, 0.01592089499803573],
[0.6533077030470595, -0.05512856699248414, -0.05512856699248409, 0.015920894998035784, 0.22051426796993656, 0.22051426796993667],
[-0.12499898253509756, 0.00143057951778882, -0.12499898253509749, 0.4999959301403893, 0.24857552527162594, 0.49999593014039123],
[-0.12499898253509756, -0.12499898253509759, 0.00143057951778888, 0.49999593014038934, 0.49999593014039134, 0.2485755252716258],
[0.0014305795177897915, -0.12499898253509756, -0.12499898253509747, 0.24857552527162488, 0.4999959301403904, 0.4999959301403902],
[-0.047496257198800046, 0.17376836365417409, -0.11771516330842909, 0.7901604427658231, 0.06597478591860523, 0.1353078281686268],
[-0.11771516330842921, 0.17376836365417414, -0.04749625719880005, 0.13530782816862683, 0.06597478591860531, 0.7901604427658231],
[-0.04749625719880002, -0.11771516330842915, 0.1737683636541741, 0.7901604427658231, 0.13530782816862685, 0.06597478591860523],
[0.1737683636541741, -0.11771516330842913, -0.04749625719880004, 0.06597478591860526, 0.13530782816862694, 0.7901604427658231],
[-0.11771516330842917, -0.047496257198800095, 0.1737683636541741, 0.13530782816862683, 0.7901604427658232, 0.06597478591860523],
[0.17376836365417406, -0.047496257198800115, -0.11771516330842907, 0.06597478591860526, 0.7901604427658232, 0.1353078281686269]]]], dtype=np.float64)
FE1_C0_D10_Q1ec = np.array([[[[0.7476439420339921, 2.4952878840679835, 0.0, 0.2523560579660072, -0.25235605796600874, -3.2429318261019753],
[0.7476439420339923, -0.7476439420339918, 0.0, 3.4952878840679844, -3.495287884067985, 0.0],
[-2.495287884067984, -0.7476439420339915, 0.0, 0.25235605796600863, -0.2523560579660075, 3.2429318261019753],
[0.0028530193163561757, 1.0057060386327161, 0.0, 0.9971469806836398, -0.9971469806836405, -1.0085590579490724],
[0.00285301931635629, -0.0028530193163599986, 0.0, 2.0057060386327166, -2.005706038632717, 0.0],
[-1.0057060386327201, -0.0028530193163599504, 0.0, 0.9971469806836403, -0.99714698068364, 1.00855905794908],
[0.7874198006207365, 1.546009996485596, 0.0, 1.2414098041351396, -1.2414098041351407, -2.333429797106332],
[-0.2414098041351399, 1.546009996485596, 0.0, 0.2125801993792637, -0.21258019937926445, -1.304600192350456],
[0.7874198006207362, 0.24140980413514018, 0.0, 2.5460099964855964, -2.5460099964855964, -1.0288296047558763],
[-1.5460099964855964, 0.2414098041351399, 0.0, 0.21258019937926426, -0.21258019937926395, 1.304600192350456],
[-0.24140980413513996, -0.7874198006207358, 0.0, 2.5460099964855964, -2.5460099964855964, 1.0288296047558758],
[-1.5460099964855962, -0.7874198006207358, 0.0, 1.2414098041351405, -1.2414098041351398, 2.333429797106332]]]], dtype=np.float64)
FE1_C1_D01_Q1ec = np.array([[[[0.7476439420339924, 0.0, -0.7476439420339914, 3.4952878840679835, 0.0, -3.4952878840679844],
[0.747643942033992, 0.0, 2.4952878840679835, 0.25235605796600824, -3.2429318261019766, -0.2523560579660078],
[-2.495287884067984, 0.0, -0.7476439420339913, 0.252356057966008, 3.2429318261019766, -0.25235605796600863],
[0.0028530193163562824, 0.0, -0.0028530193163599283, 2.0057060386327166, 0.0, -2.0057060386327166],
[0.0028530193163561774, 0.0, 1.0057060386327161, 0.9971469806836402, -1.0085590579490724, -0.99714698068364],
[-1.0057060386327201, 0.0, -0.002853019316359882, 0.99714698068364, 1.0085590579490804, -0.9971469806836404],
[0.7874198006207362, 0.0, 0.24140980413514013, 2.546009996485596, -1.0288296047558765, -2.546009996485596],
[-0.24140980413513968, 0.0, -0.7874198006207356, 2.546009996485596, 1.0288296047558756, -2.5460099964855964],
[0.7874198006207361, 0.0, 1.5460099964855958, 1.2414098041351402, -2.3334297971063327, -1.24140980413514],
[-1.546009996485596, 0.0, -0.7874198006207355, 1.2414098041351398, 2.333429797106332, -1.2414098041351405],
[-0.24140980413514007, 0.0, 1.5460099964855958, 0.2125801993792643, -1.3046001923504562, -0.212580199379264],
[-1.546009996485596, 0.0, 0.2414098041351402, 0.2125801993792641, 1.3046001923504562, -0.21258019937926448]]]], dtype=np.float64)
for iq in range(0, 12):
# ------------------------
# Section: Coefficient
# Inputs: w, FE0_C0_Q1ec
# Outputs: w0
w0 = 0.0
for ic in range(0, 6):
w0 += w[ic] * FE0_C0_Q1ec[0, 0, iq, ic]
# ------------------------
# ------------------------
# Section: Jacobian
# Inputs: coordinate_dofs, FE1_C0_D10_Q1ec, FE1_C1_D01_Q1ec
# Outputs: J0_c3, J0_c0, J0_c2, J0_c1
J0_c0 = 0.0
J0_c3 = 0.0
J0_c1 = 0.0
J0_c2 = 0.0
for ic in range(0, 6):
J0_c0 += coordinate_dofs[(ic) * 3] * FE1_C0_D10_Q1ec[0, 0, iq, ic]
J0_c3 += coordinate_dofs[(ic) * 3 + 1] * FE1_C1_D01_Q1ec[0, 0, iq, ic]
J0_c1 += coordinate_dofs[(ic) * 3] * FE1_C1_D01_Q1ec[0, 0, iq, ic]
J0_c2 += coordinate_dofs[(ic) * 3 + 1] * FE1_C0_D10_Q1ec[0, 0, iq, ic]
# ------------------------
# ------------------------
# Section: Intermediates
# Inputs: w0, J0_c3, J0_c0, J0_c2, J0_c1
# Outputs: fw0
fw0 = 0
sv_1ec_0 = J0_c0 * J0_c3
sv_1ec_1 = J0_c1 * J0_c2
sv_1ec_2 = -sv_1ec_1
sv_1ec_3 = sv_1ec_0 + sv_1ec_2
sv_1ec_4 = np.abs(sv_1ec_3)
sv_1ec_5 = sv_1ec_4 * w0
fw0 = sv_1ec_5 * weights_1ec[iq]
# ------------------------
# ------------------------
# Section: Tensor Computation
# Inputs: fw0, FE0_C0_Q1ec
# Outputs: A
for i in range(0, 6):
A[(i)] += fw0 * FE0_C0_Q1ec[0, 0, iq, i]
# ------------------------
class integral_778fc7abc3ea118a6b2ffae9b84390638c355c49_triangle(object):
enabled_coefficients = [1]
tabulate_tensor = tabulate_tensor_integral_778fc7abc3ea118a6b2ffae9b84390638c355c49_triangle
needs_facet_permutations = False
coordinate_element_hash = 16933917890882727401
domain = 2
# End of code for integral integral_778fc7abc3ea118a6b2ffae9b84390638c355c49_triangle
# Code for form form_d761aec89406377fcbb58a999b7323d30d8bea53
finite_element_hashes_form_d761aec89406377fcbb58a999b7323d30d8bea53 = [16933917890882727401, 16933917890882727401]
form_integral_offsets_form_d761aec89406377fcbb58a999b7323d30d8bea53 = [0, 1, 1, 1, 1, 1]
form_integrals_form_d761aec89406377fcbb58a999b7323d30d8bea53 = [integral_63fb73da9bd363692a1516abb30921c29f18b039_triangle]
form_integral_ids_form_d761aec89406377fcbb58a999b7323d30d8bea53 = [-1]
class form_d761aec89406377fcbb58a999b7323d30d8bea53(object):
signature = "9c0f4f100853821a50937b9c69cae563cfece5fc9f0aa8c5f48523cecd75bb4f64e4b0e0d765e482914e1d38e7da285445d3fb618171d980b731a6dccc39063d"
rank = 2
num_coefficients = 0
original_coefficient_positions = None
coefficient_name_map = None
num_constants = 0
constant_ranks = None
constant_shapes = None
constant_name_map = None
finite_element_hashes = finite_element_hashes_form_d761aec89406377fcbb58a999b7323d30d8bea53
form_integrals = form_integrals_form_d761aec89406377fcbb58a999b7323d30d8bea53
form_integral_ids = form_integral_ids_form_d761aec89406377fcbb58a999b7323d30d8bea53
form_integral_offsets = form_integral_offsets_form_d761aec89406377fcbb58a999b7323d30d8bea53
# Alias name
form_PoissonQuad_a = form_d761aec89406377fcbb58a999b7323d30d8bea53
# End of code for form form_d761aec89406377fcbb58a999b7323d30d8bea53
# Code for form form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
original_coefficient_position_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672 = [0]
finite_element_hashes_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672 = [16933917890882727401, 16933917890882727401]
form_integral_offsets_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672 = [0, 1, 1, 1, 1, 1]
form_integrals_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672 = [integral_778fc7abc3ea118a6b2ffae9b84390638c355c49_triangle]
form_integral_ids_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672 = [-1]
coefficient_names_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672 = ["f"]
class form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672(object):
signature = "dccbdc7bda573c2c069c489b1644c8ccec0aee82c8241444a95c0be7f953228ee36efc3d489e561dd14558559f08b87b4c345ea95563dd6c91c3fdf07645ce47"
rank = 1
num_coefficients = 1
original_coefficient_positions = original_coefficient_position_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
coefficient_name_map = coefficient_names_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
num_constants = 0
constant_ranks = None
constant_shapes = None
constant_name_map = None
finite_element_hashes = finite_element_hashes_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
form_integrals = form_integrals_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
form_integral_ids = form_integral_ids_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
form_integral_offsets = form_integral_offsets_form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
# Alias name
form_PoissonQuad_L = form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672
# End of code for form form_fb2b1df1128f70fdeeddd69cd46d86aa2a83d672 |
|
What if we rather make this a |
This is our take on this as well. We see the Currently the While working with the |
|
Maybe we can output a message (e.g. a comment in the generated code) or on the console, reminding users that the kernel is not suitable for production use. |
michalhabera
left a comment
There was a problem hiding this comment.
Happy to have this merged as an exploratory language backend.
commit 59799971d68b507c814cbc087e392b84fbcedbdd
Merge: 98058a43 26608849
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Dec 10 17:16:28 2025 +0100
Merge branch 'main' into schnellerhase/copy-chris/languages-3-cpp
commit 26608849f3906635f5f6507459252bcf2a5e83fe
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Dec 10 15:47:07 2025 +0100
Add `numba` backend (#801)
* Updates to 'language' support
* Fixes for ruff
* Add numba
* Add suffix support
* updates
* Formatting fixes
* fixes
* Remove wrapper
* Fix
* [tmp] no mypy
* [tmp] no ruff
* Start with numba
* drop cpp/
* ruff
* add __all__
* Test numba standalone
* Get CI up
* dependency numba
* Explicit
* install numba module
* parallel test execution
* Fix complex
* Make optional
* Skip real only demos
* Reactivate ruff
* Start on unit testing (almost passing)
* Commit ufl, not kernel
* Add custom_data input
* Fix n_const computation
* Add array creation by (full) scalar value
* n_coeff computation
* Linear form + coefficient kernel
* Introduce number_coordinate_dofs to CommonExpressionIR
* Fix remaining shape computations
* Fix no coordinate element case
* Parametrize over scalar type
* remove in pwd
* Fix expressions template
* Add expression tensor size computations
* Add expression test
* Start fine tuning
* modernize cmdline test
* Merge with poisson test
* Licensing headers
* Resolve path
* Fix files system mess
* Language agnostic formatter name: c_format -> format
* Language agnostic formatter name: c_impl -> impl
* Language agnostic naming: c/numba_implementation -> implementation
* Language agnostic naming: c/numbaFormatter -> Formatter
* One more visualise fix
* Prepare alignment of expressions to C
* Integrals alost completely aligned
* Finalise cleanup
* checked
* Reactivate mypy
* Fix mypy
* Fix: tensor size
* Activate redundant check, drop uneccessary args
* Add coordinate_element_hash to expression
* Extend keys check and tidy of integrals
* Tidy up test_demos and allow for further extensions
* Add key checking to form
* Try with Path
* Add choices
* only import basix.ufl
* type hints
* fixes
* no self
* derived
* more
* .
* +1
* format
* race condition on windows?
* No subprocess for FFCx call - should result in accurate coverage reports
* ruff
* Revert for demos, cwd more important than coverage
* Update test/poisson.py
Co-authored-by: Michal Habera <michal.habera@gmail.com>
* Drop user defined import
* Move --language option to options.py
* Fix: size of tensor, extend test to tensor valued expression
* off by one
* int
* mypy
* Get type info from formatter - use _dtype_to_name logic
* mypy
* ignore
* format
* Apply suggestions from code review
Co-authored-by: Jørgen Schartum Dokken <dokken@simula.no>
* Add docstrings and types to integrals
* String/comment formatting
* mypy
* Raise bessel
* Introduce _format_comment_str
* docstring
* Docstring
* We do need bessel :)
* Remove API breaking chane with suffixes
* Tidy
* last one?
* Apply suggestions from code review
Co-authored-by: Michal Habera <michal.habera@gmail.com>
* Consistent factory_name with C
* Template of form was unallgined with C, rewrite
* NULL -> None
* Add warning to file template
---------
Co-authored-by: Chris Richardson <chris@bpi.cam.ac.uk>
Co-authored-by: Michal Habera <michal.habera@gmail.com>
Co-authored-by: Jørgen Schartum Dokken <dokken@simula.no>
commit 98058a4358f05e8a904392f4904534e8c3efa84b
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Dec 7 12:15:39 2025 +0100
Reactivate check
commit d7ca09f269e16537e58842fd243def4f659615ce
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Dec 7 12:05:43 2025 +0100
Form implementation
commit dacae4519bbee8cfb6a475c4d36a30f9b22488a8
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Dec 7 11:19:10 2025 +0100
Move macro definition to file template
commit f4bcbbf2de55f857bcaee7a5edd4bde65a6159d4
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Dec 7 11:15:49 2025 +0100
Add cpp option
commit 04d36c289113b1ad8d8a9772180bc385bbb87c85
Merge: e1b886a3 880c4485
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Dec 7 11:10:11 2025 +0100
Merge branch 'schnellerhase/copy-chris/languages-3' into schnellerhase/copy-chris/languages-3-cpp
commit 880c44855c1e366981c26aa42f246d4ae09ed668
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sat Dec 6 14:35:49 2025 +0100
Revert for demos, cwd more important than coverage
commit c808bfd9444f6cc52382ae2f81ae7a03fa2a97bb
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sat Dec 6 14:29:28 2025 +0100
ruff
commit e196d8690902a6d7ab6312adb636b5422ee1a325
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sat Dec 6 14:27:35 2025 +0100
No subprocess for FFCx call - should result in accurate coverage reports
commit e1b886a325f7a8bf060ba71ae7277de4b88523ff
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sat Dec 6 14:17:13 2025 +0100
xdist and I/O seems to be buggy (noted in other occassions as well)
commit fea71db4e6427e6593d9947bdf8e5d6ce96ec6cc
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Tue Dec 2 21:39:38 2025 +0100
Add __restric__/__restrict
commit 32e5f66959e538416b840825c64649f4e2ce5d43
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Mon Dec 1 09:22:39 2025 +0100
race condition on windows?
commit 2b2fab44142afeab760ebb4aaa089e7cd3e2f51c
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 18:24:25 2025 +0100
format
commit 43c46d280bb636d8e47c8084e007435793d2d18b
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 18:19:39 2025 +0100
+1
commit fcb563628653e2e8237c8449e71c7cbe8f26eabc
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 18:16:25 2025 +0100
.
commit 3eeb26d25f08ec2ffd2749710710e60ac2b1a0ad
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 18:11:46 2025 +0100
more
commit ff6498c6cfc927ee83fd75bc5ef16a101187870f
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 18:03:03 2025 +0100
derived
commit fa455317cccccd453088deb03456305245444b80
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 17:59:36 2025 +0100
no self
commit 4dc78afccda0ed94385fffeb3ddf6b649bdd4a03
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 17:56:57 2025 +0100
fixes
commit d234b84adfe7b23d72d12dbdc68f7ed9c5349c4b
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 17:49:21 2025 +0100
type hints
commit 85464377169ed745bca65a75aa8d60ee34de1ecc
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 17:17:50 2025 +0100
only import basix.ufl
commit a45b46412b23f951a239362b62b8c310c1637fc5
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 17:15:53 2025 +0100
Add choices
commit 8b4682f07b71ca998c215882f94496e68955182d
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 17:09:59 2025 +0100
some more
commit 64ca4e6b719999eb3303dca6a92bad571c7a2313
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 16:45:54 2025 +0100
std:: fixed width types
commit 89c254e0e1c893aa8ae0388c355a03f4d636679f
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 16:36:50 2025 +0100
passing compiles?
commit f4d30b3557fceab6b5440fb465f189d503432382
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 16:20:32 2025 +0100
Add compile test (at least to PCH)
commit 6b69597bf09bfe1a0c0192c8a4dd70ec83255fa7
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 15:58:38 2025 +0100
Add cpp package
commit 48a9a1e024eaa7abafa2eb533b5d86a2c743b02f
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 15:50:33 2025 +0100
Add Cpp demos test (generation only)
commit 8bbe720e5ed36d712a05b5d4501a70a97f63384d
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 15:50:16 2025 +0100
Update to new interface to get demos to pass
commit 39c9cc6b5d2c8a693fe03f072bb600fda23927a6
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 15:28:08 2025 +0100
[tmp] no mypy
commit 85e19a3cbdf028e64941011d45675b2fd8a53b57
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Sun Nov 30 15:25:42 2025 +0100
Copy @chrisrichardson/languages-3 cpp/ files
commit ca6a9e865d9852569e640f365abfc88df6d3fec8
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Nov 28 18:22:51 2025 +0100
Try with Path
commit 52491240ad4720d5e0447a0588ae2068cdbb1fb1
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Nov 28 15:28:37 2025 +0100
Add key checking to form
commit 021a603794e8a6bac296c036580236d425fbf822
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Nov 28 14:51:18 2025 +0100
Tidy up test_demos and allow for further extensions
commit 48bd21f846983e301d4404a620dc9f8398608a60
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Nov 28 13:55:42 2025 +0100
Extend keys check and tidy of integrals
commit cab8da109f702550908b87fcd49c07a8381e15bc
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Nov 28 13:42:01 2025 +0100
Add coordinate_element_hash to expression
commit ffdd3c63ef8ff13cec72d6abcfad3aa806b67011
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Nov 28 13:37:43 2025 +0100
Activate redundant check, drop uneccessary args
commit 161ad40bc2c4fbf225210218833c7d6956ab7eb1
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Nov 28 13:33:35 2025 +0100
Fix: tensor size
commit 664bb1fc091576a93c02af8946a8bc3a98da0563
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 20:55:39 2025 +0100
Fix mypy
commit f6be02bb8552013d628d937fc1b0fc99852b4cd1
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 20:45:29 2025 +0100
Reactivate mypy
commit 07a7e141e52996baeee498aff35cdc7fbc57b3c1
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 20:42:24 2025 +0100
checked
commit 0bff1fc1d3245bce0f2101ca11eb0abf65a16f6c
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 20:31:40 2025 +0100
Finalise cleanup
commit 77ac932c8a4086f64864bce875bd552df1c876f6
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 20:19:01 2025 +0100
Integrals alost completely aligned
commit 77280a81925e868dfdf0ab8fb6bc3b26b28f7d85
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 20:04:05 2025 +0100
Prepare alignment of expressions to C
commit ec1f538aa174d6dcb3f3607fe3ab933b60a41030
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:42:51 2025 +0100
One more visualise fix
commit 2774e7c7adfab1c0513e68bc40b9b497c6c8d2dc
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:40:05 2025 +0100
Language agnostic naming: c/numbaFormatter -> Formatter
commit 1fc494422923b18f2cea185bad06f9c6f8c0323d
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:37:07 2025 +0100
Language agnostic naming: c/numba_implementation -> implementation
commit 098328dc7910312d689e59003469cf19bc19bbb7
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:34:46 2025 +0100
Language agnostic formatter name: c_impl -> impl
commit 4e3b2bdf94a5dacbe3eeaaccbcabde0cd98414ba
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:33:27 2025 +0100
Language agnostic formatter name: c_format -> format
commit 70552cffa8506bd2888e5fa73fc60a24e2965577
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:24:53 2025 +0100
Fix files system mess
commit 453d15fab4bb21a77e9a3464b65681063762b41b
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:07:52 2025 +0100
Resolve path
commit 1bfe3324f583911233e68d05f5be68010d363bfe
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 19:01:06 2025 +0100
Licensing headers
commit 8730fa54382307d8ca1d48b26be81afc3f63d409
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 18:49:09 2025 +0100
Merge with poisson test
commit e6333eb9139447c5c514ee7946900b588ca0d138
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 18:46:42 2025 +0100
modernize cmdline test
commit dd0f0738ab0c0fb8e92d226b88ccdd6c9c8f9499
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 18:35:47 2025 +0100
Start fine tuning
commit b4f01ded0ca82040b8fe17d90abc37ca86690ddb
Merge: d3e1d35d 818267a4
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 18:13:56 2025 +0100
Merge branch 'main' into schnellerhase/copy-chris/languages-3
commit d3e1d35da99f88208798ae052cf2cf34b96fd952
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 18:13:43 2025 +0100
Add expression test
commit 8576e6b2c25eeb08ab988cea0f85a21132362a56
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 18:13:30 2025 +0100
Add expression tensor size computations
commit b146cfa0b2c912da060412fbdafb96418d733038
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 18:11:05 2025 +0100
Fix expressions template
commit 0761b7089b46566187456f83fd37751a6e965ed7
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 17:25:31 2025 +0100
remove in pwd
commit 818267a4f538d0eeab1afb54274b2580d2dbbaa0
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu Nov 27 16:24:12 2025 +0000
Bump actions/checkout from 5 to 6 (#799)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 9ed41a1b3d25c043da054175b3e4ae90d0e3b1d7
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 17:12:17 2025 +0100
Parametrize over scalar type
commit 2942ce75a4a522de8a8a58d34db63352ffdad576
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 16:41:17 2025 +0100
Fix: cmd-line test (#800)
* Fix: cmd-line test
* Fix: ctest parallel level
* mpich?
* Not explicitly
* 🧙 @michalhabera
commit e0fc38518ef5d677d3cc6f91b296d733c80f9c96
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 16:00:59 2025 +0100
Fix no coordinate element case
commit 67c1522b2030f9691a37bf32a068e89ca2b125a1
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 15:55:02 2025 +0100
Fix remaining shape computations
commit 6233d19f6556b5d230d33034c4b15f1a99a7a587
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 15:52:18 2025 +0100
Introduce number_coordinate_dofs to CommonExpressionIR
commit e02c4af654fbb757934a0a98dd0c10852e55e360
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 15:08:19 2025 +0100
Linear form + coefficient kernel
commit be5f6b54e0d72b9efa99ccf512a68abbcb0332ee
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 15:08:09 2025 +0100
n_coeff computation
commit 5b9253af53c9f73dfe06b7c936a6e7d853b4a0ee
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 14:22:18 2025 +0100
Add array creation by (full) scalar value
commit 09a0576abe31dd656adb1c1c0817f2c8e92d848b
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 14:03:42 2025 +0100
Fix n_const computation
commit f7d308bdb47730247de463f234b969f138759498
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 13:53:44 2025 +0100
Add custom_data input
commit 655d92dd757b25178e182d0fb79e8ad0e6720b7d
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 13:49:15 2025 +0100
Commit ufl, not kernel
commit f85afdaad30665c53f0f84365f7ae9c875300118
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Nov 27 13:45:10 2025 +0100
Start on unit testing (almost passing)
commit bd1d9330f41cb89480973299446b179418c782fe
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 22:29:09 2025 +0100
Reactivate ruff
commit c4aeb22e82063def7f64cc6fb1b9a6c074229538
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 22:09:29 2025 +0100
Skip real only demos
commit 96eafeee81e9e74da3556da829190cd046753289
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 22:01:48 2025 +0100
Make optional
commit 1420eb198ccfa0ec7ebaaff8a14a56fbb68d0c3e
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 21:57:42 2025 +0100
Fix complex
commit 1543c5e3ab1172ffe624c17a0cea8ece612ae743
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 21:48:21 2025 +0100
parallel test execution
commit 4724e1ac5a63f0ec45b11949ef1622948fe1728b
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 21:43:01 2025 +0100
install numba module
commit b98b94514b6b30fd289564b2712b439c13980c9f
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 21:29:46 2025 +0100
Explicit
commit 336332484ca02b36baffb8c752453f7106e33bf9
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 21:18:33 2025 +0100
dependency numba
commit 5b3c7ad132d843ebdac2f61fcdae780ebc92ece8
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 21:04:58 2025 +0100
Get CI up
commit d651099a32163a31e94d9d0a969da381fb20f20a
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 20:45:53 2025 +0100
Test numba standalone
commit a2079c37a842b8d544dc4866817aed78f18cb184
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 20:41:04 2025 +0100
add __all__
commit 6bacc682e56410155b384042ec2cd26ce477aabb
Merge: 1c3e77dc 957c7b41
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 20:34:09 2025 +0100
Merge branch 'main' into schnellerhase/copy-chris/languages-3
commit 1c3e77dc959b7dcdcf62756df4f688af52d09968
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 20:32:39 2025 +0100
ruff
commit 218ce8dfd310b1916ed4392dc0d81917ea0c7dc6
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 20:32:28 2025 +0100
drop cpp/
commit 8b73bc3789e1ad8596e38888523df8455b050982
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 20:26:07 2025 +0100
Start with numba
commit a41f7d7eae0f6c68b0ae5791137982f698911f98
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 18:29:04 2025 +0100
[tmp] no ruff
commit 2f3c3d5ca99ca84ff5e1d646bc9c8bd0abd835e3
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 18:26:21 2025 +0100
[tmp] no mypy
commit 9c2ad9d804a6f75dab4cc4fac2114bb3fc32dfa6
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 18:03:01 2025 +0100
Fix
commit 2134b3640826a80391ee89923dda54e2c508f7ed
Merge: aacc715c 250af026
Author: schnellerhase <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Nov 26 17:35:05 2025 +0100
Merge branch 'main' into schnellerhase/copy-chris/languages-3
commit 957c7b4154b10c73516e94851c60286c9279cdad
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Thu Nov 13 16:58:12 2025 +0100
Bump UFCx version and rethink numbering (#798)
* Bump UFCx to 0.11.0
* Rethink UFCx version number construction.
* Try using #include <stdbool.h>
commit 250af0264dabba8414aacde0d1fa73f77d6ed683
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Mon Nov 10 14:27:29 2025 +0100
Fix regression in integrals with same quadrature (#797)
* Add test illustrating issue
* Fix overwriting of integral rule for multiple integrands
commit f56f9bff35f4d4962f86e8d13c6bf4e480b2d2c2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon Oct 27 22:21:24 2025 +0100
Bump actions/download-artifact from 5 to 6 (#795)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit e319108d6baf1cb1cc142271ed7ff13d1c2119c1
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon Oct 27 22:21:11 2025 +0100
Bump actions/upload-artifact from 4 to 5 (#796)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 54ef0b10aa3869af935fa8d9aa78a0fbcdf45632
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Oct 23 14:21:56 2025 +0200
`AbstractCell` members are now properties (#789)
* Adapt to cell members now properties
* Change ufl branch
* One more
* Change UFL branch for dolfinx CI
* Adapt demos
* Last?
* Change ref branch
* Apply suggestions from code review
commit 930bd1509de4cce8fa36769cc3b7e3c9031021fc
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Tue Oct 21 21:31:44 2025 +0200
Typing fixes (#794)
commit 27fcb62394324853f72374fd8581a8e1236f09bd
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Tue Oct 21 20:02:05 2025 +0200
Bump version and reset CI (#793)
commit 6ea4f22941dfe278c1308cddefad61aae5fc3b8e
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Mon Oct 13 17:50:52 2025 +0200
Update spack.yml (#791)
commit 56e7eaaa8ca0b0c160661dfa2ef96eb13bb35fc7
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Wed Sep 17 10:29:07 2025 +0200
Diagonal assembly of matrices (#783)
* Note quite working for pre-computed factors
* Add 'insert_rank` to ensure that we can reset search after one input
* Better modifications
* Remove indices after getting argument factor
* Fix code, only generated code that should really change
* Spelling + mypy
* Remove visualize
* Another visualise
* Rename option to part for future extension
* Handle linear forms when present in FFCx files when diagonal is passed in
* Work in mixed element support
* Add mixed element test
* Fix mypy
* Generalize test a bit
* Simplify code for the ufl extract blocks changes
* Point to ufl branch
* Use zerobaseform instead of 0
* Correct typehint
* Ignore type
* Switch windows branch
* Ruff compliance
* Apply suggestions from code review
* Revert UFL branches
* Last revert
commit 3f46df142908f639394d0fe842779154ab1a65cb
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Thu Sep 11 12:23:57 2025 +0200
Ruff formatting (#788)
commit 167b834c638ec7a32b6116862d7d468ec9a5a25f
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Wed Sep 10 07:49:46 2025 +0100
Update Spack CI (#786)
commit aead652c6cd3aee703e371d75df213169a697dd4
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue Sep 9 03:45:16 2025 +0000
Bump actions/setup-python from 5 to 6 (#784)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 251142443c3ec645aee2ea9d76889bc6460bdffe
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue Sep 9 04:44:41 2025 +0100
Bump actions/github-script from 7 to 8 (#785)
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 94261e42adf7e2755a6961ac1349237bc6a9a25b
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Sep 4 13:11:42 2025 +0200
Drop Python 3.9 support (#782)
* Raise minimal Python to 3.10
* Drop 3.9 from version matrix
* Resolve pending 3.9 TODO
* Apply safe ruff fixes
* Apply unsafe ruff fixes
commit f6a7e819f8c9b15ae8175cccef5839e2e381de38
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Fri Aug 29 10:54:09 2025 +0200
Codim 2 coupling (#731)
* Working towards 3D-1D
* Add 3D-1D tabulate_tensor_support
* Update test
* Fix vertex logic
* Need to figure out permutation test
* Extend to 2D-0D and use updated UFL nomenclature
* Revert ridgevectors to edgevectors
* MOre ridge->edge
* Ridge->edge in docs
* Correct docs of ridge jacobian
* More reversion
* More ridge reversions
* And more
* More reversions
* Various mypy fixes
* Revert renaming
* Rename _E to _R
* Fix docs
* Add test
* Pass null ptr
* Add back lost test
* Add docs
* Fix various type-hints
* Add void ptr to 2D test
* Ruff formatting
* Add type hinting and standard ridge integral test
* Ruff
* Fix typo in doc
* Fix index name change
* Ruff + mypy
* Merge with main
* Add back newline
* Add back newline
* Mypy + newline
* Add back some type ignores
* Split fixme
* Minor suggestions
---------
Co-authored-by: Joe Dean <jpd62@cam.ac.uk>
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
commit 1a261c061ce9f7babe315110057e2d45be12a8cd
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Aug 29 09:11:57 2025 +0200
Fix FFCx swallows all warnings (#781)
* Unpin scipy
* Adapt to cmake changes
* Only serial
* Remove suffix
* Run pytests with -W error
* ufl_domain -> extract_unique_domain
* Simplify job
* ruff
* revert
* Expect warning
* Custom UFL branch
* New license format
* Bound setuptools
* expect
* format
* Bound setuptools on all python versions
* revert
* coverage >= 7.0.0
* Also use branch on windows
* Only capture warnings in logger if run standalone
* Revert branches
---------
Co-authored-by: Jørgen Schartum Dokken <dokken@simula.no>
commit c38fec9559dadd514f1cf470664d3306d1471af0
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Aug 29 08:46:11 2025 +0200
Fix warnings triggered from within FFCx (#780)
* Unpin scipy
* Adapt to cmake changes
* Only serial
* Remove suffix
* Run pytests with -W error
* ufl_domain -> extract_unique_domain
* Simplify job
* ruff
* revert
* Expect warning
* Custom UFL branch
* New license format
* Bound setuptools
* expect
* format
* Bound setuptools on all python versions
* revert
* coverage >= 7.0.0
* Also use branch on windows
* Revert branches
Co-authored-by: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
---------
Co-authored-by: Jørgen Schartum Dokken <dokken@simula.no>
commit 0a5848704c8dea934a6ce530bd95df338476776a
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Fri Aug 29 08:24:38 2025 +0200
Fix 0D integrals. (#772)
* Fix 0D integrals.
Reported at:
https://fenicsproject.discourse.group/t/block-form-fails-with-1d-mesh-and-hdg-scheme/17866
* Remove breakpoint
* Add test
* Some ruff formatting
* Explaination
* Fix test for windows
* Remove newline
* Ruff
---------
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
commit 9dcefc614b4b5f82ced48edc80fcd31f5389a6df
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Thu Aug 28 12:42:43 2025 +0200
Unpin scipy (#779)
* Unpin scipy
* Adapt to cmake changes
* Only serial
* Remove suffix
commit 3e0bae285053abac9e4a2a73c566b3813fabf986
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Aug 22 09:22:10 2025 +0200
Reactivate `mypy`'s `attr-defined` checking (#778)
* Remove ignore attr-defined errors
* Apply/remove somge ignores
commit a19a44fbc6b9c80676fc420edb9834aad51a4cb0
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed Aug 20 21:36:17 2025 +0000
Bump actions/download-artifact from 4 to 5 (#775)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 7e22ce066b741836961e6de963185bb0ad03875e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed Aug 20 22:34:47 2025 +0100
Bump actions/checkout from 4 to 5 (#776)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit a4744c17f7a0d1cb9406cdde1fb5acbeb1552ffd
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Wed Aug 20 22:45:34 2025 +0200
Vertex Integrals (#777)
* First draft
* Tidy test
* Parametrize over gdim
* Add rank 1 test
* Add vertex integral type
* Update ffcx/codegeneration/integral_generator.py
Co-authored-by: Michal Habera <michal.habera@gmail.com>
* Fix tolerances
* Combine for all ranks
* tuple for geometry
* Remove obsolete rank 0 test
* Complex tabulation
* Skip complex on windows
* Apply suggestions from code review
Co-authored-by: Jørgen Schartum Dokken <dokken92@gmail.com>
* Simplify numpy type to string
* Use vertex count from Basix
* Install pyvista
* Install networkx
* point-source -> vertex-integral
* Tidy comment
* Ensure discontinous integrands do not compile
* Update test/test_jit_forms.py
Co-authored-by: Michal Habera <michal.habera@gmail.com>
* Update test/test_jit_forms.py
Co-authored-by: Michal Habera <michal.habera@gmail.com>
* Chnage to atol - rtol not working with allclose(0, eps) situation
* Merge tests
* Revert
* Add merge_group
* Add more merge_group events
---------
Co-authored-by: Michal Habera <michal.habera@gmail.com>
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
Co-authored-by: Jørgen Schartum Dokken <dokken92@gmail.com>
commit 3a7171798e91c014a9973ddfa6b05b169f479288
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Wed Jul 2 12:38:46 2025 +0200
Fix scipy pinning (#773)
commit 4355b270bfb0f0e644791bec85d502c56ac81896
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Wed Jul 2 09:39:40 2025 +0100
Pin scioy version due to pyamg issue. (#771)
commit 20c64a71a859dced89e8a1de143460079944f448
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Fri Jun 27 12:38:06 2025 +0200
Fix mypy for newly typed ufl (#768)
* Disable attr-defined errors
* Disable -p
* Some fixes
* More
* Done?
* last
* Revert
* Fix type hints
* one more
* Update ffcx/naming.py
* Revert "Update ffcx/naming.py"
This reverts commit 72f374098420aef4d2e09149f720472bd215ab26.
commit a5cf441af91206eb175a0725d0b3a197c41000cd
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Fri Jun 20 21:41:45 2025 +0200
Add rank and shape of constants to UFCx (#767)
* Add constant rank and size
* mypy update
* Add Constant data to ufcx
* Updates
* Fix for Windows
* Undo change
* Fix for Windows
* Lint
* Simplify
* Simplification
* Fix
commit e4fa16cb4349f8b939ab12078224a5cb83b4b08b
Author: Michal Habera <michal.habera@gmail.com>
Date: Fri Jun 13 12:15:37 2025 +0200
Fix and test for coordinate free expressions (#766)
* Add a fix and test for coordinate free expr
* Use f-strings, fix mypy
commit 2b8a7c6cd0f8414a695ccffac2fa79128d7fe040
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Thu May 1 07:21:19 2025 +0200
Mypy fix (#763)
* Fix mypy
* ruff
commit 712964e45a12b879d6013d2f798f0846522edb59
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Wed Apr 30 09:56:29 2025 +0200
Bump version. (#761)
commit 1ae63e92630936147dbb2169a088c625faff3cef
Author: Paul T. Kühner <56360279+schnellerhase@users.noreply.github.com>
Date: Sat Apr 5 10:51:50 2025 +0200
Improve `mypy` checking (#757)
* Add py.typed
* Add package flag to mypy check
* Activate 'warn_unused_ignores' mypy check
* Activate 'warn_return_any' mypy check
* Activate 'no_implicit_optional' mypy check
* Switch to override formulation to allow for partial fixes
* Activate 'check_untyped_defs' and 'disallow_untyped_defs' mypy checks on ffcx.*
* Adapt to new changes
* Extend CI testing to Python 3.13
commit 6cf08829e1bb8ae516a1d0c62e5b7a1e3befc3e7
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Mon Mar 31 21:16:29 2025 +0200
Start adding some typing and documentation (#751)
* Start adding some typing and documentation
* Type hints + various improvements and one bugfix
* Revert | to typing unions
* Fix typing
* Add flag
* More legacy typesetting
* Ruff format
* Fixes
* Apply suggestions from code review
Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
---------
Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
commit bb5bbbf7d26196d7fd993ad7646a6d498a04bce9
Author: Susanne Claus <110245821+sclaus2@users.noreply.github.com>
Date: Tue Mar 18 17:30:45 2025 +0100
fix dolfinx-tests.yml to reference main dolfinx (#758)
* fix dolfinx-tests.yml to reference main dolfinx
* retrigger checks
commit 238a28932685fa707536307a02cbc4acf56dd19d
Author: Susanne Claus <110245821+sclaus2@users.noreply.github.com>
Date: Tue Mar 18 15:45:41 2025 +0100
Add void* to tabulate_tensor kernel (#753)
* add void* to tabulate_tensor
* try to trigger CI
* try to trigger CI
* run ruff
* rename user_data custom_data
* add numba functions to obtain empty void* and conversion of numpy array to void*
* fix ruff check
* add line to remove noqa
* expand comment for numba intrinsic function
* add test to use a struct in C-function similar to tabulate_tensor using void*
* changes to custom data test for CI
* specify void* branch for dolfinx test in github actions
* trying to set dolfinx refs for ffcx testing for pull request
* incorporate review suggestions
* add void* argument to test_ds_prisms
---------
Co-authored-by: Claus Susanne <sclaus@Clauss-MacBook-Pro.local>
Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
commit 27dce3bbca7d19a6b8580296a6a19f724a0080fa
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Mon Mar 17 15:09:46 2025 +0000
Make ds integrals on prism/pyramids generate kernels for each facet type (#739)
* working on quadrature
* working on prism facet integrals
* progress towards ds on prisms
* store tables by integrand
* correct test
* update expressions
* ruff
* mypy
* mypy
* ufcx_vertex
* ruff
* ruff
* more ruff
* don't overwrite cell
* remove ufcx_cell_type enum
* ruff
* use basix cell type throughout rather than converting to/from string
* mypy
* set()
* make demo xfail
* handle "vertex"
* typing
* remove testing ipython embed
* fix merge
commit 008bd94c9080efb0270df9d96f94fad9651449ef
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat Mar 15 15:11:44 2025 +0000
Bump pygraphviz from 1.7 to 1.9 (#752)
Bumps [pygraphviz](https://github.com/pygraphviz/pygraphviz) from 1.7 to 1.9.
- [Release notes](https://github.com/pygraphviz/pygraphviz/releases)
- [Changelog](https://github.com/pygraphviz/pygraphviz/blob/main/RELEASE.rst)
- [Commits](https://github.com/pygraphviz/pygraphviz/compare/pygraphviz-1.7...pygraphviz-1.9)
---
updated-dependencies:
- dependency-name: pygraphviz
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 6aeb62c32c71ee4d0f87e64cb62f848587f6ddce
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Sat Mar 15 14:56:57 2025 +0000
ruff fixes (#755)
commit cbfc0f0ec5d30217e9e9c785f6b960ea53fb00b6
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Sun Feb 23 21:13:51 2025 +0100
Resolve jacobians from duplicate meshes (#733)
* Fix multiple jacobians
* add test that currently fails on main
* ruff
---------
Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
commit c78d7ea9801d5a4a04656ac29601acc71f6f3cf3
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Mon Feb 17 09:03:59 2025 +0000
remove xfail (#748)
commit c6aa5cbc8c2360b728c901f1f4e1f04f9ca377b5
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Sat Feb 15 16:40:51 2025 +0000
remove demos with trace elements (#747)
commit 985bc5148c47593cb72bcf8c116b21d9ce92418e
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Fri Feb 14 16:06:38 2025 +0000
Add geometry element hash to `ufcx_expression` (#746)
* Work on cmap hash
* Add cmap hash for Expression
* Remove comments
* Clean up
* Simplification
* Improve readability
commit 4d4e10e45d4e2ffd62126a5d45e699f587ceb640
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Fri Feb 14 14:12:52 2025 +0000
Add check for coordinate element hash (#745)
Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
commit dc608157e86ea4dd9876f3c98ec00ca36c8c9ac4
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Fri Feb 14 13:46:13 2025 +0000
make demo xfail (#744)
commit e5f11aa3b4169a08a567180d491c6418cbd33b14
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Wed Jan 15 13:37:20 2025 +0100
Bump ubuntu and add blas (#741)
* Bump ubuntu and add blas
* Add lapack
* Update ruff formatting
* add cron job schedule
* Revert matrix strategy
commit eb8407b36d22dfbc74a850c786be49c2635633b2
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Fri Dec 20 14:34:53 2024 +0000
get vertex quadrature from basix (#736)
* get vertex quadrature from basix
* Update ffcx/ir/representation.py
correction
* Update ffcx/ir/representation.py
Co-authored-by: Jørgen Schartum Dokken <dokken@simula.no>
* )
* ruff
---------
Co-authored-by: Jørgen Schartum Dokken <dokken@simula.no>
commit 7164d8cfec00eec4dda0a8752819beeb7c0009dc
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Mon Nov 25 09:37:24 2024 +0100
Fix real return type (#728)
commit 712a57d2ed408bdecdbe4dd3ff9c622c6d496eee
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Fri Nov 22 15:41:46 2024 +0100
Add many geometrical quantities to ffcx expression generator. (#725)
* Add many geometrical quantities to ffcx expression generator.
Fix various errors in the definition of geometry tables
* Add some tests and remove expressions that I don't think will be used or is sensible
* Rename to match ufl names
* Apply suggestions from code review
Remove test of facet det J
* Ruff formatting
* Simplify (#729)
---------
Co-authored-by: Michal Habera <michal.habera@gmail.com>
commit 3a6eb07ab6936adf496c95985594c2945ca52881
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Fri Nov 22 15:31:00 2024 +0100
Update windows and mac CI and updates for ruff (#730)
* Update pythonapp to check for failing test
* Add get-cmake fix
* Remove pkg-config installation
* Add ruff updates
* fix visualize formatting
commit 2ad24229c91e2a058ffb9f8bc5f4b9cf81f04ee5
Author: Francesco Ballarin <francesco.ballarin@unicatt.it>
Date: Sat Nov 2 12:16:47 2024 +0100
Upload to coveralls and docs from CI job running against python 3.12 (#726)
commit 0d3b9f818208fb15fec258925119ec3518066dfe
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Sun Oct 13 07:33:35 2024 +0200
Reenable Windowa test (#724)
commit 91ddadb82a19cd182d23cd22e81ee0268330b7ec
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Sat Oct 12 20:06:45 2024 +0200
Move to pypi trusted publishing (#718)
* Move to pypi trusted publishing
* Tidy.
commit c6428f60edac7a281a794344ab7a12919cbbc974
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Oct 11 15:54:18 2024 +0200
Bump actions/github-script from 6 to 7 (#722)
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v7)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit f8bb9a745bc926a417b06918b553caa778c7b93d
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Fri Oct 11 08:52:16 2024 +0200
Add dependabot config. (#721)
commit 6e22c5d0cfdfdcb37e77caf4aabefd98e006715f
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Thu Oct 10 17:24:20 2024 +0200
Fix dependency versions (#720)
* Fix basix dependency version.
* And ufl.
commit e36cd00f81dd5d160dc91569b90615da83797f64
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Thu Oct 10 16:32:34 2024 +0200
Bump version number to 0.10.0 (#719)
commit b0f97347d16c0fd54cc8511d814089b808754950
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Mon Oct 7 12:00:17 2024 +0200
Remove quadrature permutation on element tables of codim-1 (#717)
* Do not add quadrature permutations for codim 1 interior facet tables, as the input has a consistent orientation from DOLFINx
* Ruff formatting
* More ruff
commit 8de75ef95f4d3446a2c0248f5d2b2eb2db815e6e
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Thu Jul 11 16:34:00 2024 +0200
Change to INTERFACE in C17 requirement for ufcx target (#710)
commit 3c97c346965813ed2ecb3a80c11ca860dcf5359e
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Wed Jul 10 20:46:32 2024 +0200
Export required C standard for UFCx header compile. (#708)
commit 20f0dbdf1cb97a6a280849536d1b94b959f0e0ca
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Mon Jun 10 21:21:17 2024 +0100
Update for UFL deprecation (#705)
commit 9d1c19bb640b0de4fee65df1b59b3f73107e803f
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Mon Jun 10 15:51:06 2024 +0200
Disable Windows test. (#704)
commit 2a0f480d969cbbeeb9c2b99d0d20a1064a807beb
Author: Joe Dean <jpd62@cam.ac.uk>
Date: Thu Jun 6 14:30:52 2024 +0100
Add support for mixed-dimensional kernels (codimension 1) (#675)
* Get working without perms
* Tidy
* Add TODOs
* Add TODOs
* Check if mixed dim
* Permute tables
* Ruff
* Coeffs
* Try with mt
* Handle coeffs
* Tidy
* Ruff
* Change to codim
* Ruff
* Add is_mixed_dim
* Tidy
* Don't permute facet element
* Simplify
* Tidy
* Use domain
* Add comment
* Compute reference
* Split data
* Fix test
* Docs
* Docs
* Remove TODO
---------
Co-authored-by: Jørgen Schartum Dokken <dokken@simula.no>
commit 95daf8feac968cd46f240fd505d834978011bb27
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Wed Jun 5 16:23:05 2024 +0100
Type updates from Basix (#703)
* Type fixes
* Updates for Basix
* Small revert
* Small fix
commit aacc715c74ee19b36029d58d8b5da6975209229a
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Thu May 30 15:18:38 2024 +0100
Remove wrapper
commit 705254185cceba78ab98dfb52a89d21cf005f46c
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Thu May 30 14:55:01 2024 +0100
fixes
commit 584d64879b3ecb52a7ee21167c64187c212e0cfe
Merge: 018bc9ef d324f380
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Thu May 30 14:21:28 2024 +0100
Merge branch 'main' into chris/languages-3
commit d324f3808ebb828b71cae4afec76870417b1d0e3
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Wed May 29 20:56:40 2024 +0200
Remove zero Lexpr check (#701)
* Remove zero Lexpr check
* Update lnodes.py
commit cc703a436a811087ecc6a344782f52cb0765e2ab
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Tue May 28 11:15:49 2024 +0200
Fix access in assert (#700)
commit 018bc9efe2560bc5530aa8e8e2536a36cf6861f8
Merge: f3161109 17045ea9
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue May 28 09:38:35 2024 +0100
Merge branch 'main' into chris/languages-3
commit 17045ea9f8c2330bde518976175ceb95b68b7b5d
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Mon May 27 09:02:22 2024 +0100
Update for DOLFINx CI (#698)
commit 86a8cc2db8b4ea1f534f77ec9803d17f5ca50240
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Wed May 22 16:51:45 2024 +0200
Add Windows CI (#689)
* Whitespace.
* Try Windows.
* try without graphviz
* Refine optional dependencies.
* Verbose.
* Check pygraphviz exists
* Not clear why this fails on Windows.
* Update conftest.py
* Remove to debug on win32
* Ruff format.
* Complex number support is optional part of C11 standard.
* Define __restrict for MSVC.
* Invert logic
* Few notes.
* Works, hacky.
* Format.
* Fix.
* Adjust code generation.
* Throw NotImplementedError on Windows.
* Attempt jit form pass on Windows.
* Ruff check fix.
* More adjustments to form code gen.
* Add proper restrict keyword for MSVC.
* Compile in C17 mode.
* Make compile args default empty list.
* Make sure it enters the cache string.
* Don't modify list in place.
* Don't link m on windows.
* Ruff check fix.
* Windows needs type on empty list.
* Expected fail on other complex tests.
* Throw error later just before compile.
* This macro doesn't exist when compiling in C++ mode.
* Fix raise.
* Fix bug.
* Fix test.
* Try running demos on Windows.
* Try this.
* Fixes.
* Ruff format.
* Use c17.
* Ruff format
* Disable this error.
* Ruff check.
* Typo.
* Don't see necessity of this.
* Tidy.
* Make one test use numpy dtypes.
* Make sure it works with numpy dtypes.
* Try this logic.
* Try this logic.
* Accepts standard options.
* Should work also on Windows.
* Not true.
* Does support these options, easier to remember.
* Also try with clang-cl
* Fix.
* Update pythonapp.yml
* Add replacement for SOABI on Windows.
* get_config_vars potentially returns None, typing error.
* Use CC environment variable or generic Unix cc symlink.
* Type hints for these public facing methods.
* Fix mypy errors.
* Typo.
* Get optional dependencies installed on Linux.
* Improve test error messages.
* Fix.
commit b83e4a87a6ac2816bf324cd5dfc5df086deabc98
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Tue May 21 13:40:30 2024 +0200
Unify Expression and IntegralIR with a common base (#680)
* Unify Expression and IntegralIR with a common base
* Add future imports
* Update ufc interface
* Test with modified dolfinx
* Apply suggestions from code review
Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
* Remove unused IR
* Ruff format
* Revert branch
---------
Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
commit 27d08965ab8974f4a773ffe49cfe39f65939d686
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Sat May 18 16:20:22 2024 +0100
Re-enable mypy checks (#697)
commit a0e62567881b3045e21229c7008f378a8d8f8f80
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Mon May 13 07:20:17 2024 +0100
Disable Spack self test (#696)
Something seems to have changed in Spack.
commit f316110903f74fd36438c3554d194a2ca604e80a
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue May 7 13:29:56 2024 +0100
Formatting fixes
commit 0d4d4b4a9860c65276a19c8a6d0e5ad1391c2e56
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue May 7 13:18:06 2024 +0100
updates
commit c29a1f9f11b0b101b265d76b8fc77b7e7e18e6de
Merge: 4b3d85cc 210ae0f8
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue May 7 13:06:38 2024 +0100
Merge branch 'main' into chris/languages-3
commit 4b3d85cc70b9b01d3a9bde1a83a0fbbd6b7d6d75
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue May 7 10:00:15 2024 +0100
Add suffix support
commit 210ae0f8a73d7c4b41ea64d3ef532b8846597fad
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Mon May 6 10:11:36 2024 +0200
Break system packages (#695)
commit d2b269e1d3e9090d32a2bb8aa38321304af4269c
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Fri May 3 12:04:19 2024 +0100
Use UINT64_C(*) instead of *ull (#692)
* use UINT64_C
* ruff
* ruff
commit 32320ef1123030431f9a6b9cc013bd161db7a725
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Thu May 2 16:21:09 2024 +0100
Write the Basix hash into generated code (or 0 if the element is not plain C++ Basix element) (#688)
* write C++ hash into code, not result of hash()
* ruff
* remove L
* long long?
* uint62_t
* u
* ruff format
* add _hash to names
* ruff
* ULL
* ULL -> ull
commit 958b5f0a6b6256512a7b574efa93732a68da7f6e
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Wed May 1 19:22:22 2024 +0100
Remove ufcx_shape and ufcx_quadrature_rule (#691)
* remove ufcx_quadrature_rule
* remove ufcx_shape
commit 8eb372f3a87bddcbb1c35c5c2100e4691b3b2086
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Wed May 1 15:16:51 2024 +0100
Remove ufcx_function_space (#690)
* remove geometry_* from ufcx_function_space
* remove now unused info from ir
* remove ufcx_function_space (!)
* remove ir for function spaces (!)
commit f25652a449e2079fca8c53237157d337c402fb5b
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Tue Apr 30 21:52:37 2024 +0200
Revert "Remove to debug on win32"
This reverts commit 5a220bb66894e7cc21291421c6c9b061acd1396f.
commit 5a220bb66894e7cc21291421c6c9b061acd1396f
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Tue Apr 30 21:45:53 2024 +0200
Remove to debug on win32
commit c8ac53a2d90c71aaa4550e5b64d5e09d38b3c51b
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue Apr 30 13:56:11 2024 +0100
Add numba
commit 620321a4c5545a5389c2091bb9217c096e9144a6
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue Apr 30 12:19:06 2024 +0100
Fixes for ruff
commit 77b3f02386cae8c7292f3c673501e650013bdb64
Author: Chris Richardson <chris@bpi.cam.ac.uk>
Date: Tue Apr 30 12:04:28 2024 +0100
Updates to 'language' support
commit 644c09bc61822ffeb723c5a8291c25794092e3ae
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Fri Apr 26 17:41:55 2024 +0100
Remove ufcx_dofmap and ufcx_element (#681)
* branches
* remove element and dofmap
* basix main
* fstrings
* dolfinx main
commit b92af3ae08241138536d9dedff5453ed93768dcf
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Thu Apr 25 17:59:34 2024 +0200
Bump version. (#686)
commit 3975ad4dfcec341b3e51149f02530b867180abd4
Author: Jack S. Hale <mail@jackhale.co.uk>
Date: Thu Apr 25 08:47:47 2024 +0200
Kebab case build-wheels.yml (#685)
commit c0fa109566fdf3cfd114c29c95f8fe055f120a5e
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Tue Apr 23 08:52:18 2024 +0100
add symmetric to finite element (#684)
commit 52598a1bcc28d957c27e86f02daed58abe5b68c4
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Sun Apr 21 16:21:11 2024 +0200
Merge scoped sessions (#683)
commit 0721e0b45b113bcb57a7e16c188a4ed30d63fbc6
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Tue Apr 16 10:11:39 2024 +0100
Remove unused/unnecessary items from `IntegralIR` (#679)
* Remove tons of unused stuff from IR
* Format + remove more
* More IR clean-up
* Move factorization argument closer to where its used
commit 708bd53ba69a43fd30d5b8b3750ec350bbaa131d
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Tue Apr 16 07:33:28 2024 +0100
Adding more type hints and remove options when not used (#678)
* Adding more type hints
* Revert comment indentation
* Fix typo and add future import
* Modern typing
* Simplify quadrature rule extraction
* Ruff formatting
* Add type hints for lists in analysis
* Change quadrature degree=-1 into max estimated polynomial degree
* Remove trailing whitespace
* Change to actual numpy.dtype for input argument, as dolfinx sends in the numpy type, not a string
* remove str formatting
* Fix more dtype behavior
commit f2d044a358f8ab3c1fa28f47d29e06fc45ff5ccd
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Tue Apr 16 07:30:53 2024 +0100
Add type-hints to naming.py (#677)
commit 06957dbc7428256760a52a2a543eaca37a80bebf
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Wed Mar 13 17:51:49 2024 +0100
Fix a bug in Section equality check. (#674)
* Fix a bug in Section equality check.
Only add definitions of variable if unique.
Resolves https://github.com/FEniCS/dolfinx/issues/3102
* Ruff fix
* Add test failing on main
* Ruff formatting and future annotations
* Add back newline
* Apply suggestions from code review
commit 88871c5642dc3508302896f1bf81f479332145cc
Author: Jørgen Schartum Dokken <dokken@simula.no>
Date: Fri Mar 1 11:24:58 2024 +0100
Expressions on facets (#672)
* Start by handling entity-type of integral based on the dimension of the points sent in
* Add in reference normal in geometry tables
* Add test for facetnormal expression
* Ruf fixes
* Add error handling if wrong dimension is sent in for the evaluation points.
* General check for facet quantities
* Ruff formatting
* Update UFCX branch
* Update variable name
* Point to correct branch
* Address comments by Michal
* Ruf format
* Ruff formatting
* Rvert CI branch for DOLFINx prior to merge
commit 9b0320a119702eae65ab1a8b9a0997775298a888
Author: Igor Baratta <igorbaratta@gmail.com>
Date: Tue Feb 20 14:19:05 2024 +0000
Test `numba_ufcx_kernel_signature` (#671)
* add numba assembler test
* test signatures
* minor fix
* fix ruff
commit 7bc8be738997e7ce68ef0f406eab63c00d467092
Author: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Date: Sat Feb 10 11:24:25 2024 +0000
Remove information about physical cells from elements (#653)
* remove information about physical elements from ffc element
* branches
* update more tests
* update demos
* reference value shapes
* dolfinx branch
* Add value shape to function spaces
* adding value_shape[dim] to finite element
* write value_shape for each gdim into generated code
* move value_shape to function spaces
* flake
* move value shape to functionspace
* ruff
* fix merge
* ruff format
* branches
commit ef6c390ffef3580788acebd7dde4e3600b873778
Author: Michal Habera <michal.habera@gmail.com>
Date: Fri Feb 9 10:33:06 2024 +0100
Add default libm library (#670)
Co-authored-by: michalhabera <michal.habera@rafinex.com>
commit e9abf9e87ce4430eb241350eacb01e7bd9dfa236
Author: Garth N. Wells <gnw20@cam.ac.uk>
Date: Thu Feb 8 09:21:53 2024 +0000
Black formatting and ruff linting (#669)
* ruff formatting
* Remove config files
* Remove flake8 check
* Typo fix
* Updates
* Small updates
* Tidy up
* Match min required version to min CI version
* Remove double brackets
* Undo bracket change
* Tidy demo
Based on @chrisrichardson's work at
chris/languages-3Introduces an optional
numbabackend forFFCx. In particular the code passes through the sameC-function interface ofufcx.h, and therefore the standard assemblers ofDOLFINxare compatible.Important
This does not introduce a (non-optional) dependency on
numba- code generation is independent of compile.Tested functionally on a simple poisson problem, and generation across all demo files.
Generalises some naming schemes to separate language specific implementation from functional concept.