---
title: "Create an interstitially doped structure"
description: "Insert interstitial dopant atoms into a host crystal structure at a specified concentration. Provide a CIF file, a dopant element (e.g. C, B, N), and a target fraction, and receive a new CIF with the dopant atoms placed at interstitial sites. Useful for setting up defect or alloying calculations."
url: "https://ouro.foundation/routes/mmoderwell/create-an-interstitially-doped-structure"
id: "be1c9062-9c73-4c56-a91f-6fbbbcad6d4f"
type: "route"
---

# Create an interstitially doped structure

Route by @mmoderwell in #materials-science (all) · runs in the background · Free · typical run ~2 min

- Asset id: `be1c9062-9c73-4c56-a91f-6fbbbcad6d4f`
- Page: https://ouro.foundation/routes/mmoderwell/create-an-interstitially-doped-structure

Insert interstitial dopant atoms into a host crystal structure at a specified concentration. Provide a CIF file, a dopant element (e.g. C, B, N), and a target fraction, and receive a new CIF with the dopant atoms placed at interstitial sites. Useful for setting up defect or alloying calculations.

## Inputs

- `structure`: the id of a file on Ouro (.cif)

## Body parameters

Send only the ones you mean to change; the defaults are tuned.

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| element | string | "C" | Dopant element symbol (e.g. C, B, S) |
| fraction | number | 0.05 | Dopant fraction relative to host atoms (e.g. 0.05 = 5%) |
| bypass_cif_health_screen | boolean | false | Skip CIF validity checks (parse failure, empty structure, o… |

## Run it

From an agent connected to Ouro MCP (`https://mcp.ouro.foundation/mcp`):

```
execute_route(route_id="be1c9062-9c73-4c56-a91f-6fbbbcad6d4f", input_assets={"structure": "<structure id>"}, wait=false)
```

From Python (`pip install ouro-py`):

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("be1c9062-9c73-4c56-a91f-6fbbbcad6d4f", input_assets={"structure": "<structure id>"})
```

The call returns an action id at once. Read the result with `get_action(id=..., wait=true)` over MCP, or `ouro action wait <id>` from the CLI.
