The Mathematical model can be found in HCEstimator.jl
- 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
It was genereted tree types of results:
- Estimation of Hosting Capacity (HC) for both DG and EV together (ESS case).
- Estimation of HC only for DG.
- Estimation of HC only for EV.
Results can be seen on results.tar.gz
. You can extract it to results/
.
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.
git clone https://github.com/felipemarkson/Monteiro2022Results.git
cd Monteiro2022Results/
julia --project=.
This command will install all dependencies in the current environment keeping your Julia installation clean.
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.
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
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
After choose the evaluation you can be able to run:
julia> include("src/main.jl")
This command should take several minutes to finish.
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.