Elena Markovska
About me
Latest Articles
Python Testing Patterns for Scientific Code: Beyond pytest Basics
Reading Time: 7 minutesKey Takeaways pytest basics cover unit testing. Fixtures, parametrization, and pytest.approx are your starting point, not the finish line. Property-based testing with Hypothesis catches edge cases that manual tests often miss. It is used by major scientific Python projects such as NumPy, JAX, and PyTorch. Numerical convergence testing requires solver-specific tolerance strategies. Standard assertions do […]
Reproducibility Workflows Beyond Containers: Data Versioning and Provenance Tracking
Reading Time: 8 minutesKey Takeaways Containers solve one problem. They freeze the software environment, but they do not track what changed in your data or how your analysis evolved. Data versioning adds a missing layer. Tools like DVC and DataLad bring Git-style version control to datasets, making it easier to reproduce results with exact inputs, parameter files, and […]
GPU-Accelerated Scientific Computing: CuPy, Numba, and CuDF Compared
Reading Time: 9 minutesKey Takeaways CuPy is the right choice when you want a drop-in NumPy or SciPy replacement that accelerates array operations with minimal code changes. It is optimized for bulk matrix math, FFTs, and element-wise operations. Numba works best when the bottleneck is Python loops or custom numerical functions. Its JIT compiler turns slow Python into […]
Teaching Computational Physics: Structured Learning Paths for Graduate Students
Reading Time: 7 minutesComputational physics is no longer a niche skill. It is a core competence for graduate researchers. Whether you are simulating black hole mergers or modeling phase transitions in alloys, the ability to translate physical equations into working code separates productive researchers from those who struggle to turn theory into results. This guide maps out a […]
Managing Large-Scale Scientific Datasets: Storage Strategies for Long-Term Research
Reading Time: 9 minutesYour simulation outputs are not just files. They are research assets. When a multi-node run finishes and generates hundreds of gigabytes across thousands of time steps, you are not only producing data. You are creating scientific evidence that needs to survive hardware upgrades, personnel turnover, and institutional storage migrations. This guide explains how to structure […]
Open-Source Simulation Tools Comparison: A Decision Framework
Reading Time: 6 minutesKey Takeaways There is no best simulation tool. The right choice depends on your problem type, computational scale, team expertise, and long-term maintenance plan. The four evaluation pillars are domain physics, computational approach, team usability, and licensing or governance. Mesh-based tools such as OpenFOAM, FEniCS, and MOOSE work well for steady-state problems. Mesh-free approaches such […]
Version Control Patterns for Scientific Software: Branching Strategies for Research Projects
Reading Time: 8 minutesKey Takeaways Most research teams should use GitHub Flow. Short-lived feature branches with peer review balance safety with simplicity and match how many scientific collaborations work. GitFlow is often too complex for small labs, but it can help large research libraries with scheduled release cycles. Experiment branches with an exp/ prefix are useful for scientific […]
Scientific Computing Performance Profiling: Identifying Bottlenecks in PDE Solvers
Reading Time: 8 minutesKey Takeaways Profile before optimizing. Do not guess which part of your PDE solver is slow. Measure it first. The real bottleneck is often not the one you expect. Python profilers are practical. Tools such as cProfile, py-spy, scalene, and SnakeViz each support different profiling needs. Common PDE solver bottlenecks include matrix assembly, linear solver […]
Reproducible Parameter Sweeps: Designing Simulation Campaigns for Publication
Reading Time: 8 minutesKey Takeaways Parameter sweeps are experimental design, not just code. Treating them as structured experiments with proper documentation separates publication-ready work from fragile, unreproducible results. Full factorial sweeps are rarely the right choice. With k parameters, a full factorial requires 2^k runs. Fractional factorial designs and space-filling designs like Latin Hypercube Sampling can provide useful […]
Python for Computational Fluid Dynamics: A Practical Primer for Researchers
Reading Time: 7 minutesIf you are a researcher who has spent years working with Navier-Stokes equations and wants to see them run in Python without buying expensive software or rewriting everything in C++, this guide is for you. Computational Fluid Dynamics, or CFD, in Python has matured dramatically. Modern Python-based solvers and frameworks now cover the full workflow, […]
Distributed Parallel Computing Patterns for Scientific Python: MPI, Dask, and Ray
Reading Time: 8 minutesLearn the parallel computing patterns for MPI, Dask, and Ray in Scientific Python. Discover when each framework excels and how to choose the right distributed computing tool for your simulation.
Managing Dependencies in Scientific Python: Lockfiles, Environments, and Reproducibility
Reading Time: 8 minutesManaging dependencies in scientific Python is one of the most important parts of reproducible research. A simulation can fail months later because package versions changed, a Python interpreter shifted, or a numerical library updated in a way that affects results. This guide explains how lockfiles, environments, and modern package managers help researchers keep scientific Python […]
Differential Equations as the Backbone of Simulations
Reading Time: 8 minutesSimulations help us study systems that change over time. A simulation can show how a car moves, how heat spreads through metal, how a population grows, how a fluid flows, or how weather patterns develop. At first, this may look like a programming task only. You write code, run the program, and get numbers or […]
Reproducible simulation workflows in chemistry and materials research: what teams should document
Reading Time: 7 minutesReproducibility in chemistry and materials simulation is not just a matter of storing a script, uploading a dataset, or keeping a folder of input files. A workflow is reproducible when another researcher can understand how a scientific question became a model, how that model became an executable run, how the run produced outputs, and how […]
Case Study: MMSP and Its Role in Scientific Computing
Reading Time: 8 minutesScientific computing is not only about powerful computers or advanced mathematical formulas. It is also about software that helps researchers turn physical questions into models, simulations, and repeatable experiments. In fields such as materials science, chemistry, physics, and engineering, software tools can make it possible to study processes that are difficult, expensive, or slow to […]
How Simulation Tools Change the Way We Tell the History of Modern Science
Reading Time: 5 minutesModern science is often remembered through a familiar script: a problem becomes visible, an instrument captures something new, and a discovery enters public memory as a breakthrough. That script still matters, but it no longer explains enough. In many fields, the decisive shift did not come from a microscope, a telescope, or a single dramatic […]
Scientific Computing Lessons That Teach Developers How Performance Really Works
Reading Time: 7 minutesDevelopers often learn performance from small examples: a faster loop, a cleaner benchmark, a language comparison, a clever micro-optimization. Those examples are useful, but they can also hide the harder truth. Real performance work is rarely about finding one “fast trick.” It is about understanding how a workload behaves when data grows, when memory becomes […]
Geophysics Applications: PDE Modeling for Earth Systems
Reading Time: 7 minutesGeophysical phenomena—from groundwater flow to mantle convection—are governed by partial differential equations (PDEs). Finite volume methods (FVM) solve these PDEs by enforcing conservation laws over control volumes, making them ideal for complex, nonlinear earth systems. Python tools like FiPy provide flexible PDE solving capabilities, while domain-specific packages like MODFLOW/FloPy offer standardized workflows for groundwater modeling. […]
Real-World Applications of Computational Materials Science
Reading Time: 6 minutesComputational materials science has transformed how scientists discover, design, and optimize materials for modern technologies. Instead of relying solely on expensive and time-consuming laboratory experiments, researchers now use powerful simulations, mathematical models, and data-driven techniques to predict how materials behave under real-world conditions. These virtual approaches accelerate innovation, reduce development costs, and allow engineers to […]
Understanding Phase-Field Models in Materials Science
Reading Time: 4 minutesModern materials science increasingly relies on predictive modeling to understand how microstructures form, evolve, and ultimately determine macroscopic properties. From dendritic solidification in alloys to crack propagation in structural materials, many physical phenomena are governed by moving interfaces between phases. Accurately describing these interfaces is one of the central challenges in computational materials science. Phase-field […]
From Equations to Simulations: The Modeling Pipeline
Reading Time: 3 minutesMathematical equations are powerful tools for describing the world. They encode relationships between variables, express conservation laws, and formalize physical, biological, financial, or engineering processes. However, equations alone are not sufficient for real-world prediction or decision-making. To transform mathematical models into actionable insights, we need simulations. The journey from equations to simulations is not a […]
How Mathematical Models Describe Physical Systems
Reading Time: 5 minutesMathematical models are one of the most powerful tools humans have for understanding the physical world. From predicting the motion of planets to designing bridges, simulating climate, or controlling electronic devices, models translate real-world phenomena into equations that can be analyzed, tested, and used for prediction. While the mathematics behind these models can become complex, […]
Introduction to Materials Modeling for Beginners
Reading Time: 7 minutesMaterials modeling is the practice of using mathematics and computation to predict how a material behaves—how it deforms, conducts heat, transports atoms, forms microstructures, or reacts under different conditions. If you’re new to the field, the hardest part is not the equations. It’s learning how to think across scales and how to pick a model […]
What Is Scientific Simulation and Why It Matters
Reading Time: 7 minutesScientific simulation is one of the most practical tools modern research has. It lets scientists and engineers explore complex systems on a computer when real-world experiments are too expensive, too slow, too dangerous, or simply impossible. From modeling how heat spreads through a material to forecasting weather patterns, simulation helps turn “we think” into “we […]
Mesoscale Microstructure Simulation Project (MMSP)
Reading Time: 3 minutesMesoscale Microstructure Simulation Project (MMSP) is a computational framework designed to provide a simple, consistent, and extensible programming interface for grid- and mesh-based methods used to simulate microstructure evolution at the mesoscale. The project addresses a common challenge in computational materials science: enabling researchers to apply a wide range of numerical methods—such as Monte Carlo, […]
TheraPy: Modeling Microstructure Evolution in Drug–Polymer Systems
Reading Time: 3 minutesTheraPy is a collection of Python scripts developed to model the evolution of chemical and physical inhomogeneities—commonly referred to as microstructure—in drug–polymer composite systems used for controlled drug release coatings. These coatings are widely applied in medical devices where drug delivery must be carefully regulated over time. TheraPy focuses on capturing how microstructure forms during […]
Gibbs: A Multi-Physics Thermodynamics Calculation and Visualization Suite
Reading Time: 3 minutesGibbs is a multi-component thermodynamics calculation and visualization suite designed as a general-purpose framework for computing thermodynamic properties, phase equilibria, and phase stability. The project is developed as an open-source platform to support thermodynamics research, model validation, and comparative studies, while also serving as a foundation for educational tools in materials science and related disciplines. […]
RheoPlast
Reading Time: 3 minutesRheoPlast is an open-source finite difference multi-physics code developed for phase-field simulations. Created by Adam Powell, David Dussault, Bo Zhou, Jorge Vieyra, and Wanida Pongsaksawad, the project emerged in the early 2000s as a high-performance computational framework for modeling complex material systems. Designed primarily for research applications, RheoPlast combines numerical efficiency, parallel scalability, and advanced […]