> For the complete documentation index, see [llms.txt](https://jewels86.gitbook.io/axinite/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jewels86.gitbook.io/axinite/axcli/commands/load-and-run.md).

# Load and Run

A guide to using axcli's load and run commands

On this page, you'll learn about:

* Both the `axcli load` and `axcli run` commands and their differences
* When to use `run` and when to use `load`
* Axinite's backends

## `axcli load`

The `load` command takes a template file and computes the timesteps of the system. Afterwards, dumps the data to a file.

```
axcli load <TEMPLATE> [OUTFILE] [-b|--backend BACKEND]
```

## `axcli run`

`axcli`'s `run` command takes a template file and loads it **while simultaneously showing it**.

```
axcli <TEMPLATE> [-b|--backend BACKEND][-f|--frontend FRONTEND]
```

{% hint style="info" %}
For the `-f|--frontend` argument, check out [Live and Show](/axinite/axcli/commands/live-and-show.md).
{% endhint %}

## `run` vs `load`

The `run` command and the `load` command have different purposes.  `run` is meant to be used for testing, or as an alternative to `live` if on a high-end computer. `load` can handle large simulations better due to the fact that it can use JIT.

<table><thead><tr><th>Situation</th><th data-type="checkbox">Load?</th><th data-type="checkbox">Run?</th></tr></thead><tbody><tr><td>Trying out a template file from the catalog</td><td>false</td><td>true</td></tr><tr><td>Simulating 30 days of 1 hour timesteps</td><td>true</td><td>true</td></tr><tr><td>Simulating 30 days of 5 minute timesteps</td><td>true</td><td>false</td></tr><tr><td>Simulating a full rocket launch</td><td>true</td><td>false</td></tr><tr><td>Testing out whether thrust works on the rocket</td><td>false</td><td>true</td></tr></tbody></table>

{% hint style="info" %}
Remember, these are just guidelines!
{% endhint %}

## Backends

Axinite comes included with many built in backends, which you can learn more about [here](/axinite/axinite/backends.md). You can pass in:

* `euler` for a Euler's method backend.
* `euler_nojit` for a Euler's method backend without JIT.
* `verlet` for a Verlet method backend.
* `verlet_nojit` for a Verlet backend without JIT.
