felipemarkson / Monteiro2022Results

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Monteiro2022Results

The Mathematical model can be found in HCEstimator.jl

Scenarios

  • S1: No Distributed Generation (DG), Electrical Vehicles Charger (EV) or Energy Storage System (ESS).
  • S2: 3º Party 0.1 MW Renewable DGs on buses 26, 29, 13, and 6
  • S3: Same of S2 and 3º Party 50kW/50kWh ESSs on buses 4and 32
  • S4: Same of S2 and 3º Party 50kW EV chargers on buses 17 and 20
  • S5: Full dispached 0.1 MVA DG on buses 18, 33, 22, and 25
  • S6: Same as S5 and same as S2
  • S7: Same as S5 and same as S3
  • S8: Same as S5 and same as S4
  • S9: Same of S5, same of S4 and 3º Party 50kW/50kWh ESSs on buses 4 and 32

Results

It was genereted tree types of results:

  1. Estimation of Hosting Capacity (HC) for both DG and EV together (ESS case).
  2. Estimation of HC only for DG.
  3. Estimation of HC only for EV.

Results can be seen on results.tar.gz. You can extract it to results/.

How to run

0. Download and install Julia

The scripts were tested on Julia LTS v1.6.6, but any version >= 1.6 < 2.0 should work.

Download Julia and install in your current platform, instructions here.

1. Set up the environment

Clone this repository

git clone https://github.com/felipemarkson/Monteiro2022Results.git

Change to the project repository

cd Monteiro2022Results/

2. Start Julia in the current repository

julia --project=.

This command will install all dependencies in the current environment keeping your Julia installation clean.

3. Run the main.jl file

The main file generete the results for DG and EV Hosting capacity estimation together.

julia> include("src/main.jl")

This command should take several minutes to finish.

4. Changing the main.jl file to generate others results (optional)

For evaluation of only EV Chargers

The function build_sys in src/Monteiro2022Results.jl must be repleced by:

function build_sys(data::DataFrames.DataFrame, add_der)::HCEstimator.System
    sub = build_substation()
    sys = DistSystem.factory_system(data, 0.93, 1.05, sub)
    sys = add_der(sys)
    sys.m_load = [0.6, 0.8, 1.0]
    sys.m_new_dg = [-1.0, 0.0] # The only change occurs here
    sys.time_curr = 1.0
    return sys
end

For evaluation of only DGs

The function build_sys in src/Monteiro2022Results.jl must be repleced by:

function build_sys(data::DataFrames.DataFrame, add_der)::HCEstimator.System
    sub = build_substation()
    sys = DistSystem.factory_system(data, 0.93, 1.05, sub)
    sys = add_der(sys)
    sys.m_load = [0.6, 0.8, 1.0]
    sys.m_new_dg = [0.0, 1.0] # The only change occurs here
    sys.time_curr = 1.0
    return sys
end

Run again

After choose the evaluation you can be able to run:

julia> include("src/main.jl")

This command should take several minutes to finish.

How to generate the Plots

You will need Python 3.10+ to generate the plots. Then you can run:

# Create the virtual enviroment
python -m venv .venv

# Activate the virtual enviroment
source .venv/bin/activate

# Install the requirements
pip install -r requirements.txt

# Run Jupyter Notebook
jupyter notebook

Then, open results.ipynb using Jupyter and run it.

About

License:Other


Languages

Language:Jupyter Notebook 99.2%Language:Julia 0.8%