Fatih Küçükkarakurt
Civil engineer (MSc, offshore geotechnics) building engineering software.
I work on the numerical side of geotechnical engineering: finite element formulations for soil, constitutive models, and the software that has to implement them correctly. Most of my time goes into KATAI 2D, a finite element platform for two-dimensional geotechnical analysis under plane-strain and axisymmetric conditions, covering deformation, stability, groundwater flow and consolidation with linear elastic, Mohr-Coulomb and Hardening Soil constitutive models. Its formulation is stated openly, and every capability is checked against closed-form solutions by an automated suite that runs on each build.
My MSc research at İzmir Kâtip Çelebi University is on the geotechnics of offshore wind: floating foundation concepts, the anchoring and mooring systems that hold them in place, and structural health monitoring for installations far enough offshore that inspection is not a casual matter. The foundation is at once the least accessible part of the structure and the part whose behaviour is hardest to predict, which is a good reason to work on it.
The rest goes into the same problem at smaller scale — replacing undocumented spreadsheets with tested, versioned tools, and automating the path from raw site investigation data to design parameters. I write mainly in C, C++, Python and Fortran, from İzmir, Türkiye.
A solver and a renderer are the same craft seen from two sides, so the other thing I write is demos — C programs with no assets at all, in which every pixel and every audio sample is computed at runtime, on the CPU. It is the shortest route I know to the parts of a machine that decide whether numerical code is fast and whether it returns the same answer twice: memory layout, thread scheduling, floating-point behaviour, and what a transcendental function actually costs. The finished pieces are on YouTube, and the code behind every frame of them is public.
How this site works
One idea runs through all of it: a result that cannot be reproduced, and whose derivation cannot be recovered, is not yet a result. That is a claim about method, so it is applied here rather than asserted.
Articles derive what can be derived instead of quoting it, so a reader can check the argument rather than trust it. Where a figure comes from a source, the source is one I have read and can name. And every number and every diagram coordinate in the articles is recomputed from its inputs by a script that runs before this site is built — if a figure is wrong, or a drawing stops agreeing with the mathematics behind it, the build fails and nothing is published. The same discipline produced the verification suite behind KATAI 2D.
What that rules out is as important as what it produces. It means fewer articles, and it means saying plainly when something could not be verified rather than rounding it into confidence.
If something here is wrong, I would rather know: [email protected].
Selected work
KATAI 2D
Open-source finite element engine for two-dimensional geotechnical analysis, where every capability is pinned to a published benchmark or a closed form.
Nerve
A single-header ANSI C library that runs transformer inference, sentence embeddings and on-device learning with no external dependencies at all.
Demos from nothing but C
A dependency-free C11 renderer and synthesiser: every pixel and every audio sample in three finished demos is computed at runtime, on the CPU, from code
Recent writing
Bloom in linear light, and what sRGB averaging costs
Averaging black and white in sRGB gives code 128 where the physically correct answer is code 188, and every blur, downsample and bloom pays that error
A parallel for over one atomic counter
Splitting an uneven render into eight contiguous blocks reached 2.95x on eight threads. Handing rows out from one atomic counter reached 6.16x, on the same work
PolyBLEP: two samples that fix oscillator aliasing
A naive sawtooth at 1199.71 Hz puts alias energy 15.15 dB under its harmonics. A two-sample polynomial correction pushes it to 31.71 dB, for six flops
Elsewhere
- GitHub
- source code
- ORCID
- research identity
- Zenodo
- KATAI 2D scientific manual
- professional profile
- YouTube
- demos, in C
- dev.to
- shorter posts