Skip to content

pyrucast v0.12.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 21:02
· 45 commits to master since this release

crates.io pyrucast 0.12.0 · PyPI pyrucast 0.12.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.12.0 — 09/11/2026

Ruptures d'API

  • mesh — all_quad devient prefer_quads, une préférence (330ae1a)
  • python — scalar accessors are properties; SubFiniteElementSpace.submesh(); mesh() one zone per subspace (0e547e9)
  • field support() one entry per zone; border and skin refuse a zone listed twice (1fe096b)
  • a field keeps its two coherence rules through every operation (ab66dfa)
  • NodeField::node_ids lists each node once in linear time (11d2b20)
  • fick — the direction index goes last in the oriented diffusivities (5f09178)
  • behavior — the rest state is explicit, prev is required (36ba940)

Nouveautés

  • doc — un garde-fou vérifie que chaque équation arrive intacte (08855d1)
  • mesh — structured meshers keep the quadratic degree; sweep closes rings (2c11e95)
  • viz — eight curve colours, told apart under colour-vision deficiencies (a2a45bf)

Corrections

  • book — 99 équations arrivaient abîmées à MathJax (2731f59)
  • py — Array a son troisième niveau d'affichage, dump() (2eaccab)
  • mesh — les paveurs en QUA9 gardent leurs triangles en TRI6 (e4cda09)
  • a node from another Coords is refused wherever it becomes an id (024b955)
  • one Coords per aggregate; fields gain support() and a scalar on the left (54cc329)
  • python — scalar ** field and -field on every field; SubNodeField.set_uniform (86313fb)
  • a node field refuses a POI1 support listing a node twice (423f43c)
  • matrix — a block refuses a support that repeats a node (9f57085)
  • matrix — an assembled matrix seals its blocks (d93a87d)
  • matrix — a lumped matrix carries diagonal blocks (c8079da)
  • solver — a cached factorization serves the method it was made with (380ade4)
  • model — has_behavior means a law, fespace a domain's subspace (c78dc5f)
  • truss — refuse any element but SEG2; the reduced rule is exact for affine functions (dcd6f68)
  • tutoriel — step 2 of the thermal script holds the bore at 250 °C again (0286b44)
  • viz — smooth field rendering subdivides a cell by its own degree (112a1b7)
  • viz — a field evolution's plot shows its title (b563cef)

Performances

  • field reductions count a shared node in one pass, read in place (fe707a2)
  • coords::displace writes in bulk, as displace_from does (01b97c1)
  • check compares every component of a node in one pass (01ff1bb)

Remaniements

  • coloring — keep only the node colouring that the drivers call (00e92fd)
  • matrix — drop dense and mul_dense, read a computed block nowhere (1bef024)
  • matrix — assemble is the one way to give a matrix its values (df24609)
  • matrix — a block operand of a Python sum cannot fail (2565df5)
  • mesh — no test nor allocation per node in the structured kernels (79f8321)

Documentation

  • book — l'introduction relue, ses premiers pas tracent une ligne (5e5ef34)
  • book — les premiers pas en Rust retrouvent leur ? (89879c8)
  • book — la correspondance Rust ↔ Python passe sous « Développer », relue (f73a86e)
  • book — l'installation distingue la version précompilée de la compilation (0ff627c)
  • book — les trois niveaux de listing passent dans le premier script (4bb27ba)
  • book — la formation devient le tutoriel (2df6cb6)
  • mesher — les tests ne citent plus maillage_test.py, disparu (0b53a97)
  • mesher — les mesures du maillage volumique, refaites sur maillage.py (c0a12d8)
  • book — installation — la compilation par pip est sans visu, le clone dans les commandes (9f0ce31)
  • book — l'aspect informatique, vu de Python (7e0a3bc)
  • book — « Mailler une géométrie » remesurée, après les opérateurs (fccfa5a)
  • book — le tableau des mailleurs 2D donne leurs types et options (26dd72d)
  • book — les objets au même niveau que leur vue d'ensemble (6d2015f)
  • book — un chapitre numéroté par partie, la vue d'ensemble en x.1 (f6a53df)
  • book — Coordonnées, décrite telle qu'elle est et vue de Python (a2495a7)
  • book — Nœud, vu de Python et décrit tel qu'il est (54c2713)
  • book — Agrégat, vu de Python et décrit tel qu'il est (7425a5e)
  • book — Maillage, vu de Python, caches et scellement compris (3097ca5)
  • element_type — the 3-D names are not Cast3M's (9fa98fb)
  • book — Champ aux points de Gauss, vu de Python et décrit tel qu'il est (33b4b00)
  • book — one title form for the object pages (e0a67e9)
  • book — Espace éléments finis, vu de Python et décrit tel qu'il est (34f7736)
  • REDUCED by its real uses, no history in docstrings, kernel without the store (b8729fa)
  • book — Champ, vu de Python et décrit tel qu'il est (f8f3cc0)
  • list the improvements left for later (835fffd)
  • book — Champ aux nœuds, vu de Python et décrit tel qu'il est (33faf7d)
  • book — Modèle physique, vu de Python et décrit tel qu'il est (a1dd92f)
  • model comments describe the code as it is (23301ad)
  • comments no longer describe the central store or older elements (8284fac)
  • comments name the Coords where they said "store" (aaa1765)
  • book — Modèle mémoire, vu de Python puis décrit côté Rust (559eb87)
  • handle locking rules and to_poi1 comments describe the code as it is (8ed764d)
  • SubFiniteElementSpace coloring comments describe its current callers (f455315)
  • book — Matrice, vue de Python et décrite telle qu'elle est (ecf82a5)
  • matrix — comments describe the code as it is (a8b733c)
  • book — the solver's paths, and what the matrix keeps of each (16f4d5d)
  • book — the seal named without a private method, entries now cited (3d98982)
  • book — Évolution, vue de Python et décrite telle qu'elle est (c3ba22c)
  • improvements — multi-variable interpolation, and who owns the out-of-range policy (a2aad3f)
  • book — physics overview, thermal, radiation, diffusion and exchanges (1a4b6a8)
  • book — mechanics pages, one plan per physics (3781297)
  • book — constraint pages, and the large-strain page as it is (0597d01)
  • book — element pages, one plan per element (c4dc7ff)
  • book — tables list their content instead of pointing elsewhere (fbf79ec)
  • tutoriel — meshing and thermal pages describe the current API (f92efc8)
  • tutoriel — first steps, what pyrucast does, Python for the scripts (5965e10)
  • tutoriel — the structured lug is meshed in HEX20, its hole by projection (edab970)
  • tutoriel — linear thermal chapter, with the steady state as its first page (5fab80f)
  • tutoriel — transient regime, with the heat flux at the last instant (2a1466c)
  • tutoriel — nonlinear heat — the lug radiates from its back face (19030e9)
  • compilation — check times with the release Python module (95d1b77)
  • improvements — the online book describes master, not the installed version (5973967)
  • tutoriel — the radiation comparison back on one eight-curve figure (58a87a0)
  • radiation — how a calculation treats it, and the secant alternative (8fb923d)

Tests

  • doc — the examples read entries and build blocks through their Result (51e7ab0)

Compilation et outillage

  • check — check_python installs the release module (1044250)

Divers

  • py — Array n'a pas de dump(), il n'est pas un objet pyrucast (ae02ea6)
  • Merge branch 'fix/mailleurs-qua9-all-quad' (3b83077)
  • Merge branch 'fix/foreign-node' (02711dd)
  • Merge branch 'fix/element-field-api' (819c465)
  • Merge branch 'fix/python-counts-fes-submesh' (d2ac1c7)
  • Merge branch 'fix/support-bijection-border-guard' (54838e4)
  • Merge branch 'fix/field-pow-neg-set-uniform' (b5a0c64)
  • Merge branch 'fix/field-coherence' (f6a211d)
  • Merge branch 'perf/field-reductions' (f6193ef)
  • Merge branch 'fix/node-field-node-ids' (6dce0e3)
  • Merge branch 'perf/displace-bulk' (86b8e20)
  • Merge branch 'perf/check-one-pass' (b25fcf4)
  • Merge branch 'docs/improvements' (40b9916)
  • Merge branch 'fix/poi1-repeated-node' (371f96b)
  • Merge branch 'docs/model-page' (b1bac6a)
  • Merge branch 'docs/model-comments' (d244090)
  • Merge branch 'docs/stale-comments' (2f2fa09)
  • Merge branch 'docs/coords-wording' (49c66b4)
  • Merge branch 'docs/memory-model-page' (fcb6abb)
  • Merge branch 'docs/handle-to-poi1-comments' (d7988a1)
  • Merge branch 'docs/coloring-comment' (c0fff3d)
  • Merge branch 'refactor/coloring-nodes-only' (4939c01)
  • Merge branch 'docs/matrix-page' (6deafe9)
  • Merge branch 'fix/matrix-api' (b6805b7)
  • Merge branch 'docs/evolution-page' (a973fa8)
  • Merge branch 'docs/improvements-evolution' (5f8f83a)
  • Merge branch 'docs/physics-pages' (94c33d6)
  • Merge branch 'docs/element-pages' (5e8d5e9)
  • Merge branch 'fix/truss-element-and-reduced-doc' (eea1682)
  • Merge branch 'fix/fick-direction-index-last' (48955d4)
  • Merge branch 'docs/no-shortcuts' (bc53e88)
  • Merge branch 'feat/explicit-initial-state' (3d8279d)
  • Merge branch 'docs/tutoriel-debutant' (b4e323b)
  • Merge branch 'feat/maillage-quadratique' (5641972)
  • Merge branch 'docs/tutoriel-thermique' (e965a7c)
  • Merge branch 'fix/revue-rust-viz' (c07697b)
  • Merge branch 'docs/rayonnement-methode' (1c6ba54)