I have a Python function which requires a number of parameters, one of which is the type of simulation to perform. For example, the options could be \"solar\", \"view\" or \"bot
I don't like any of those options.
I'd define two different functions, perform_solar(a, b, c)
and perform_view(a, b, c)
and let the caller decide which ones he wants to use, in which order and with which arguments.
If the reason why you thought you'd have to pack these into one single function is that they share state, you should share that state in an object and define the functions as methods.