- Major changes to JSON configuration file and full access to TDcoSim features using the tdcosim command.
- Support for dynamic current injection models (fast_der) on the D side and DER_A model on T side.
- Performance improvements, batch processing of simulation runs, and option to use high performance ODE solvers.
- Dashboard for visualizing results and additional methods for data analytics
- Release on PyPI and updated user guide.
-
Performance has been improved for post-processing and saving of data at the end of co-simulation.
-
Dynamic current injection models have been added. These models reduce solution time by 10X to 100X when compared to the detailed DER models. These can be used by specifying
fast_der
in theDEROdeSolver
field of the config file. -
Option to use high performance ODE solvers available in DifferentialEquations.jl has been added for detailed DER models. These solvers reduce time by almost 2 to 10X when compared to the SciPy ODE solvers for a given PV penetration level. These can be selected by selecting
diffeqpy
in theDEROdeSolver
field. -
All TDcoSim user features (generate template, get template help, add user preferences, run simulation and launch dashboard) can be accessed through the tdcosim command line tool.
-
Example JSON configuration files for static or dynamic co-simulation may be generated using the
template
feature. -
Co-simulation may be started using the
run
feature. -
Co-simulation results may be visualized using a browser based interactive dashboard through the
dashboard
feature. -
Path to PSS/E installation may be set using
setconfig -p "path/to/psse"
-
defaultLoadType
field has been added tosimulationConfig
to replace the T side load. The available options are ZIP load (zip) and composite load models (cmld). -
cmldParameters
has been added topsseConfig
to specify properties of composite load models.simID
,outputDir
, andscenarioID
fields have been added tooutputConfig
. -
A
logs
field has been added to the config file. Logs generated during co-simulation will be stored in /tdcosim/logs/. Log level can be set usinglevel
(10, 20, 30, or 40). Error messages at feeder level can be enabled by settingsaveSubprocessOutErr
to True. -
excludenode
filed has been added todefaultFeederConfig
. It is used to specify the list of T side nodes that will be excluded from being connected with a distribution feeder model. -
Added additional analysis methods in the
DataAnalytics
module:compute_stability_time
,lag_finder
,instances_of_violation
-
Added additional plotting methods in the
DataAnalytics
module:plot_omega
,plot_t_vmag
,plot_t_delayed_voltage_recovery
-
Support for additional detailed DER model types:
SolarPVDERThreePhaseNumba
,SolarPVDERSinglePhaseConstantVdc
. -
User guide has been updated and following new chapters have been added: Using the configuration template, Data Visualization and Analytics, and Performance guide. Examples have been updated and config files for the examples are included in /tdcosim/examples.
- run_time_domain.py and run_qsts.py are no longer supported for running co-simulation and were removed. The functionality has been replaced with
tdcosim run -c "config.json"
from command line. - The examples folder in root was relocated to /tdcosim/examples. Older examples were removed and new examples were added.
- The SampleData folder in root was relocated to /tdcosim/data.
- The output folder in root was removed.
- The der_config.json was moved to /tdcosim/config/detailed_der_default.json
- Default configuration will now correctly configure all the buses which were not specified through
manualFeederConfig
using the configuration provided throughdefaultFeederConfig
. - If the T side node is not a load bus, distribution feeders won't be connected to it and an error will be produced.
- The folder to store the results needs to be specified through the
output
andsimID
field in the configuration file.
- Fixed numerous bugs related to performance and logging.
- Not compatible with pvder 0.5.0. and below.
- Not compatible with configuration files used in V1.2.0
This release contains contributions from Karthikeyan Balasubramaniam @karthikbalasu, Sang-iL Yim @yim0331, Siby Jose Plathottam @sibyjackgrove, Kumarsinh Jhala @Kumarsinh, and Shijia Zhao at Argonne National Laboratory. We thank suggestions from Ning Kang (INL), Rojan Bhattarai (INL), NERC System Planning Impacts from DER Working Group (SPIDERWG), and Reliability First Corporation.
- Supported PSSE35
- Added DER models, compatible with pvder 0.3.0.
- Extended the maximum network size and simulation time
- Supported PSSE35 with new configuration option:
"psseConfig": {"installLocation": "C:\\Program Files\\PTI\\PSSE35\\35.0\\PSSPY27"}
- Support for following DER model types has been added:
SolarPVDERThreePhase
,SolarPVDERThreePhaseBalanced
, andSolarPVDERThreePhaseConstantVdc
which can be selected through the DER configuration file as shown below:
"basic_specs":{"model_type":"SolarPVDERThreePhase"}
- Support for fully customizing the DER model parameters through the DER configuration file as shown below:
"basic_options":{"Sinsol":100.0},
"module_parameters":{"Np":11,"Ns":735,"Vdcmpp0":550.0,"Vdcmpp_min": 525.0,"Vdcmpp_max": 650.0},
"inverter_ratings":{"Srated":50e3,"Vdcrated":550.0,"Ioverload":1.3,"Vrmsrated":177.0},
"circuit_parameters":{"Rf_actual":0.002,"Lf_actual":25.0e-6,
"C_actual":300.0e-6,"R1_actual":0.0019,"X1_actual":0.0561},
"controller_gains":{"Kp_GCC":6000.0,"Ki_GCC":2000.0,
"Kp_DC":-2.0,"Ki_DC":-10.0,
"Kp_Q":0.2,"Ki_Q":10.0,"wp": 20e4}
- Extended the memory limit to simulate a large scale network and operation time: To avoid the out of memory error, TDcoSim generates reports according to the memory threshold. The memory threshold is automatically calculated during the simulation by the input network and system memory size.
Following breaking changes were introduced in the config file:
- Replaced keywords: n_phases in basic_specs in DER setting with model_type:
"basic_specs":{n_phases":3}
to
"basic_specs":{"model_type":"SolarPVDERThreePhase"}
- Added psutil as an additional dependency
- Fixed unit test to compatible with the DER and PSSE updates
- Not compatible with pvder 0.2.0.
This release contains contributions from Karthikeyan Balasubramaniam @karthikbalasu, Sang-il Yim @yim0331, and Siby Jose Plathottam @sibyjackgrove at Argonne National Laboratory. We thank suggestions from Ning Kang (INL) and Rojan Bhattarai (INL)
- Increased user flexibility w.r.t. DER placement, and voltage ride through.
- Compatible with pvder 0.2.0.
- Ride through refactoring based on configurable thresholds:
"LVRT":{"0":{"V_threshold":0.5,"t_threshold":1.0,"mode":"momentary_cessation"}}
- Configuring unique DERs at each node using
PVPlacement
:
"PVPlacement":{"50":{"derId":"50","powerRating":50,"pvderScale":1}}
- Exposure of DER settings through
derId
and DER configuration file:
"50":{"circuit_parameters":{"Rf_actual":0.002,"Lf_actual":25.0e-6, "C_actual":300.0e-6}}
-
Ride through: There are two modes for each threshold. momentary_cessation: Power output reduced to zero temporarily mandatory_operation: Try to maintain rated power output
In all the modes, once the
t_threshold
times are breached, the DER is tripped (i.e. power output reduced to zero permanently). The config will be expected to work with any number of elements (>0) in theLVRT
andHVRT
dictionaries. -
If
initializeWithActual
is True,PNominal
andQNominal
at each feeder node will be initialized with the actual power output from DER at 100 % insolation. If False, they will be initialized with rated apparent power output of DER.
Following breaking changes were introduced in the config file:
- Replaced keywords: power_rating replaced with powerRating, voltage_rating replaced with VrmsRating replaced with, SteadyState replaced with steadyStateInitialization
- Removed keywords: V_LV0/1/2,t_LV0/1/2/_limit,V_HV1/2,t_HV1/2_limit,VRT_INSTANTANEOUS_TRIP,VRT_MOMENTARY_CESSATION,
- Fixed the handlers not found warning from logger when DER instances are created.
- Not compatible with pvder 0.1.0.
This release contains contributions from Karthikeyan Balasubramaniam @karthikbalasu, Sang-iL Yim @yim0331, and Siby Jose Plathottam @sibyjackgrove at Argonne National Laboratory. We thank suggestions from Ning Kang (INL) Rojan Bhattarai (INL), and Deepak Ramasubramanian (EPRI)).
Initial release of TDcoSim.