pith. sign in

arxiv: 2606.23458 · v1 · pith:G3G64E4Snew · submitted 2026-06-22 · 💻 cs.CE

A matrix-free, differentiable PyTorch solver for phase-field fracture: Formulation, benchmarks, and inverse analysis

Pith reviewed 2026-06-26 06:27 UTC · model grok-4.3

classification 💻 cs.CE
keywords phase-field fracturePyTorchdifferentiable solvermatrix-freeinverse analysisfracture energyautomatic differentiationGPU computing
0
0 comments X

The pith

A matrix-free PyTorch solver for phase-field fracture supports automatic differentiation and recovers the fracture energy G_c from observed crack patterns.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The paper introduces an open-source PyTorch implementation of phase-field fracture that performs all finite-element operations through element-wise tensor contractions and scatter accumulations, eliminating global stiffness matrix assembly. The explicit mechanics kernels integrate directly with PyTorch autograd while a custom backward rule handles the implicit bound-constrained damage solve via conjugate gradients, keeping memory usage independent of iteration count. This design enables the same code base to run unmodified on CPU and GPU across operating systems and to perform gradient-based inverse analysis. As a concrete demonstration, the scalar fracture energy G_c is recovered from synthetic crack patterns using L-BFGS, reaching relative errors below 10^{-3} after only two or three accepted optimizer steps for alumina and glass specimens.

Core claim

The solver recovers the critical fracture energy G_c from observed crack patterns by propagating gradients through the forward phase-field solve and applying limited-memory Broyden-Fletcher-Goldfarb-Shanno optimization, attaining relative errors below 10^{-3} after three accepted L-BFGS states for glass and two for alumina.

What carries the argument

The custom backward rule for the implicit conjugate-gradient damage solve that implements implicit differentiation while keeping memory independent of the internal CG iteration count.

If this is right

  • The identical implementation can be used for both forward dynamic and quasi-static fracture simulations and for inverse parameter identification without any code changes.
  • Meshes containing order 10^6 nodes run on a single NVIDIA A100 GPU without custom compiled extensions.
  • Multiple Ambrosio-Tortorelli regularizations, spectral/volumetric-deviatoric/star-convex decompositions, and plane-stress/plane-strain assumptions are available within the same differentiable framework.
  • The solver can be inserted directly into larger differentiable pipelines that combine fracture mechanics with machine-learning components.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • The same gradient infrastructure could be used to identify spatially varying G_c fields from experimental images rather than assuming a single scalar value.
  • Coupling the solver with neural-network surrogates for the damage field might reduce the cost of repeated forward solves during optimization loops.
  • The matrix-free formulation may extend naturally to three-dimensional problems and to coupled multiphysics fracture models once the corresponding element-wise kernels are written.

Load-bearing premise

The observed crack patterns must have been produced by exactly the same phase-field model, energy decomposition, and regularization that is being inverted.

What would settle it

Recovering inconsistent values of G_c when the same crack patterns are inverted under different mesh resolutions or different choices of energy decomposition would indicate the recovery procedure is not robust.

Figures

Figures reproduced from arXiv: 2606.23458 by Allamaprabhu Ani, Ghatu Subhash, Jean-Fran\c{c}ois Molinari, Sathiskumar Anusuya Ponnusami.

Figure 1
Figure 1. Figure 1: Regularisation of a sharp crack in an arbitrary body [PITH_FULL_IMAGE:figures/full_fig_p005_1.png] view at source ↗
Figure 2
Figure 2. Figure 2: Dynamic SENT: damage field at t ≈ 19.0, 23.9, 28.8, 33.7 µs, spanning initiation through the propagating straight crack as it reaches the right boundary (hcrack = ℓ0/2 = 0.25 mm, 1,091 nodes). monotonically to ∼ 0.12 J/m, which is consistent with a straight 40 mm crack at Gc = 3 J/m2 . The energy components therefore show the expected transfer from stored elastic energy into crack￾surface dissipation and k… view at source ↗
Figure 3
Figure 3. Figure 3: Dynamic SENT: energy balance and crack tip velocity ( [PITH_FULL_IMAGE:figures/full_fig_p011_3.png] view at source ↗
Figure 4
Figure 4. Figure 4: Kalthoff–Winkler benchmark: simulation vs experiment. Left three panels: present-solver damage field [PITH_FULL_IMAGE:figures/full_fig_p012_4.png] view at source ↗
Figure 5
Figure 5. Figure 5: Kalthoff–Winkler half-plate: elastic, kinetic, crack-surface, and mechanical energy [PITH_FULL_IMAGE:figures/full_fig_p013_5.png] view at source ↗
Figure 6
Figure 6. Figure 6: Dynamic crack branching: damage snapshots from the full-plate AT1/Amor/plane-strain run. The initially [PITH_FULL_IMAGE:figures/full_fig_p014_6.png] view at source ↗
Figure 17
Figure 17. Figure 17: Our damage field is qualitatively consistent with the interaction mechanism inferred [PITH_FULL_IMAGE:figures/full_fig_p015_17.png] view at source ↗
Figure 7
Figure 7. Figure 7: Constrained crack propagation through perforated plates with holes on the mid-plane. [PITH_FULL_IMAGE:figures/full_fig_p015_7.png] view at source ↗
Figure 8
Figure 8. Figure 8: 30-hole constrained perforated-plate results ( [PITH_FULL_IMAGE:figures/full_fig_p016_8.png] view at source ↗
Figure 9
Figure 9. Figure 9: Single distant hole crack-hole interaction for two hole positions ( [PITH_FULL_IMAGE:figures/full_fig_p017_9.png] view at source ↗
Figure 10
Figure 10. Figure 10: Crack propagation through 15 distant holes at two offsets and two loading levels. [PITH_FULL_IMAGE:figures/full_fig_p018_10.png] view at source ↗
Figure 11
Figure 11. Figure 11: Quasi-static benchmark results. Panels (a,b) show the single-edge-notched tension benchmark, compared [PITH_FULL_IMAGE:figures/full_fig_p019_11.png] view at source ↗
Figure 12
Figure 12. Figure 12: Cross-code solver validation on the two shared benchmarks. Final damage field [PITH_FULL_IMAGE:figures/full_fig_p020_12.png] view at source ↗
Figure 13
Figure 13. Figure 13: Autograd-driven scalar Gc recovery from an observed final damage field. The optimiser starts from G (0) c = 6 × 10−3 N/mm (2× the true value G∗ c = 3 × 10−3 N/mm) and uses PyTorch reverse-mode gradients through the differentiable forward solve. Central finite differences are used only as an initial gradient check. Iteration 0 marks the initial guess; the ten subsequent L-BFGS outer iterations expose the c… view at source ↗
Figure 14
Figure 14. Figure 14: Autograd-driven L-BFGS material inversion on alumina (Al [PITH_FULL_IMAGE:figures/full_fig_p024_14.png] view at source ↗
Figure 15
Figure 15. Figure 15: Performance scaling. (a) Measured wall-clock cost per explicit step on NVIDIA A100 80 GB for repre [PITH_FULL_IMAGE:figures/full_fig_p026_15.png] view at source ↗
read the original abstract

A matrix-free, open-source PyTorch solver is presented for phase-field fracture on central processing units (CPUs) and graphics processing units (GPUs) without custom compiled extensions. In the explicit dynamic pathway, finite-element operations are formulated as element-wise tensor contractions with scatter-based accumulation, removing global sparse mechanics-stiffness assembly from the core time-stepping loop. Both Ambrosio-Tortorelli regularisations (AT1 and AT2), multiple energy decompositions (spectral, volumetric-deviatoric, and star-convex), and plane strain or plane stress assumptions are supported. The explicit mechanics kernels are compatible with PyTorch's automatic differentiation engine (autograd), while the implicit, bound-constrained damage solve is wrapped in a custom backward rule. This rule implements implicit differentiation through the conjugate-gradient (CG) linear solve and keeps memory independent of the internal CG iteration count. The same implementation runs unmodified across macOS, Linux, and Windows, and has been run on meshes of order $10^6$ nodes on a single NVIDIA A100 GPU. The solver is compared against four dynamic fracture cases (straight crack propagation, shear-induced kinking, dynamic branching, and crack-hole interaction in perforated plates) and two quasi-static cases (single-edge notched tension and a notched-holed plate). As a differentiability demonstration, the scalar fracture energy $G_c$ is recovered from observed crack patterns using PyTorch gradients through the forward solve and limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) optimisation. Recovery of $G_c$ with relative error below $10^{-3}$ is achieved after three accepted L-BFGS states for glass and two for alumina. The implementation can be extended and combined with differentiable optimisation and machine-learning components.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

2 major / 2 minor

Summary. The manuscript presents a matrix-free PyTorch implementation of a phase-field fracture solver that avoids global sparse assembly via element-wise tensor contractions for explicit dynamics, supports AT1/AT2 regularizations and multiple energy decompositions (spectral, volumetric-deviatoric, star-convex), and provides a custom backward rule for the implicit bound-constrained damage solve to enable differentiability through autograd while keeping memory independent of CG iterations. The solver is benchmarked on four dynamic fracture cases (straight propagation, shear kinking, branching, crack-hole interaction) and two quasi-static cases (single-edge notched tension, notched-holed plate). As a differentiability demonstration, G_c is recovered via L-BFGS from synthetic crack patterns in glass and alumina, achieving relative error below 10^{-3} after 2-3 accepted steps.

Significance. If the implementation and benchmarks are correct, the work supplies an accessible, open-source, cross-platform differentiable solver for phase-field fracture that runs on commodity GPUs without custom extensions and can be combined with optimization or ML components. The inverse demonstration illustrates the practical utility of the gradients for parameter recovery, though it is performed on data generated by the identical forward model.

major comments (2)
  1. [Abstract / inverse analysis] Abstract and inverse analysis section: Recovery of G_c to relative error <10^{-3} is shown exclusively on crack patterns generated by the same phase-field model, energy decomposition, regularization (AT1/AT2), and mesh; this validates optimizer convergence but does not address robustness when the forward model differs from the data-generating process (e.g., experimental images or alternative decompositions).
  2. [Benchmarks] Benchmarks section: The comparisons to the six standard cases are stated to match expected behavior, but without reported mesh-convergence studies, specific parameter tables, or quantitative error norms against reference solutions, it is not possible to confirm that the claimed accuracy is independent of post-hoc tuning.
minor comments (2)
  1. [Benchmarks] The manuscript should explicitly state the mesh sizes, time-step sizes, and solver tolerances used in each benchmark to allow reproduction.
  2. [Formulation] Notation for the energy decompositions and the custom backward rule for the CG solve should be introduced with equations rather than prose descriptions alone.

Simulated Author's Rebuttal

2 responses · 0 unresolved

We thank the referee for the constructive comments and the recommendation of minor revision. We respond to each major comment below.

read point-by-point responses
  1. Referee: [Abstract / inverse analysis] Abstract and inverse analysis section: Recovery of G_c to relative error <10^{-3} is shown exclusively on crack patterns generated by the same phase-field model, energy decomposition, regularization (AT1/AT2), and mesh; this validates optimizer convergence but does not address robustness when the forward model differs from the data-generating process (e.g., experimental images or alternative decompositions).

    Authors: We agree that the inverse analysis recovers G_c exclusively from synthetic data generated by the identical forward model (including the same energy decomposition, regularization, and mesh). This was a deliberate choice to demonstrate the differentiability and optimizer convergence in a controlled setting. We will revise the abstract and inverse-analysis section to explicitly state this scope and to note that testing against experimental images or alternative forward models is left for future work. revision: yes

  2. Referee: [Benchmarks] Benchmarks section: The comparisons to the six standard cases are stated to match expected behavior, but without reported mesh-convergence studies, specific parameter tables, or quantitative error norms against reference solutions, it is not possible to confirm that the claimed accuracy is independent of post-hoc tuning.

    Authors: The referee correctly notes that the current presentation relies on qualitative agreement with expected behaviors rather than quantitative error norms or mesh-convergence studies. We will add a table of key simulation parameters for each benchmark case and, where reference data allow, include quantitative comparisons in the revised benchmarks section. revision: yes

Circularity Check

0 steps flagged

No significant circularity; forward solver and inverse optimization are self-contained

full rationale

The paper implements standard phase-field fracture equations (AT1/AT2 regularizations, multiple energy decompositions) as matrix-free PyTorch operations with a custom backward pass for the implicit damage solve. The differentiability demonstration recovers G_c via L-BFGS optimization against observed crack patterns for glass and alumina; this is an explicit parameter-fitting procedure against external data rather than a quantity that reduces to the model inputs by construction. No self-citation chains, ansatzes, or renamings are load-bearing for the central claims. The derivation chain relies on established theory and standard automatic differentiation, remaining independent of its own outputs.

Axiom & Free-Parameter Ledger

0 free parameters · 2 axioms · 0 invented entities

The work is an engineering implementation of existing phase-field theory rather than a derivation that introduces new free parameters or entities. Standard finite-element quadrature and conjugate-gradient convergence assumptions are inherited from the literature.

axioms (2)
  • domain assumption Standard variational phase-field fracture energy functional (AT1/AT2) with chosen strain-energy decomposition
    Invoked throughout the formulation section implied by the abstract.
  • domain assumption Conjugate-gradient solver converges to sufficient tolerance for the implicit damage step
    Required for the custom backward rule to be well-defined.

pith-pipeline@v0.9.1-grok · 5890 in / 1436 out tokens · 20245 ms · 2026-06-26T06:27:10.111585+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

40 extracted references · 37 canonical work pages · 2 internal anchors

  1. [1]

    G. A. Francfort, J.-J. Marigo, Revisiting brittle fracture as an energy minimization problem, Journal of the Mechanics and Physics of Solids 46 (8) (1998) 1319–1342.doi:10.1016/S002 2-5096(98)00034-9

  2. [2]

    Bourdin, G

    B. Bourdin, G. A. Francfort, J.-J. Marigo, Numerical experiments in revisited brittle fracture, Journal of the Mechanics and Physics of Solids 48 (4) (2000) 797–826.doi:10.1016/S0022-5 096(99)00028-9. 28

  3. [3]

    Ambati, T

    M. Ambati, T. Gerasimov, L. De Lorenzis, A review on phase-field models of brittle fracture and a new fast hybrid formulation, Computational Mechanics 55 (2) (2015) 383–405.doi: 10.1007/s00466-014-1109-y

  4. [4]

    J.-Y. Wu, V. P. Nguyen, C. T. Nguyen, D. Sutula, S. Sinaie, S. P. Bordas, Phase-field modeling of fracture, Advances in Applied Mechanics 53 (2020) 1–183.doi:10.1016/bs.aams.2019.0 8.001

  5. [5]

    M. J. Borden, C. V. Verhoosel, M. A. Scott, T. J. Hughes, C. M. Landis, A phase-field descrip- tion of dynamic brittle fracture, Computer Methods in Applied Mechanics and Engineering 217–220 (2012) 77–95.doi:10.1016/j.cma.2012.01.008

  6. [6]

    Hofacker, C

    M. Hofacker, C. Miehe, A phase field model of dynamic fracture: Robust field updates for the analysisofcomplexcrackpatterns, InternationalJournalforNumericalMethodsinEngineering 93 (3) (2013) 276–301.doi:10.1002/nme.4387

  7. [7]

    Li, J.-J

    T. Li, J.-J. Marigo, D. Guilbaud, S. Potapov, Gradient damage modeling of brittle fracture in an explicit dynamics context, International Journal for Numerical Methods in Engineering 108 (11) (2016) 1381–1405.doi:10.1002/nme.5262

  8. [8]

    Bleyer, C

    J. Bleyer, C. Roux-Langlois, J.-F. Molinari, Dynamic crack propagation with a variational phase-field model: limiting speed, crack branching and velocity-toughening mechanisms, Inter- national Journal of Fracture 204 (2017) 79–100.doi:10.1007/s10704-016-0163-1

  9. [9]

    DeWitt, S

    S. DeWitt, S. Rudraraju, D. Montiel, W. B. Andrews, K. Thornton, PRISMS-PF: A general framework for phase-field modeling with a matrix-free finite element method, npj Computa- tional Materials 6 (2020) 29.doi:10.1038/s41524-020-0298-5

  10. [10]

    Davydov, J.-P

    D. Davydov, J.-P. Pelteret, D. Arndt, M. Kronbichler, P. Steinmann, A matrix-free approach for finite-strain hyperelastic problems using geometric multigrid, International Journal for Nu- merical Methods in Engineering 121 (13) (2020) 2874–2895.doi:10.1002/nme.6336

  11. [11]

    Y. Hu, L. Anderson, T.-M. Li, Q. Sun, N. Carr, J. Ragan-Kelley, F. Durand, DiffTaichi: Differentiable programming for physical simulation, in: International Conference on Learning Representations (ICLR), 2020, pp. 1–12.doi:10.48550/arXiv.1910.00935

  12. [12]

    Conv1D energy-aware path planner for mobile robots in unstructured environments,

    E. Heiden, D. Millard, A. Corl, S. Ermon, G. S. Sukhatme, NeuralSim: Augmenting differ- entiable simulators with neural networks, in: IEEE International Conference on Robotics and Automation, 2021, pp. 9474–9481.doi:10.1109/ICRA48506.2021.9560935

  13. [13]

    T. Xue, S. Liao, Z. Gan, C. Park, X. Xie, W. K. Liu, J. Cao, JAX-FEM: A differentiable GPU- accelerated 3D finite element solver for automatic inverse design and mechanistic data science, Computer Physics Communications 291 (2023) 108802.doi:10.1016/j.cpc.2023.108802

  14. [14]

    D. A. Bezgin, A. B. Buhendwa, N. A. Adams, JAX-Fluids: A fully-differentiable high-order computational fluid dynamics solver for compressible two-phase flows, Computer Physics Com- munications 282 (2023) 108527.doi:10.1016/j.cpc.2022.108527

  15. [15]

    X. Guo, T. Heuzé, R. Othman, G. Racineux, Inverse identification at very high strain rate of the Johnson–Cook constitutive model on the Ti-6Al-4V alloy with a specially designed direct- impact Kolsky bar device, Strain 50 (6) (2014) 527–538.doi:10.1111/str.12114. 29

  16. [16]

    Kosin, A

    V. Kosin, A. Fau, C. Jailin, F. Hild, T. Wick, Parameter identification of a phase-field fracture model using integrated digital image correlation, Computer Methods in Applied Mechanics and Engineering 420 (2024) 116689.doi:10.1016/j.cma.2023.116689

  17. [17]

    T. Wu, B. Rosíc, L. De Lorenzis, H. G. Matthies, Parameter identification for phase-field mod- eling of fracture: a Bayesian approach with sampling-free update, Computational Mechanics 67 (2021) 435–453.doi:10.1007/s00466-020-01942-x

  18. [18]

    Stanić, M

    A. Stanić, M. Nikolić, H. G. Matthies, N. Friedman, Probabilistic identification of parameters in dynamic fracture propagation, International Journal for Numerical Methods in Engineering 127 (2026) e70282.doi:10.1002/nme.70282

  19. [19]

    Y. Gao, N. Yoshinaga, Inverse problems of inhomogeneous fracture toughness using phase-field models, Physica D: Nonlinear Phenomena 448 (2023) 133734.doi:10.1016/j.physd.2023.1 33734

  20. [20]

    Manav, R

    M. Manav, R. Molinaro, S. Mishra, L. De Lorenzis, Phase-field modeling of fracture with physics-informed deep learning, Computer Methods in Applied Mechanics and Engineering 429 (2024) 117104.doi:10.1016/j.cma.2024.117104

  21. [21]

    Kumar, B

    A. Kumar, B. Bourdin, G. A. Francfort, O. Lopez-Pamies, Revisiting nucleation in the phase- field approach to brittle fracture, Journal of the Mechanics and Physics of Solids 142 (2020) 104027.doi:10.1016/j.jmps.2020.104027

  22. [22]

    COMSOL AB, Phase-field modeling of dynamic crack branching, COMSOL Application Gallery, Application ID 131361, model created in COMSOL Multiphysics 6.4; accessed 12 June 2026;https://www.comsol.com/model/phase-field-modeling-of-dynamic-crack-b ranching-131361(2025)

  23. [23]

    COMSOL AB, Brittle fracture of a holed plate, COMSOL Application Gallery, Application ID 89321, COMSOL Application Library model; accessed 12 June 2026;https://www.comsol.c om/model/brittle-fracture-of-a-holed-plate-89321(2025)

  24. [24]

    K. Pham, H. Amor, J.-J. Marigo, C. Maurini, Gradient damage models and their use to approximate brittle fracture, International Journal of Damage Mechanics 20 (4) (2011) 618– 652.doi:10.1177/1056789510386852

  25. [25]

    Miehe, F

    C. Miehe, F. Welschinger, M. Hofacker, A phase field model for rate-independent crack prop- agation: Robust algorithmic implementation based on operator splits, Computer Methods in Applied Mechanics and Engineering 199 (45–48) (2010) 2765–2778.doi:10.1016/j.cma.20 10.04.011

  26. [26]

    Amor, J.-J

    H. Amor, J.-J. Marigo, C. Maurini, Regularized formulation of the variational brittle fracture with unilateral contact: Numerical experiments, Journal of the Mechanics and Physics of Solids 57 (8) (2009) 1209–1229.doi:10.1016/j.jmps.2009.04.011

  27. [27]

    PyTorch: An Imperative Style, High-Performance Deep Learning Library

    A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin, N. Gimelshein, L. Antiga, et al., PyTorch: An imperative style, high-performance deep learning library, Advances in Neural Information Processing Systems 32 (2019).doi:10.48550/arXiv .1912.01703. 30

  28. [28]

    Geuzaine, J.-F

    C. Geuzaine, J.-F. Remacle, Gmsh: A 3-D finite element mesh generator with built-in pre-and post-processing facilities, International Journal for Numerical Methods in Engineering 79 (11) (2009) 1309–1331.doi:10.1002/nme.2579

  29. [29]

    W. N. Bell, L. N. Olson, J. B. Schroder, PyAMG: Algebraic multigrid solvers in Python, Journal of Open Source Software 7 (72) (2022) 4142.doi:10.21105/joss.04142

  30. [30]

    Naumov, M

    M. Naumov, M. Arsaev, P. Castonguay, J. Cohen, J. Demouth, J. Eaton, S. Layton, N. Markovskiy, I. Reguly, N. Sakharnykh, V. Sellappan, R. Strzodka, AmgX: A library for GPU accelerated algebraic multigrid and preconditioned iterative methods, SIAM Journal on Scientific Computing 37 (5) (2015) S602–S626.doi:10.1137/140980260

  31. [31]

    J. F. Kalthoff, Modes of dynamic shear failure in solids, International Journal of Fracture 101 (1) (2000) 1–31.doi:10.1023/A:1007647800529

  32. [32]

    H. L. Ren, X. Zhuang, C. Anitescu, T. Rabczuk, An explicit phase field method for brittle dynamic fracture, Computers & Structures 217 (2019) 45–56.doi:10.1016/j.compstruc.20 19.03.005

  33. [33]

    Richart, G

    N. Richart, G. Anciaux, E. Gallyamov, L. Frérot, D. Kammer, M. Pundir, M. Vocialta, A. Cuba Ramos, M. Corrado, P. Müller, F. Barras, S. Zhang, R. Ferry, S. Durussel, J.-F. Molinari, Akantu: an HPC finite-element library for contact and dynamic fracture simulations, Journal of Open Source Software 9 (94) (2024) 5253,https://akantu.ch.doi:10.21105/joss.05253

  34. [34]

    Castillón, Phasefieldx: An open-source framework for advanced phase-field simulations, Journal of Open Source Software 10 (108) (2025) 7307.doi:10.21105/joss.07307

    M. Castillón, Phasefieldx: An open-source framework for advanced phase-field simulations, Journal of Open Source Software 10 (108) (2025) 7307.doi:10.21105/joss.07307

  35. [35]

    T. M. Austin, M. Brezina, B. Jamroz, C. Jhurani, T. A. Manteuffel, J. Ruge, Semi-automatic sparse preconditioners for high-order finite element methods on non-uniform meshes, Journal of Computational Physics 231 (14) (2012) 4694–4708.doi:10.1016/j.jcp.2012.03.013

  36. [36]

    Brown, V

    J. Brown, V. Barra, N. Beams, L. Ghaffari, M. Knepley, W. Moses, R. Shakeri, K. Stengel, J. L. Thompson, J. Zhang, Performance portable solid mechanics via matrix-freep-multigrid, arXiv preprint arXiv:2204.01722 (2022).doi:10.48550/arXiv.2204.01722

  37. [37]

    Bangerth, R

    W. Bangerth, R. Hartmann, G. Kanschat, deal.II — a general-purpose object-oriented finite element library, ACM Transactions on Mathematical Software 33 (4) (2007) 1–27.doi:10.1 145/1268776.1268779

  38. [38]

    Logg, K.-A

    A. Logg, K.-A. Mardal, G. Wells, Automated solution of differential equations by the finite element method: The FEniCS book, Springer, 2012.doi:10.1007/978-3-642-23099-8

  39. [39]

    M. S. Alnæs, J. Blechta, J. Hake, A. Johansson, B. Kehlet, A. Logg, C. Richardson, J. Ring, M. E. Rognes, G. N. Wells, The FEniCS project version 1.5, Archive of Numerical Software 3 (100) (2015).doi:10.11588/ans.2015.100.20553

  40. [40]

    T. Chen, B. Xu, C. Zhang, C. Guestrin, Training deep nets with sublinear memory cost (2016). doi:10.48550/arXiv.1604.06174. 31