Derivative of JacobianInverse fails
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Riprodurre il fallimento con l'esempio Python, quindi esaminare ffcx/ir/elementtables.py, in particolare get_ffcx_table_values e build_optimized_tables, insieme a ffcx/ir/integral.py. Tracciare come viene prodotto derivative_counts per ufl.geometry.JacobianInverse e confrontarlo con le dimensioni delle tabelle disponibili. Il lavoro è completato quando la forma fornita viene compilata e assemblata senza l'IndexError.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
import numpy as np
import ufl
import dolfinx.fem
from dolfinx.mesh import create_mesh
from mpi4py import MPI
domain = ufl.Mesh(ufl.VectorElement("Lagrange", ufl.Cell("interval", 3), 2))
mesh = create_mesh(MPI.COMM_WORLD, np.array([[0, 2, 1], [2, 4, 3]]), np.array(
[[0.0, 0.0, 0.0], [0.25, 0.0, 0.0], [0.5, 0.0, 0.0], [0.75, 0.0, 0.0], [1.0, 0.0, 0.0]]), domain)
B = dolfinx.fem.TensorFunctionSpace(mesh, ("DG", 2), (mesh.topology.dim, mesh.topology.dim))
K = ufl.geometry.JacobianInverse(mesh).T
S = dolfinx.fem.form(ufl.inner(ufl.grad(K), ufl.grad(K)) * ufl.dx(mesh))
s = dolfinx.fem.assemble_scalar(S)
fails with
...
File "/usr/local/lib/python3.9/dist-packages/dolfinx/jit.py", line 209, in ffcx_jit
r = ffcx.codegeneration.jit.compile_forms([ufl_object], parameters=p_ffcx, **p_jit)
File "/home/ffcx/ffcx/codegeneration/jit.py", line 168, in compile_forms
impl = _compile_objects(decl, forms, form_names, module_name, p, cache_dir,
File "/home/ffcx/ffcx/codegeneration/jit.py", line 232, in _compile_objects
_, code_body = ffcx.compiler.compile_ufl_objects(ufl_objects, prefix=module_name, parameters=parameters)
File "/home/ffcx/ffcx/compiler.py", line 103, in compile_ufl_objects
ir = compute_ir(analysis, object_names, prefix, parameters, visualise)
File "/home/ffcx/ffcx/ir/representation.py", line 94, in compute_ir
irs = [
File "/home/ffcx/ffcx/ir/representation.py", line 95, in <listcomp>
_compute_integral_ir(fd, i, analysis.element_numbers, integral_names, finite_element_names,
File "/home/ffcx/ffcx/ir/representation.py", line 360, in _compute_integral_ir
integral_ir = compute_integral_ir(itg_data.domain.ufl_cell(), itg_data.integral_type,
File "/home/ffcx/ffcx/ir/integral.py", line 84, in compute_integral_ir
mt_table_reference = build_optimized_tables(
File "/home/ffcx/ffcx/ir/elementtables.py", line 346, in build_optimized_tables
t = get_ffcx_table_values(quadrature_rule.points, cell,
File "/home/ffcx/ffcx/ir/elementtables.py", line 108, in get_ffcx_table_values
tbl = tbl[basix_index(*derivative_counts)]
IndexError: index 4 is out of bounds for axis 0 with size 3
@mscroggs Any idea why most likely derivative_counts is wrong for this (a bit exotic) ufl symbol?
- Lingua principale
- Python
- Stelle
- 196
- Fork
- 47
- Merge medio
- 2g 9h
- PR unite (30g)
- 26
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à 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
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
Issue simili
-
URLValidator ignores an explicit empty scheme allowlistForse già presa @IlyaKhalafi l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
tortoise/tortoise-orm#2393 ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
frappe/frappe_docker#2046 ·
I maintainer di solito rispondono entro 1 giorno
-
Weekly link check failedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
AXI SMU SPEC
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
tenstorrent/tt-oca-harness#3556 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
microsoft/agent-framework#9946 ·
I maintainer di solito rispondono entro 1 giorno