How to Simulate Materials with DFT

by Raphael Stone · May 28, 2026

The Expulsion of Heliodorus from the Temple by Raffaello Sanzio (c. 1511–1512)

The Expulsion of Heliodorus from the Temple, Raffaello Sanzio (c. 1511–1512)

Welcome to the world of materials simulation, where reciprocal space is the conceptual norm, basis sets are described by a single number, and your "molecule" is infinite. Plane-wave density-functional theory (DFT) is the realm of the materials scientist, and while the nomenclature differs from molecular DFT, most of the underlying theory is the same. This post is an introduction to the machinery of plane-wave DFT.

Conceptual shifts

Plane-wave DFT is used to simulate any system with translational periodicity. The unit cell tiles space infinitely in every direction, which is key to the physics. Plane waves are sinusoidal, orthogonal, and space-filling, which makes them the natural basis for an infinite periodic solid.

MgO unit cell replicated in a 5×5 supercell, with plane waves propagating through space

Figure 1: MgO infinite periodic solid

From this basis, there are a few practical consequences:

We set some reasonable defaults so you don't have to worry about these choices if you don't want to. But it's always good to know why and how these decisions are made. I'll outline how you can approach these new concepts when simulating your materials.

Pseudopotentials

Core electrons are chemically inert. They don't participate in bonding, don't change between environments, and sit close to the nucleus where their wavefunctions oscillate rapidly. That rapid oscillation is expensive in a plane-wave basis. Pseudopotentials, unique to each element, solve this by replacing the core electrons and the nuclear potential with a single smooth effective potential that reproduces the correct behavior outside the core region. The valence electrons, meanwhile, are treated explicitly since they are responsible for bonding, conductivity, and reactivity. The expensive core physics gets absorbed into a potential, and the cheaper valence electrons are explicitly modeled.

There are three types of pseudopotentials in common use: norm-conserving, ultrasoft, and projector-augmented wave (PAW). Norm-conserving pseudopotentials make the least presumptive approximations at the core boundary, and are often a safe general-purpose choice. Ultrasoft pseudopotentials relax that boundary condition for efficiency, which works well for most main-group elements and oxides where the core isn't chemically active. PAW pseudopotentials take a different approach entirely. Rather than discarding the core, they retain enough information to reconstruct the full electron density near the nucleus. This is necessary for transition metals and properties like magnetic moments that are sensitive to what's happening in the core region.

The Standard Solid-State Pseudopotentials (SSSP) library is a curated, benchmarked set of pseudopotentials covering the first 103 elements of the periodic table. SSSP is a carefully chosen mix of norm-conserving, ultrasoft, and PAW pseudopotentials selected per element for accuracy and efficiency. We offer four SSSP variants: efficiency and precision (for speed and accuracy respectively), each available with PBE or PBEsol pseudopotentials. The pseudopotential variant should match your functional. Use PBEsol pseudopotentials only with the PBEsol functional, and PBE pseudopotentials with everything else.

Plane-wave basis

The plane-wave basis is controlled by two kinetic-energy thresholds: one for the wavefunctions (plane-wave cutoff) and one for the charge density (charge-density cutoff). All plane waves with kinetic energy below the relevant threshold are included in the basis. More plane waves means a more complete basis, higher accuracy, and more expense. The two cutoffs are typically related, but different pseudopotential types have different relationships between them.

Each pseudopotential dictates its own plane-wave cutoffs. Through convergence testing, published pseudopotentials have recommended cutoffs so the user can be confident their simulation is appropriately converged. Since these cutoffs are element-specific, they are tied to their corresponding pseudopotentials. The most demanding element in the structure sets the bar for the whole calculation. By way of example, consider MgO: while magnesium may converge at a plane-wave cutoff of 15 Eh for a given pseudopotential, oxygen may require 25 Eh, so the overall MgO plane-wave cutoff must be 25 Eh or higher.

We automatically set these recommended cutoffs for you, making running a Li(Ni1/3Mn1/3Co1/3)O2 calculation just as easy as running diamond. You don't have to sift through pseudopotential files, matching levels of theory and types before choosing your cutoffs. We give you the recommended minimum cutoff, and you can adjust it as you see fit. Generally, only raise the number from the suggested value.

To test if your energy cutoff is right, run the same calculation at increasing cutoffs and choose a cutoff that gets an error you're comfortable with. Below are convergence curves for silicon, copper, and MgO, with the recommended defaults in Rowan marked. In each case, the recommended value sits comfortably in the converged regime.

Line plot showing energy error vs. plane-wave cutoff energy for Si, Cu, and MgO

Figure 2: Energy vs. plane-wave cutoff convergence for Si, Cu, and MgO.

K-points and smearing

In a periodic solid, the electronic structure varies across reciprocal space and must be sampled on a grid. K-points are the sample locations on that grid. More k-points means a finer grid, higher accuracy, and more expense.

For insulators and semiconductors, the electronic structure varies smoothly across reciprocal space, and a coarse grid captures it faithfully. Metals are different. Filled and empty electronic states are separated by no band gap — they meet at a single energy. As a result, a given state can get counted as filled or empty with just a small change in how you sample. A coarse k-grid will undersample that boundary, leading to erratic convergence and unreliable energies.

The standard fix is smearing. Rather than enforcing a sharp step-function occupation at the Fermi level, you broaden it slightly into a smooth function, which stabilizes the k-point integration. Marzari–Vanderbilt cold smearing is the standard choice for metals.

We set k-point grids based on a target density in reciprocal space, calculated from your input cell geometry. As a result, smearing is left at the discretion of the user. Below are convergence curves for silicon, copper, and MgO with Rowan's default k-grid marked.

Line plot showing energy error vs. k-point grid density offset from Rowan's recommendation for Si, Cu, and MgO

Figure 3: Energy vs. k-point density convergence for Si, Cu, and MgO

The poor convergence for copper is a cautionary tale. As previously mentioned, metals deserve extra attention. Namely, a denser k-point grid and applied smearing of ≈0.01 Eh. It is recommended to find literature values for materials similar to what you are simulating.

Further challenges

As you get acquainted with plane-wave DFT, it's worth appreciating some of the gentle quirks and engineering challenges.

Consider what happens when you try to remove an electron from your periodic system. In molecular DFT, this is a routine operation: you drop the electron count by one, solve, and report the cation energy. In periodic DFT, your unit cell is one tile of an infinitely repeating pattern. Removing an electron from the cell means removing one from every cell. You've created an infinite expanse of charged matter, and its Coulomb energy doesn't converge.

The standard workaround is to keep the cell electrically neutral by sleight of hand: compensate the missing electron with a fictitious uniform background charge, a smooth jellium smeared across the cell. The infinite-lattice problem dissolves and the calculation runs. But you haven't computed quite what you wanted. You've computed your charged species sitting in a sea of compensating charge, with its periodic images doing the same in every neighboring cell.

These sorts of problems each have unique solutions that require careful implementation. We hope to address many of these as we continue to build our capabilities for materials modeling.

Banner background image

Start running calculations in minutes!

Our platform lets you submit, view, analyze, and share calculations using cutting-edge methods trusted by hundreds of leading scientists. We give every new user 500 free credits to start, plus more every week. Making an account and running your first calculation takes only seconds: start using Rowan today!

Start computing →

What to read next

How to Simulate Materials with DFT

How to Simulate Materials with DFT

An introduction to plane-wave DFT for chemists: pseudopotentials, energy cutoffs, k-points, smearing, and what to watch out for.
May 28, 2026 · Raphael Stone
Fast and Efficient Butina Splitting of Chemical Data with Chalcedon

Fast and Efficient Butina Splitting of Chemical Data with Chalcedon

A fast, memory-efficient, minimal-dependency Python package for Butina clustering and splitting chemical data.
May 27, 2026 · Eli Mann
Improving Rowan's Performance on the OpenBind EV-A71 Release

Improving Rowan's Performance on the OpenBind EV-A71 Release

How we recovered useful RBFE accuracy on a challenging real-world dataset.
May 20, 2026 · Corin Wagen
New Protein Visualizations

New Protein Visualizations

distilling insight from complexity; two-dimensional protein–ligand interaction diagrams; protein blob surfaces; space-filling molecule representations
May 19, 2026 · Ari Wagen
Notes on Rowan Engineering; Or How to Vibe-Refactor a Codebase

Notes on Rowan Engineering; Or How to Vibe-Refactor a Codebase

stuck in Rowan's dependency slough of despond; fleeing the complexity of microservices & partial refactors; multiplying packages to reduce complexity; using agents to vibe-refactor our whole codebase
May 13, 2026 · Jonathon Vandezande
Testing Rowan on the OpenBind EV-A71 Release

Testing Rowan on the OpenBind EV-A71 Release

How Rowan's analogue-docking and RBFE workflows fare on this dataset.
May 6, 2026 · Corin Wagen
Benchmarking Membrane-Permeability Predictors

Benchmarking Membrane-Permeability Predictors

Testing GNN-MTL and PyPermm on datasets of small molecules, macrocycles, and PROTACs
Apr 28, 2026 · Ari Wagen
Smarter Analogue Docking, Pocket Detection, and g-xTB Analytical Gradients

Smarter Analogue Docking, Pocket Detection, and g-xTB Analytical Gradients

more robust MCS detection; conformer sampling with torsional Monte Carlo; better alignment and RBFE results; a new pocket-detection workflow; analytical gradients now available for g-xTB
Apr 23, 2026 · Zachary Fried, Corin Wagen, Ari Wagen, and Jonathon Vandezande
g-xTB pKa and Website Redesign

g-xTB pKa and Website Redesign

the flaws with Rowan's AIMNet2-based pKa method; our new g-xTB-based approach; benchmarking and availability; a logo and new website for Rowan
Apr 15, 2026 · Corin Wagen and Ari Wagen
Easter Updates to Rowan

Easter Updates to Rowan

webhooks, draft workflows, and usage estimates for Rowan's Python API; tautomers in non-aqueous solvents; COSMO-based descriptors; overage-based billing; an FEP speed test; welcome Zach
Apr 9, 2026 · Eli Mann, Ari Wagen, Spencer Schneider, Jonathon Vandezande, and Corin Wagen