

SciML for Tackling Challenging Scientific and Engineering Problems: JuliaCon 2025
July, 2025.I had the opportunity to participate in JuliaCon 2025 in Pittsburgh, PA—an incredibly successful gathering of top scientists, including computer scientists, mathematicians, engineers, and physicists. Here are my main takeaways:
- In applications where collecting large datasets is expensive or impractical, purely data-driven solutions often fall short of producing universally applicable models. A powerful remedy to this is SciML, which combines data-driven approaches with mechanistic models grounded in physical laws. One particularly elegant framework in this space is Universal Differential Equations, developed by leading researchers like Dr. Chris Rackauckas and Dr. Alan Edelman. In this approach, physical phenomena are modeled using differential equations that incorporate a "universal approximator"—a parameter-rich model such as a neural network capable of approximating any function. You can read more about it here.
- In practice, SciML demands efficient optimization algorithms, solvers for linear systems, and tools to handle stiffness (i.e., the presence of widely varying timescales in differential equations). Julia's SciML ecosystem excels in all these aspects, abstracting much of the mathematical and implementation complexity away from the user. For instance, the APIs offered by DifferentialEquations.jl allow one to write code that feels remarkably similar to writing math—something engineers are typically comfortable with. Thanks to Julia's efficient JIT compilation and rich numerical libraries, the language is well-suited for automation, control, and real-time applications—including deployment on embedded systems like Raspberry Pi and Arduino controllers.
- I was particularly impressed by Lux.jl, which not only offers the functionalities I've previously used in PyTorch—such as multi-head attention, recurrent layers, and convolutional layers—but also provides high-level interfaces that make it easy to train deep neural networks. Moreover, its seamless integration with Optimization.jl and NonlinearSolve.jl makes it ideal for building surrogate models and performing parameter optimization—tasks highly relevant to drilling engineering. Stay tuned for future publications in this area!
- Julia is not without its limitations—it still struggles with building standalone executables and has room for improvement in error documentation. That said, the language is rapidly evolving. I still find Python superior for certain tasks like web development and, at least for now, for developing purely data-driven models. Fortunately, Julia and Python can be integrated smoothly via JuliaCall and PyCall, both of which I've used extensively in my research.
SciML is an exciting and rapidly growing field with immense potential. I believe it offers significant research opportunities in my area, particularly in real-time risk assessment and in modeling unknown parameters in complex systems—such as the friction factor in torque-and-drag models.