First Principles Materials Modeling:
Compiled a database of materials, using a number of sources, that are predicted to be stable by machine learning algorithms and with which no prior work was done. Such a database aids in selecting new materials for further investigation, and as it has been compiled using material from various sources, it saves valuable time.
conducted first-principles calculations on a selection of compounds from the aforementioned database, utilizing Quantum ESPRESSO and VASP for this work. This endeavor not only provided valuable insights into the properties of the compounds but also served as a comprehensive introduction to and practical training in these DFT codes, enabling me to develop proficiency in their application. These are given below:
To ensure my published work reaches a broader audience, I use visual summaries to accelerate engagement:
Farhan Noor et al 2024 Phys. Scr. 99 125962
Farhan Noor et al 2025 Physica B: Condensed Matter 716 417693
Under Preparation
Data Visualisation:
To streamline the post-processing of Density Functional Theory (DFT) workflows, I have developed a comprehensive suite of Python scripts and made use of Origin Pro when appropriate. These tools handle data extraction, formatting, and advanced visualization, allowing for the efficient analysis of material properties. A primary focus of this automation is the production of publication-ready graphs, which serve as the visual foundation for my research findings. Many of my visualization styles are based on inspiration taken from the literature.
The scripts used to develop the above include:
Farhan Noor, F. planar_dos [Computer software]. https://github.com/FarhanNoor02/planar_dos
Farhan Noor, F. fermi_bxsf [Computer software]. https://github.com/FarhanNoor02/fermi_bxsf
Farhan Noor, F. EPW_PostProcess [Computer software]. https://github.com/FarhanNoor02/EPW_PostProcess
Computer Aided Design (CAD):
I have complemented my scientific expertise with the ability to use basic functions of the CAD (Computer-Aided Design) software FreeCAD 0.21 for 3D modeling and creating technical drawings. By using CAD, one can test the feasibility of a concept before physical prototyping, saving time, resources, and effort. This was one of the reasons why I started 3D Modeling using CAD. This capability has proven valuable for communicating ideas effectively, whether through technical drawings or conceptual designs for collaborative projects.
Moreover, proficiency in open-source CAD software enhances my versatility as a researcher, enabling me to contribute to interdisciplinary efforts where engineering and design intersect with science. By integrating open-source tools into my workflow, I can create detailed 3D models and technical drawings without the limitations of proprietary software, ensuring greater accessibility and flexibility.
3D model created entirely in FreeCAD 0.21.1 and exported as a draft.
3D model created entirely in FreeCAD 0.21.1 and exported as a draft.
Scripts and Automation:
An Interactive Workflow Automation Tool for Quantum ESPRESSO. QE-KIT is a Python-based ecosystem designed to bridge the gap between structural modeling and high-level physics properties. It automates the tedious aspects of Quantum ESPRESSO (QE) simulations, from CIF file conversion and "Smart" pseudopotential mapping to structural refinement and phonon post-processing. It only requires a structural .cif file to get started, and it pre-processes it to produce all the input files that are compatible with ESPRESSO.
Implemented a web-scraping tool to compile a library of pseudopotentials for use with Quantum ESPRESSO. In VASP, the POTCAR directories provide a unified, predictable structure for functional and methodology types. Quantum ESPRESSO (QE) users, however, often have to manually download, rename, and sort files from various legacy tables. Often, the pseudopotentials have to be downloaded individually for each new project, making this cumbersome. QEPotcar is a suite of automation scripts designed to "fill the gap."- allowing users to setup a local library with ease.
Implemented various numerical algorithms in the C++ programming language, focusing on root finding, numerical differentiation, numerical integration, and solving differential equations. The root-finding algorithms included the secant method, bisection method, and Newton-Raphson method. For numerical differentiation, I employed the three-point difference scheme, while integration techniques included the trapezium rule and Simpson's rule. Additionally, I implemented the Runge-Kutta method to solve differential equations.