Missing bessel functions
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Riproduci gli esempi con ffcx, quindi esamina il dispatch delle espressioni in ffcx/codegeneration/lnodes.py, in particolare ufl_to_lnodes, dove viene segnalata la ricerca mancante. Traccia come vengono gestite le funzioni matematiche esistenti e controlla i test o le fixture circostanti prima di aggiungere la copertura per BesselI e BesselK. Il lavoro è completato quando entrambi gli esempi vengono compilati senza un errore di ricerca mancante.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
We currently do not support bessel_I or bessel_K functions from ufl.
import ufl
import basix.ufl
c_el = basix.ufl.element("Lagrange", "triangle", 1, shape=(2,))
mesh = ufl.Mesh(c_el)
x = ufl.SpatialCoordinate(mesh)
J = ufl.bessel_K(1, x[0]) * ufl.dx
and
import ufl
import basix.ufl
c_el = basix.ufl.element("Lagrange", "triangle", 1, shape=(2,))
mesh = ufl.Mesh(c_el)
x = ufl.SpatialCoordinate(mesh)
J = ufl.bessel_I(1, x[0]) * ufl.dx
throws
root@dokken-XPS-9320:~/shared/adios4dolfinx/tests# python3 -m ffcx dd.py
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/root/shared/ffcx/ffcx/__main__.py", line 14, in <module>
sys.exit(main())
File "/root/shared/ffcx/ffcx/main.py", line 75, in main
code_h, code_c = compiler.compile_ufl_objects(
File "/root/shared/ffcx/ffcx/compiler.py", line 111, in compile_ufl_objects
code = generate_code(ir, options)
File "/root/shared/ffcx/ffcx/codegeneration/codegeneration.py", line 53, in generate_code
code_integrals = [integral_generator(integral_ir, options) for integral_ir in ir.integrals]
File "/root/shared/ffcx/ffcx/codegeneration/codegeneration.py", line 53, in <listcomp>
code_integrals = [integral_generator(integral_ir, options) for integral_ir in ir.integrals]
File "/root/shared/ffcx/ffcx/codegeneration/C/integrals.py", line 40, in generator
parts = ig.generate()
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 164, in generate
all_quadparts += self.generate_quadrature_loop(rule)
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 266, in generate_quadrature_loop
definitions, intermediates_0 = self.generate_varying_partition(quadrature_rule)
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 309, in generate_varying_partition
return self.generate_partition(arraysymbol, F, "varying", quadrature_rule)
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 342, in generate_partition
vexpr = L.ufl_to_lnodes(v, *vops)
File "/root/shared/ffcx/ffcx/codegeneration/lnodes.py", line 1127, in ufl_to_lnodes
raise RuntimeError(f"Missing lookup for expr type {optype}.")
RuntimeError: Missing lookup for expr type <class 'ufl.mathfunctions.BesselI'>.
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/root/shared/ffcx/ffcx/__main__.py", line 14, in <module>
sys.exit(main())
File "/root/shared/ffcx/ffcx/main.py", line 75, in main
code_h, code_c = compiler.compile_ufl_objects(
File "/root/shared/ffcx/ffcx/compiler.py", line 111, in compile_ufl_objects
code = generate_code(ir, options)
File "/root/shared/ffcx/ffcx/codegeneration/codegeneration.py", line 53, in generate_code
code_integrals = [integral_generator(integral_ir, options) for integral_ir in ir.integrals]
File "/root/shared/ffcx/ffcx/codegeneration/codegeneration.py", line 53, in <listcomp>
code_integrals = [integral_generator(integral_ir, options) for integral_ir in ir.integrals]
File "/root/shared/ffcx/ffcx/codegeneration/C/integrals.py", line 40, in generator
parts = ig.generate()
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 164, in generate
all_quadparts += self.generate_quadrature_loop(rule)
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 266, in generate_quadrature_loop
definitions, intermediates_0 = self.generate_varying_partition(quadrature_rule)
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 309, in generate_varying_partition
return self.generate_partition(arraysymbol, F, "varying", quadrature_rule)
File "/root/shared/ffcx/ffcx/codegeneration/integral_generator.py", line 342, in generate_partition
vexpr = L.ufl_to_lnodes(v, *vops)
File "/root/shared/ffcx/ffcx/codegeneration/lnodes.py", line 1127, in ufl_to_lnodes
raise RuntimeError(f"Missing lookup for expr type {optype}.")
RuntimeError: Missing lookup for expr type <class 'ufl.mathfunctions.BesselK'>
- Lingua principale
- Python
- Stelle
- 195
- Fork
- 47
- Merge medio
- 1g 5h
- PR unite (30g)
- 22
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di FEniCS/ffcx
-
Difficoltà 4/5 1-2 giorni Idoneità per principianti 38/100
I maintainer di solito rispondono entro 1 giorno
-
Scalarisation expands nested index structure superlinearly (reconstruct.py / valuenumbering.py)Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
housekeeping
Difficoltà 3/5 1-2 giorni Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
Interpolation expression supportForse già presa @jorgensd l’ha presa 202 giorni fa. Apertaenhancement generated-code proposal
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
FEniCS/ffcx#827 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Project submission:Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
slavakurilyak/awesome-ai-agents#845 ·
I maintainer di solito rispondono entro 1 giorno
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertadifficulty:2 enhancement good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
MakazhanAlpamys/Soup#2178 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
scverse/rapids-singlecell#854 ·
I maintainer di solito rispondono entro 1 giorno
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLForse già presa @ninglinLiu l’ha presa oggi. Apertaarea:frontend backend:slang bug direction:input
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalseForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 13 giorni