Skip to content
#edge computing Open access

zavala92/pysurfacefun: pysurfacefun v2.0.0.

Oct 2026 · Zenodo (CERN European Organization for Nuclear Research)

Abstract

pysurfacefun 2.0.0 rebuilds the solver core. Code written for 1.0.1 should run without changes: the 1.0.1 test suite passes on 2.0.0 unmodified. What's new Quadrilateral and triangular patches now share one HPS fast direct solver, and its merges follow a nested dissection of the patch graph. On the Rhino cow mesh (339 patches, n = 12), factorization takes 0.15 s instead of 2.20 s, and a repeated solve takes 5.0 ms instead of 28 ms. The factorization is computed once and reused: L.solve(f), L.solve_many([...]) and L.apply(f) do not refactor. Complex coefficients and right-hand sides are supported, and solve(bc=g) imposes Dirichlet data on open surfaces. Problems with variable coefficients can be written as equations, for example "-div(k*grad(u)) + u = f". New IMEX time steppers: SBDF1 to SBDF4, CNAB1 and CNAB2, and the RK111, RK222 and RK443 schemes of Ascher, Ruuth and Spiteri. They work for single fields and for coupled systems such as "dt(u) - D*lap(u) = N(u, v)". Fields store their values in contiguous arrays. Arithmetic, NumPy ufuncs, derivatives, integrals and norms act on all patches at once. A built-in VTK writer produces binary, compressed VTU and VTP files, about 9 times smaller than the old ASCII files. write_vtu no longer needs meshio. The repository now has continuous integration on Python 3.10 to 3.13, documentation pages on the solver, equations and time stepping, benchmarks, and 84 tests (1.0.1 had 33). Upgrading from 1.0.1 Results change only where 1.0.1 was wrong. The main cases are: normal() is oriented consistently, and outward on closed surfaces. In 1.0.1 it pointed inward on half of the cubed-sphere faces, which also broke hodge on the sphere. On coarse periodic meshes such as torus(n, 2, 4), different edges that share both end points are no longer glued together. parse_pdo sums repeated terms instead of overwriting them, and quadwts(n, kind=1) returns Fejér weights. Hodge components of real fields are returned as real arrays. Triangle nodes with family="lgl" work with NumPy 2.5. Two defaults have changed. VTK files are written in binary, compressed form (pass binary=False for ASCII), and merges follow nested dissection (merge_strategy="natural" restores the old order). The full list of changes is in CHANGELOG.md. Installation python -m pip install "pysurfacefun @ git+https://github.com/zavala92/pysurfacefun@v2.0.0"

View source

Similar papers

#computer vision Review Sep 2017

Agile Software Development Methods: Review and Analysis

This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.

P. Abrahamsson, O. Salo, Jussi Ronkainen et al. · 727 citations · ⚡54
#computer vision Jun 2008

The impact of agile practices on communication in software development

The study shows that agile practices improve both informal and formal communication, but indicates that, in larger development situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder the communication.

M. Pikkarainen, Jukka Haikara, O. Salo et al. · 401 citations · ⚡48
#machine learning Review Open access Oct 2014

Software development in startup companies: A systematic mapping study

The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.

Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al. · 394 citations · ⚡54

Related blog posts

Microsoft Research Blog Oct 6, 2026

What AI gets wrong and what failure teaches us

Jennifer Neville did not want to go into computer science—but that’s exactly where she landed. Neville discusses the starts and stops that led to her professional sweet spot and her work identifying “surprising failures” making it hard for AI to handle complexity.  The post What AI gets wrong and what failure teaches us appeared first on Microsoft Research.

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.