Computational Scientist · CFD & HPC

Hi, I'm Ruggiero.

I build simulation software for turbulent flows and heat transfer: I write the meshing code, run the simulations in parallel, check them against real measurements, and keep the HPC clusters they run on secure and easy to use.

Ph.D., Politecnico di Milano · Based in Houston, Texas · Authorized to work in the U.S.

Ruggiero Signoriello RS

Projects

Selected work

One Ph.D. at Politecnico di Milano (2022–2026), on two levels: a general meshing method and a real-world application in energy and the urban environment.

Problem

Building the mesh around a complex geometry is slow and largely manual: NASA's CFD Vision 2030 study names it one of the main bottlenecks of the CFD workflow.1

Approach

Method: cutMesh, an automated cut-cell mesh library. Application: a workflow from raw LiDAR scans of a Milan district to wind and thermal-comfort CFD.

Result

cutMesh tested on 9 benchmark geometries and a standard OpenFOAM case; the city simulation matches the measured mean wind speed within about 5%.

1 J. P. Slotnick et al., CFD Vision 2030 Study: A Path to Revolutionary Computational Aerosciences, NASA/CR-2014-218178, 2014.

Cut-cell meshes generated by cutMesh around classic 3D test models: a dragon, a bunny, a statue and a cone
cutMesh on standard 3D test models from the Stanford repository
Cut cells around the OpenFOAM motorbike geometry
Cut cells (yellow) around the standard OpenFOAM motorbike case

The method · Research software in C++

cutMesh: meshing any shape on a Cartesian grid

Cartesian grids are the fastest meshes to build and the simplest to solve on, but they don't fit complex shapes, so most tools fall back on slow, hand-tuned body-fitted meshing. Cut-cell methods fix that by slicing the cells that touch the surface into exact polyhedra.

What I built

A polyhedral cut-cell meshing library written from scratch. It needs only a closed STL surface and one point in the fluid. It handles multiple cuts per cell, multiple objects and non-manifold geometry, and processes each cell independently so the work can be distributed.

Result

Benchmarked on 9 reference geometries, from a simple 118-triangle cone to a detailed 1.1M-triangle 3D scan. I fitted a power-law runtime model and identified surface trimming as the main cost driver, then tested the meshes end to end in OpenFOAM on its standard motorbike case.

Scope

The input surface must be closed (watertight), and the grid must be fine enough that no surface feature passes through a cell unresolved. Within those limits the cuts follow the STL surface exactly.

Presented at the 20th OpenFOAM Workshop, Vienna, July 2025: “Polyhedral Cell Decomposition Applied on Structured Cartesian Grids for Fluid Dynamics” (R. Signoriello, R. Mereu, F. Piscaglia). The code is not public yet; I'm happy to walk through the algorithm and the benchmarks in a call.

9benchmark geometries
1.1Msurface triangles max
2inputs: STL + one point
C++Computational geometryCut-cell methods OpenFOAMPerformance profiling
3D urban model of La Goccia park in Milan with ground, trees and buildings reconstructed from LiDAR
La Goccia, Milan: ground, tree canopies and buildings reconstructed from LiDAR
Wind speed fields around buildings: top, front and side views, with and without the mesh
Wind speed at the anemometer plane: top, front and side views, with the mesh below
Cylindrical computational domain of the Milan district with buildings on the ground
Computational domain: 2.28 km radius, 570 m high, wind from 240°

The application · Project for the City of Milan

From LiDAR to wind: simulating a city district

La Goccia is a 0.46 km² urban woodland in north Milan, next to the Politecnico campus and about to be redeveloped. Planners wanted to know how wind moves through it today, but turning a real neighborhood into a simulation-ready model is usually slow, manual work.

What I built

An end-to-end workflow, designed and run by me from raw data to the final simulation. LiDAR point clouds from 2022 and 2024 are cleaned and classified into ground, vegetation and buildings with a model trained on my own data; open-source tools then rebuild a watertight 3D model of 1,259 buildings, 156 of them at high detail. The model is meshed and simulated in OpenFOAM (steady RANS, k–ε) with an atmospheric boundary layer derived from Linate airport wind data. cutMesh was developed and tested separately; integrating it into this workflow is ongoing.

Result

Compared with 740 ten-minute samples from an on-site anemometer at 48 m (Jan 2024 – Aug 2025), the simulated mean wind speed is about 5% below the measured one: 1.60 vs. 1.69 m/s, a bias of −0.09 m/s. The workflow was then extended to a multi-region RANS thermal-comfort analysis of the district.

The RMSE of 1.26 m/s reflects gust-to-gust variability: a steady RANS model predicts the mean flow, not the fluctuations, which would require unsteady approaches such as URANS or LES.

38.8Mmesh cells
80CPU cores (MPI)
−0.09 m/sbias on mean wind speed
OpenFOAMRANS k–ε CloudCompareMPIParaView
Classified LiDAR point cloud of La Goccia: vegetation in green, buildings in orange, ground in brown
Classified 2022 LiDAR survey: vegetation, buildings, ground

Visiting research · Université libre de Bruxelles

Teaching a model to read point clouds

Before a city can be simulated, every one of its millions of LiDAR points has to be labeled: is it ground, a tree or a building? Doing that by hand doesn't scale.

What I built

During six months in Brussels (Oct 2024 – Mar 2025) I built a semi-automatic Random Forest classifier on geometric features (height, intensity, planarity, sphericity, PCA anisotropy), now used in the Milan workflow, and started fine-tuning the RandLA-Net deep network on my own labeled Milan data, on GPU.

In progress. I'm re-running the RandLA-Net evaluation with a train/test split that removes the bias between tall and low buildings, so the accuracy reflects truly unseen areas.

2LiDAR surveys (2022, 2024)
6point classes
1,259buildings reconstructed
PythonRandom ForestRandLA-Net 3DMASCCGALQGIS

The classified point clouds feed the geometry step of the city-of-Milan workflow above.

Current role · Politecnico di Milano

Modernizing a research HPC cluster

A university cluster shared by hundreds of researchers still relied on NIS, a legacy protocol that sends identity data unencrypted, and on terminal-only access.

What I did

Migrated all user accounts to a 389-DS LDAP directory with SSSD on every node. Moved admin services to an isolated, key-only node and enforced two-factor authentication. Deployed Open OnDemand with single sign-on, so researchers can use the cluster from a web browser. Every access setting lives in Ansible playbooks, so any node can be rebuilt to a known, audited state.

800+accounts migrated
2FAon external access
100%access config in Ansible
RHELLDAP / SSSDAnsible Open OnDemandOIDCSecurity

About me

From aircraft to cities, and beyond

I'm Italian and studied aerospace engineering at Politecnico di Milano, from my bachelor's to my Ph.D. in Energy and Aeronautical Sciences. Aircraft taught me the fundamentals: fluid dynamics, numerical methods and a healthy respect for validation.

During my Ph.D. I applied those tools to the ground: the wind, heat and comfort of real urban districts. That meant building whatever was missing along the way: a meshing library, a machine-learning pipeline for LiDAR, and the know-how to run large simulations on a cluster. Eventually I started running clusters myself.

The toolkit is not specific to cities: turbulence modeling, heat transfer, meshing of complex geometry, validation against measurements and parallel computing are exactly what energy, aerospace and process engineering rely on. That's where I want to apply it next.

Today I live in Houston and work across English, Portuguese and Italian.

  • 🎓
    Ph.D. in Energy & Aeronautical Sciences, 2026Politecnico di Milano: Italy's largest technical university, 14th in the world for Mechanical, Aeronautical & Manufacturing Engineering (QS 2026)
  • ✈️
    M.Sc. Aeronautical · B.Sc. AerospacePolitecnico di Milano, 2022 · 2018
  • 🇧🇪
    Visiting ResearcherUniversité libre de Bruxelles, 2024–25
  • 📍
    Houston, TexasAuthorized to work in the U.S.
  • 💬
    Italian · English · Portuguesenative · fluent · fluent

Journey

Experience & education

Jul 2026 – Present

HPC Systems Administrator (Contract)

Politecnico di Milano · Remote

Identity management, access security and web access for a shared research cluster.

Nov 2022 – Sep 2026

Doctoral Researcher

Politecnico di Milano · Milan, Italy

LiDAR-to-CFD workflow, the cutMesh meshing library, and urban wind and thermal-comfort simulations compared with field measurements.

Jul 2025

Oral presentation, 20th OpenFOAM Workshop

Vienna, Austria

“Polyhedral Cell Decomposition Applied on Structured Cartesian Grids for Fluid Dynamics”.

Oct 2024 – Mar 2025

Visiting Researcher

Université libre de Bruxelles · Brussels, Belgium

Machine learning for LiDAR point-cloud segmentation.

Oct 2020 – Jun 2021

Teacher

Francesco Baracca Aeronautical Technical Institute · Pavia, Italy

Mechanics, Physics and Electrical Technology for 3 classes.

Education

Ph.D. Energy & Aeronautical Sciences (2026) · M.Sc. Aeronautical Eng. (2022) · B.Sc. Aerospace Eng. (2018)

Politecnico di Milano · 14th in the world for Mechanical, Aeronautical & Manufacturing Engineering (QS 2026)

Toolbox

What I work with

CFD & numerics

OpenFOAMANSYS FluentRANS Cut-cell / IBMsnappyHexMeshFinite volumeParaView

Programming

C++PythonMPI FortranBashMATLAB / OctaveGit

HPC & Linux

RHELAnsibleLDAP / SSSD Open OnDemandApptainerDocker

Data & ML

NumPy / SciPy / PandasRandom ForestRandLA-Net CloudCompareQGIS

Contact

Let's talk

I'm looking for Computational Scientist, CFD Engineer and HPC Engineer roles. If you're working on simulation, scientific software or research computing, I'd be glad to hear from you.