Non-linear finite element analysis of solids
2025 to 2026Fortran, Abaqus, MATLAB, Python, Julia
An Abaqus user element for an eight-node hexahedral brick with its own constitutive module and output routine, verified case by case against the built-in equivalent, and a user material subroutine for the thermomechanical response of shape memory alloys. FLagSHyP restructured into eleven independent modules in MATLAB, with a Python port reproducing identical results and experimental arc-length variants, three implementations cross-checked against one another.
DASK 2026 earthquake resistant building design competition: twin towers
2026OpenSees with Tcl, Python, Rust, SAP2000, TBDY 2018
Bridge-connected twin towers on an outrigger bracing system, realised as a 1:50 balsa model. The outrigger engages the perimeter columns as an axial couple against overturning; section properties were calibrated to the balsa members before analysis.
The OpenSees model in Tcl carries modal, non-linear pushover and non-linear time history analysis. Pushover on the calibrated stick model reached 13.47 kN base shear at 6.12 cm roof displacement over 612 steps, a 4 percent drift, with a first mode period of 0.40 s against 0.33 s from modal analysis and ten modes extracted. Code assessment covers the TBDY 2018 A1a torsional irregularity check with the eccentricity amplification of clause 4.7.4, and a Rayleigh damping parametric study sweeping the damping ratio from 0.5 to 20 percent to bound the time history response.
Alongside it I wrote dask-modeler, an interactive structural modeller in Rust on an entity component system architecture: node, element, section, material and restraint commands behind a full undo stack, copy, mirror and node merge operations, and a three-dimensional viewport with grid snapping.
Non-linear truss analysis with path following
2025Python, NumPy
Equilibrium path tracing under simultaneous geometric and material non-linearity on a logarithmic strain measure conjugate to the Kirchhoff stress. Isotropic hardening is resolved at the material point by elastic predictor and return mapping with the consistent algorithmic tangent; the internal force is derived exactly and the stiffness split into material and geometric contributions. Arc-length control in a predictor-corrector scheme carries the solution through snap-through and snap-back past limit points.
Portable electrocardiogram system: Hayatın Ritmi
2026Contributor · TÜBİTAK 2209-A · Kotlin, TensorFlow Lite, STM32, Bluetooth Low Energy
A wearable twelve-lead chain on four ADS1293 converters at 24 bit and 250 Hz with an STM32F103 and an nRF52832 radio. The classifier is a depthwise separable one-dimensional convolutional network, 176,599 parameters and 38.7 M operations, trained on 26,395 twelve-lead records across 55 diagnostic classes: macro AUC 0.9517 in PyTorch and 0.9334 after eight-bit integer quantisation, at 231.6 kB and 0.84 ms per inference on the processor. On-device work is IIR filtering, Pan-Tompkins R-peak detection and twelve-lead fusion behind a repository-pattern radio abstraction.
Electric vehicle control architecture: İYTE Voltaris
Jan 2024 to Oct 2025Teknofest Efficiency Challenge · MATLAB, Simulink, C, C++, Altium Designer, ANSYS Fluent, JMAG Designer
Sensorless permanent magnet synchronous motor control on a Holtz flux observer, field oriented control with the Park and Clarke transformations and space vector modulation, and active disturbance rejection control in simulation, with a third-order position and speed observer carrying field attenuation and cross-coupling compensation. On the hardware side: computational fluid dynamics in ANSYS Fluent to a drag coefficient of 0.28 through iterative mesh refinement, battery cooling thermal analysis, electromagnetic analysis in JMAG Designer for torque density, a buck-boost converter topology, and four-layer STM32 controller boards with CAN.
Sea level analysis from Turkish tide gauge records
2026Python, pandas, harmonic analysis
A fourteen-stage reproducible pipeline over TUDES records, separating the Bozyazı station into tidal and non-tidal components across 8.7 years of fifteen-minute samples, with automated rejection of spikes, constant blocks and stuck sensors audited by a separate verification stage. It returns constituent amplitude and phase, the full standard datum set from highest to lowest astronomical tide, and the non-tidal residual characterised by distribution, density and exceedance curve.
GPS L1 software defined radio front end
2025Python, SciPy
Offline conversion of raw eight-bit real samples at 26 MS/s into interleaved complex baseband, with a verification hook at every stage: Hilbert analytic signal to suppress negative frequencies, numerically controlled oscillator translation from 1,569.03 to 1,575.42 MHz with the phase accumulator carried across chunk boundaries, polyphase resampling to 2.048 and 4.096 MS/s at 60 dB stopband attenuation, and scalar quantisation under automatic gain.
AKS vehicle control firmware
2025C, STM32F411RE, ARM GNU toolchain, CMake, PlatformIO, Unity
Layered firmware separated into core, communication, sensor, actuator, safety, utility and hardware abstraction layers, with a cross-compiled target and a parallel host build for host-side unit testing. High voltage isolation resistance monitoring carries a 200 kΩ warning and a 50 kΩ trip wired into the emergency path, and separate unit and integration suites run under Unity with a mock layer and a coverage target in the build system.
Five storey reinforced concrete moment frame, capacity design
2026SAP2000 v26.3 with the Open API, AutoCAD, TBDY 2018, TS 500
Seismic assessment of a planar frame in Karabağlar, İzmir, on class ZD soil at the DD-2 hazard level: cracked section stiffness at 0.70 of gross for columns and 0.35 for beams, strong column and weak beam verification at the joints, shear sufficiency across every member, and joint panel capacity verification under seismic load. Model construction, load case management and result extraction run through the programming interface, so parameter studies repeat and output is written straight into the report.