Examples of how to use NREL Sienna for power systems modeling and simulation.
- Go to https://julialang.org/downloads/
- Scroll down to "Official Binaries for Manual Download" and open the [help] link for your platform in a new tab. Follow the instructions.
- Open the Julia app. Check that it worked by typing the following. It should print
Hello World
to the console.julia> println("Hello World!")
If you don't already have a preferred IDE (integrated development environment), VSCode is a good option. This is software that makes it easy to open, write, and edit code.
- Go to https://code.visualstudio.com/docs/languages/julia
- Follow the steps under "Getting Started." Skip Step 1 (the Julia install) if you already did that.
Source: https://julialang.github.io/IJulia.jl/stable/manual/running/
- Open Julia
- Open the package
manager
]
- Add the
IJulia
package which will allow Jupyter to run Julia code.add IJulia
- Exit the package manager by hitting backspace.
- Open
jupyter notebook
from Juliausing IJulia notebook()
- You will be prompted to install Jupyter using Conda. Choose yes by typing
y
. - Once this is done installing,
jupyter notebook
will open in your browser. You will see your local file structure. - To use a downloaded notebook, navigate to the notebook in your file structure and open it.
- To create a new notebook for running Julia code, select the dropdown in the upper right corner labeled
New
and select Julia.
NREL-Sienna is a set of "Open Source Tools for Scientific Energy Systems Analysis". More information can be found on their GitHub page (https://github.com/NREL-Sienna).
- Download one of the examples in this repo.
- Run the first few lines of the file under
# Set up the package environment
. This will download all of the packages necessary for the example if you don't already have them.
- Open Julia
- Open the package manager using
]
- (Optional but recommended) Create a new project with an environment by following these instructions.
- Add whatever packages you need. For example:
(These packages is just an example starting point, not an extensive list)
add PowerSystems add PowerSystemCaseBuilder add PowerSimulationsDynamics add Sundials add Plots
- JuliaTutorials - introductory (jupyter notebooks)
- JuliaAcademy - introductory (courses)
- Example -- Simple
BranchTrip
simulation withPowerSimulationsDynamics.jl
- Note: this example has been copied into this repo as
Dynamics/OMIBBranchTrip.jl
- Note: this example has been copied into this repo as
- Docs -- Perturbation types in
PowerSimulationsDynamics.jl
- Docs -- Details about the dynamic simulation initialization process