Without the provider, the trains behave like normal trains. Once the providers have power, a special fuel is "charged". Should a normal fuel be present, or have been used, it will be stored and reloaded on demand.
The source code is also available on github. I hope I could explain it a bit.