Configuration

class pydynamicestimator.config.Config(**data)[source]

Configuration class used to store all relevant attributes for the execution of simulation and estimation.

Parameters:
  • data (Any)

  • testsystemfile (str)

  • system_root (Path | None)

  • omega_mode (Literal['coi', 'single', 'nom', 'dist'])

  • omega_single_idx (str | None)

  • fn (Literal[50, 60])

  • Sb (int)

  • ts (float)

  • te (float)

  • T_start (float)

  • T_end (float)

  • filter (Literal['iekf', 'ekf'])

  • int_scheme (Literal['backward', 'trapezoidal', 'forward'])

  • int_scheme_sim (Literal['idas', 'collocation', 'cvodes', 'rk'])

  • int_scheme_sim_options (dict)

  • init_error_diff (float)

  • init_error_alg (bool)

  • plot (bool)

  • plot_voltage (bool)

  • plot_diff (bool)

  • proc_noise_alg (float)

  • proc_noise_diff (float)

  • incl_lim (bool)

  • skip_est (bool)

  • line_dyn (bool)

  • skip_disturance (bool)

  • debug_check_init (bool)

  • print_power_flow (bool)

  • small_signal_analysis (bool)

  • log_level (Literal['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'])

pydynamicestimator.config.Config.updated(self, **kwargs)

All keyword arguments listed below are optional and can be used to customize the configuration.

Parameters:
  • testsystemfile (str) – The path to the system test case.

  • fn (float) – System frequency (currently only tested for 50 Hz).

  • omega_mode (str) – Reference frequency mode used in the simulation. Must be ‘coi’, ‘single’, ‘nom’ or ‘dist’.

  • omega_single_idx (str or None) – Reference device identifier (e.g. “SG1”) used only if omega_mode=’single’ (None → slack bus).

  • Sb (float) – Base power of the grid in [MW]. Line parameters are assumed to be calculated using this base power.

  • ts (float) – Simulation time step.

  • te (float) – Estimation time step. Must be greater than or equal to the simulation time step.

  • T_start (float) – Estimation start time (must currently be 0).

  • T_end (float) – End time of the simulation/estimation.

  • int_scheme (str) – Integration scheme for the estimation. Must be ‘trapezoidal’ or ‘backward’.

  • init_error_diff (float) – Estimation initialization error for differential states. E.g., 1.0 corresponds to 10% error.

  • init_error_alg (bool) – Whether to use a flat start (True) or true values (False) for initialization.

  • plot (bool) – Enable or disable plotting.

  • skip_est (bool) – Skip estimation completely.

  • plot_voltage (bool) – Whether to plot voltage data.

  • plot_diff (bool) – Whether to plot differential state data.

  • proc_noise_alg (float) – Process noise for the algebraic equations. Default is 1e-3.

  • proc_noise_diff (float) – Process noise for the differential equations. Default is 1e-4.

  • incl_lim (bool) – If state limiters should be included in the simulation and the estimation. If False, the simulation will be much faster.

  • line_dyn (bool) – Simulate with line dynamic models (differential equations).

  • skip_disturance (bool) – Skip disturance simulation and estimation.

  • debug_check_init (bool) – Enable debug check for initialization of DAE system.

  • print_power_flow (bool) – Print initial power flow to output.

  • small_signal_analysis (bool) – Run the small-signal eigenvalue/participation analysis at the operating point (before the simulation) and show the frequency-banded participation figures plus the modal report.

  • kwargs (Any)

Returns:

A new instance of the Config class configured with the provided parameters.

Return type:

Config

Example:

For every run of the estimator an object of class Config needs to be passed. Custom configurations can be created as follows:

from pydynamicestimator.config import config
new_config = config.updated(te=0.01, T_end=12.0)