Blog

Papers, talks, grants, and modelling notes from the Grassl Group.

Example Coupling mechanics and flow on a lattice — a swelling inclusion drives the pore pressure — 27 Jun 2026
The companion post drove the wall from the fluid. This one runs the coupling the other way: a stiff inclusion with a swelling interface deforms the surrounding matrix, the deformation generates pore pressure on the transport lattice, and through Biot's effective stress that pressure feeds back to thicken the matrix — reproducing both the logarithmic pressure field and the poroelastic displacement.

Example Coupling flow and mechanics on a lattice — a fluid-pressurised thick-walled cylinder — 26 Jun 2026
The mechanical lattice deforms; the transport lattice carries flow. This post couples them: a fluid pressure inside a thick-walled cylinder drives the wall outward through Biot's effective stress — and the lattice reproduces the closed-form poroelastic solution, including the way Biot's coefficient flips the wall from thinning to thickening.

Example Steel fibres bridging a crack in a 3D periodic lattice — 21 Jun 2026
What does 1% of steel fibres actually buy you? Run the same concrete cube twice — same lattice, same random strength field, same crack — once plain and once with fibres. The plain matrix softens toward zero; the fibres crossing the crack hold a bridging plateau. A periodic cell keeps both the crack and the fibre placement free of boundary artefacts.

Example Corrosion-induced cracking — a constrained-expansion problem on a 3D lattice — 18 Jun 2026
Most durability problems are a constrained-expansion story: something inside wants to grow, the surrounding material resists, and cracks form. Corrosion of a steel bar inside concrete is one of the most studied cases. A 3D lattice slice reproduces the textbook two-phase failure — axisymmetric multi-crack expansion, then a single crack reaching the surface — and the pressure jump that goes with it.

Example CFRP-confined concrete cylinder — hardening past the unconfined peak — 26 May 2026
Wrap a plain concrete cylinder in a CFRP jacket and its load–displacement curve no longer softens — it keeps hardening past the unconfined peak. Inside the wrap, though, the concrete is damaging. CDPM2 in OOFEM reproduces both stories from one input change.

Example Discrete aggregates in a 2D lattice transport mesh — 19 May 2026
Concrete is a matrix with low-permeability aggregates embedded in it. With OOFEM's aggregate-packer feeding the lattice mesher, the wetting front threads naturally around each disk.

Example Why lumped capacity matters in unsaturated lattice transport — 18 May 2026
OOFEM's van Genuchten implementation works with both the consistent and the lumped capacity matrix. On a wetting-front problem only one of them avoids the textbook overshoot above the initial suction.

Example Transport on a Voronoi lattice — verification against the 1D diffusion analytical — 17 May 2026
OOFEM's lattice models aren't just for fracture. The same Voronoi dual mesh carries mass-transport — and on a homogeneous 100×100 mm prism it reproduces the 1D diffusion analytical to within mesh-randomness noise.

Example Crack-band vs nonlocal damage in dynamic crack branching — 9 May 2026
Both crack-band scaling and nonlocal averaging give mesh-independent fracture energy in OOFEM. Only the nonlocal model also fixes the band width and the direction of the branching cracks under dynamic biaxial load.

Example How a random e0 field affects the crack in a 2D tensile lattice — 8 May 2026
A random field of the elastic-strain threshold e0 makes the crack localise earlier, at a lower peak, and along a different path. Generated with my own genran code (Gaussian, Weibull, or grafted Weibull–Gaussian).

Example Boundary-independent fracture in 2D direct tensile lattice models — 7 May 2026
Cracks lock onto the mesh boundary in standard direct-tensile lattice runs. Letting elements cross the boundary — a periodic mesh — removes the artefact.

Example Four single element tests of CDPM2 — 4 May 2026
A single tetrahedron with one Gauss point, four monotonic loadings (tension, compression, simple shear, pure shear). Anyone implementing CDPM2 can test against those as a start. Reproducible in one Docker command.

Paper Rate dependence of corrosion-induced surface cracking in concrete: Lattice modelling and experiments — 15 Apr 2026
Ismail Aldellaa, Peter Grassl, accepted in Frontiers in Materials, 2026. DOI

Paper 3D frame element for large rotations based on the rigid-body-spring concept for analysing the failure of structures — 1 Mar 2026
Gumaa Abdelrhim, Peter Grassl, International Journal of Solids and Structures, vol. 327, pp. 113812, 2026. DOI (Open access)

Paper RAAC panels can suddenly collapse before any warning of corrosion-induced surface cracking — 15 Sep 2025
Evžen Korec, Peter Grassl, Milan Jirásek, Hong S. Wong, Emilio Martínez-Pañeda, npj Materials Degradation, vol. 9, pp. 44, 2025. DOI (Open access)