VeraGridEngine.Simulations.LinearFactors package

Submodules

VeraGridEngine.Simulations.LinearFactors.linear_analysis module

class VeraGridEngine.Simulations.LinearFactors.linear_analysis.ContingencyIndices(contingency_group: ContingencyGroup, contingency_group_dict: Dict[str, List[Contingency]], branches_dict: Dict[str, int], hvdc_dict: Dict[str, int], vsc_dict: Dict[str, int], injections_bus_index_dict: Dict[str, int])[source]

Bases: object

Contingency indices

class VeraGridEngine.Simulations.LinearFactors.linear_analysis.LinearAnalysis(nc: NumericalCircuit, distributed_slack: bool = False, correct_values: bool = False, logger: Logger = <VeraGridEngine.basic_structures.Logger object>)[source]

Bases: object

Linear Analysis

get_corrected_injections(P: ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]][source]

This function corrects the original injections to match the PTDF flows :param P: Nodal injections :return: Corrected nodal injections

get_corrected_injections2d(P: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]][source]

This function corrects the original injections to match the PTDF flows :param P: Nodal injections :return: Corrected nodal injections

get_flows(Sbus: ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]], P_hvdc: ndarray[tuple[Any, ...], dtype[float64]] | None = None, P_vsc: ndarray[tuple[Any, ...], dtype[float64]] | None = None) ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]][source]

Compute the time series branch Sf using the PTDF :param Sbus: Power Injections time series array (nbus) :param P_hvdc: Power from HvdcLines (nhvdc) (optional) :param P_vsc: Power from Vsc (nvsc) (optional) :return: branch active power Sf (nbranch)

get_flows2d(Sbus: ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]], P_hvdc: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]] | None = None, P_vsc: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]] | None = None) ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Compute the time series branch Sf using the PTDF :param Sbus: Power Injections time series array (time, nbus) for 2D :param P_hvdc: Power from HvdcLines (nhvdc) (optional) :param P_vsc: Power from Vsc (nvsc) (optional) :return: branch active power Sf (time, nbranch)

get_injections(flows: ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]][source]

Get injections that satisfy the flows :param flows: Array of flows (nbranch) :return: Array of injections (nbus)

get_reverse_injections_2d(flows: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Get injections that satisfy the flows :param flows: Matrix of flows (time, nbranch) :return: Matrix of injections (time, nbus)

get_transfer_limits(flows: ndarray, rates: ndarray[tuple[Any, ...], dtype[float64]])[source]

Compute the maximum transfer limits of each branch in normal operation :param flows: base Sf in MW :param rates: rates in MW :return: Max transfer limits vector (n-branch)

class VeraGridEngine.Simulations.LinearFactors.linear_analysis.LinearAnalysisTs(grid: MultiCircuit, distributed_slack: bool = False, correct_values: bool = False, time_indices: IntVec | None = None, contingency_groups_used: List[ContingencyGroup] | None = None, ptdf_threshold: float = 0.0001, lodf_threshold: float = 0.0001, compute_multi_contingencies: bool = True)[source]

Bases: object

Class to compute the different linear states of a grid

get_branch_flow_ts(branch_idx: int, bus_idx: int, P: ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]][source]

Get the flow time series of a single branch given the injection time series of a single bus :param branch_idx: Branch index :param bus_idx: Bus index :param P: Bus injection time series :return: Branch flow time series

get_corrected_injections_ts(P_ts: ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]]) ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Get the corrected injections time series :param P_ts: Time series injections :return: Bus injection time series

get_flows_at(t_idx: int, P: ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]][source]

Get the flows at a time step :param t_idx: Time index :param P: Injections vector :return: branch flows vector

get_flows_ts(P: ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]], progress_func=None, progress_text=None) ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Get the flow time series of all branches given the injection time series all buses :param P: Bus injection time series :param progress_func: Progres function :param progress_text: Progress text function :return: Branches flow time series

get_linear_analysis_at(t_idx: int) LinearAnalysis[source]
Parameters:

t_idx – time index in the general schema

Returns:

get_multiple_contingencies_at(t_idx: int) LinearMultiContingencies[source]
Parameters:

t_idx

Returns:

get_reverse_injections_ts(flows_ts: ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]]) ndarray[tuple[Any, ...], dtype[complex128]] | ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Get the flow time series of all branches given the injection time series all buses :param flows_ts: Branches flow time series :return: Bus injection time series

class VeraGridEngine.Simulations.LinearFactors.linear_analysis.LinearMultiContingencies[source]

Bases: object

compute(lin: LinearAnalysis, ptdf_threshold: float = 0.0001, lodf_threshold: float = 0.0001) None[source]

Make the LODF with any contingency combination using the declared contingency objects :param lin: LinearAnalysis instance :param ptdf_threshold: threshold to discard values :param lodf_threshold: Threshold for LODF conversion to sparse :return: None

property contingency_group_dict: Dict[str, List[Contingency]]

get the contingency grooups dictionary :return: Dict[str, List[Contingency]]

get_contingency_group_names() List[str][source]

Returns a list of the names of the used contingency groups :return: List[str]

get_single_con_branch_idx() Tuple[ndarray[tuple[Any, ...], dtype[int64]], ndarray[tuple[Any, ...], dtype[int64]]][source]

Get the branch index array and the contingency group it belongs array :return: array of single contingency branch indices,

array of the matching contingency groups

class VeraGridEngine.Simulations.LinearFactors.linear_analysis.LinearMultiContingency[source]

Bases: object

get_alpha_n1(dP: ndarray[tuple[Any, ...], dtype[float64]], dT: float)[source]

Compute the N-1 sensitivities to the inter-area exchange :param dP: Inter-area power exchanges computed with (compute_dP) :param dT: Exchange amount (MW) usually a unitary increment is sufficient (use the value used to compute dP) :return: N-1 branch exchange sensitivities

get_contingency_flows(base_branches_flow: ndarray[tuple[Any, ...], dtype[float64]], injections: ndarray[tuple[Any, ...], dtype[float64]], hvdc_flow: ndarray[tuple[Any, ...], dtype[float64]] | None = None, vsc_flow: ndarray[tuple[Any, ...], dtype[float64]] | None = None) ndarray[tuple[Any, ...], dtype[float64]][source]

Get contingency flows :param base_branches_flow: Base branch flows (nbranch) :param injections: Bus injections increments (nbus) :param hvdc_flow: Base HvdcLine flows (n_hvdc) :param vsc_flow: Base Vsc flows (n_vsc) :return: New flows (nbranch)

get_lp_contingency_flows(base_flow: ndarray[tuple[Any, ...], dtype[object_]], injections: ndarray[tuple[Any, ...], dtype[object_]], hvdc_flow: ndarray[tuple[Any, ...], dtype[object_]] | None = None, vsc_flow: ndarray[tuple[Any, ...], dtype[object_]] | None = None) Tuple[ndarray[tuple[Any, ...], dtype[object_]], ndarray[tuple[Any, ...], dtype[bool]], ndarray[tuple[Any, ...], dtype[int64]]][source]

Get contingency flows using the LP interface equations :param base_flow: Base branch flows (nbranch) :param injections: Bus injections (nbus) :param hvdc_flow: Base HvdcLine flows (n_hvdc) :param vsc_flow: Base Vsc flows (n_vsc) :return: New flows (nbranch)

has_injection_contingencies() bool[source]

Check if this multi-contingency has bus injection modifications :return: true / false

VeraGridEngine.Simulations.LinearFactors.linear_analysis.create_M_numba(lodf: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]], branch_contingency_indices) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]
Parameters:
  • lodf

  • branch_contingency_indices

Returns:

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_acdc_ptdf(nc: NumericalCircuit, logger: Logger, bus_types: ndarray[tuple[Any, ...], dtype[int64]], distribute_slack: bool = False) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Build the ACDC PTDF matrix :param nc: NumericalCircuit :param logger: Logger :param bus_types: Array of bus types for the distributed slack :param distribute_slack: distribute the slack? :return: PTDF matrix. It is a full matrix of dimensions Branches x buses

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_contingency_flows(base_flow: ndarray[tuple[Any, ...], dtype[float64]], lodf_factors: csc_matrix, ptdf_factors: csc_matrix, injections: ndarray[tuple[Any, ...], dtype[float64]], threshold)[source]

Compute the general contingency flows :param base_flow: base flow (number of branches) :param lodf_factors: LODF factors (number of branches, number of branch contingencies) :param ptdf_factors: PTDF factors (number of branches, number of injection contingencies) :param injections: Array of contingency injections) :param threshold: PTDF and LODF threshold :return: contingency flows (number of branches)

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_corrected_injections(P: ndarray[tuple[Any, ...], dtype[float64]], bus_types: ndarray[tuple[Any, ...], dtype[int64]], distribute_slack: bool) ndarray[tuple[Any, ...], dtype[float64]][source]

Compute the effective active-power injection vector used for KCL checks.

If distribute_slack=True:

mismatch is shared equally among PV + Slack buses.

If distribute_slack=False:

mismatch is assigned only to the Slack bus or buses.

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_corrected_injections_2d(P: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]], bus_types: ndarray[tuple[Any, ...], dtype[int64]], distribute_slack: bool) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Compute the effective active-power injection vector used for KCL checks.

If distribute_slack=True:

mismatch is shared equally among PV + Slack buses.

If distribute_slack=False:

mismatch is assigned only to the Slack bus or buses.

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_dP_from_bus_types(bus_types: ndarray[tuple[Any, ...], dtype[int64]], distribute_slack: bool) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Build the dP / Dij matrix used to modify the PTDF.

bus_types:

1 -> PQ 2 -> PV 3 -> Slack

If distribute_slack=True:

The balancing injection is distributed equally among PV + Slack buses.

P_eff = dP @ P P_eff = P - w * sum(P)

If distribute_slack=False:

Return identity, preserving the current single-slack PTDF behavior.

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_jacobian_ptdf(Ybus: csc_matrix, Yf: csc_matrix, F: ndarray[tuple[Any, ...], dtype[int64]], T: ndarray[tuple[Any, ...], dtype[int64]], V: ndarray[tuple[Any, ...], dtype[complex128]], pq: ndarray[tuple[Any, ...], dtype[int64]], pv: ndarray[tuple[Any, ...], dtype[int64]], bus_types: ndarray[tuple[Any, ...], dtype[int64]], distribute_slack: bool = False) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Compute the AC-PTDF :param Ybus: admittance matrix :param Yf: Admittance matrix of the buses β€œfrom” :param F: array if Branches β€œfrom” bus indices :param T: array if Branches β€œto” bus indices :param V: voltages array :param pq: array of pq node indices :param pv: array of pv node indices :param bus_types: Array of bus types :param distribute_slack: distribute slack? :return: AC-PTDF matrix (Branches, buses)

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_lodf(Cf: csc_matrix, Ct: csc_matrix, PTDF: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]], correct_values: bool = False, numerical_zero: float = 1e-10) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Compute the LODF matrix :param Cf: Branch β€œfrom” -bus connectivity matrix :param Ct: Branch β€œto” -bus connectivity matrix :param PTDF: PTDF matrix in numpy array form (Branches, buses) :param correct_values: correct values out of the interval :param numerical_zero: value considered zero in numerical terms (i.e. 1e-10) :return: LODF matrix of dimensions (Branches, Branches)

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_ptdf(Bpqpv: csc_matrix, Bf: csc_matrix, no_slack: ndarray[tuple[Any, ...], dtype[int64]], bus_types: ndarray[tuple[Any, ...], dtype[int64]], distribute_slack: bool = True) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]

Build the PTDF matrix :param Bpqpv: DC-linear susceptance matrix already sliced :param Bf: Bus-branch β€œfrom” susceptance matrix :param no_slack: array of sorted pq and pv node indices :param bus_types: array of bus types :param distribute_slack: distribute the slack? :return: PTDF matrix. It is a full matrix of dimensions Branches x buses

VeraGridEngine.Simulations.LinearFactors.linear_analysis.make_transfer_limits(ptdf: ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]], flows: ndarray[tuple[Any, ...], dtype[float64]], rates: ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]][source]

Compute the maximum transfer limits of each branch in normal operation :param ptdf: power transfer distribution factors matrix (n-branch, n-bus) :param flows: base Sf in MW :param rates: array of branch rates :return: Max transfer limits vector (n-branch)

VeraGridEngine.Simulations.LinearFactors.linear_analysis_driver module

class VeraGridEngine.Simulations.LinearFactors.linear_analysis_driver.LinearAnalysisDriver(grid: MultiCircuit, options: LinearAnalysisOptions | None = None, engine: EngineType = VeraGrid, opf_results: OptimalPowerFlowResults | None = None)[source]

Bases: DriverTemplate

all_solved: bool
get_steps()[source]

Get variations list of strings

name = 'Linear analysis'
opf_results
options: LinearAnalysisOptions
run()[source]

Run thread

tpe = 'Linear analysis'

VeraGridEngine.Simulations.LinearFactors.linear_analysis_options module

class VeraGridEngine.Simulations.LinearFactors.linear_analysis_options.LinearAnalysisOptions[source]

Bases: OptionsTemplate

CLASS_NON_EDITABLE_PROPERTIES: Tuple[str, ...] = ('idtag', 'diff_changes')
CLASS_PROPERTIES_WITH_PROFILE: Dict[str, str] = {}
CLASS_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:distribute_slack, prop:correct_values, prop:ptdf_threshold, prop:lodf_threshold)
CLASS_PROPERTY_LIST: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:distribute_slack, prop:correct_values, prop:ptdf_threshold, prop:lodf_threshold)
CLASS_REGISTERED_PROPERTIES: Dict[str, GCProp] = {'action': prop:action, 'code': prop:code, 'comment': prop:comment, 'correct_values': prop:correct_values, 'diff_changes': prop:diff_changes, 'distribute_slack': prop:distribute_slack, 'idtag': prop:idtag, 'lodf_threshold': prop:lodf_threshold, 'name': prop:name, 'ptdf_threshold': prop:ptdf_threshold, 'rdfid': prop:rdfid}
LOCAL_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:distribute_slack, prop:correct_values, prop:ptdf_threshold, prop:lodf_threshold)
action: ActionType
comment: str
device_type: DeviceType
diff_changes
selected_to_merge

VeraGridEngine.Simulations.LinearFactors.linear_analysis_results module

class VeraGridEngine.Simulations.LinearFactors.linear_analysis_results.LinearAnalysisResults[source]

Bases: ResultsTemplate

CLASS_DATA_VARIABLES = {'HvdcDF': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'HvdcODF': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'LODF': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'PTDF': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'Sbus': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'Sf': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'VscDF': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'VscODF': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'branch_names': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'bus_names': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'bus_types': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'hvdc_names': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'loading': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'voltage': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'vsc_names': <VeraGridEngine.Simulations.results_template.ResultsProperty object>}
CLASS_RESULTS_DECLARATIONS = (<VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>)
HvdcDF: Mat
HvdcODF: Mat
LOCAL_RESULTS_DECLARATIONS = (<VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>)
LODF: Mat
PTDF: Mat
Sbus: Vec
Sf: Vec
VscDF: Mat
VscODF: Mat
branch_names: StrVec
bus_names: StrVec
bus_types: IntVec
get_branch_df() DataFrame[source]

Get a DataFrame with the branches results :return: DataFrame

get_bus_df() DataFrame[source]

Get a DataFrame with the buses results :return: DataFrame

hvdc_names: StrVec
loading: Vec
mdl(result_type: ResultTypes) ResultsTable[source]

Plot the results.

Arguments:

result_type: ResultTypes

Returns: ResultsModel

property n_br

Branch number :return:

property n_bus

Bus number :return:

voltage: CxVec
vsc_names: StrVec

VeraGridEngine.Simulations.LinearFactors.linear_analysis_ts_driver module

class VeraGridEngine.Simulations.LinearFactors.linear_analysis_ts_driver.LinearAnalysisTimeSeriesDriver(grid: MultiCircuit, options: LinearAnalysisOptions | None = None, time_indices: IntVec | None = None, clustering_results: ClusteringResults | None = None, opf_time_series_results=None, simplified_compilation: bool = True)[source]

Bases: TimeSeriesDriverTemplate

drivers: Dict[int, LinearAnalysis]
name = 'Linear Analysis Time Series'
opf_time_series_results
options: LinearAnalysisOptions
run()[source]

Run the time series simulation :return:

simplified_compilation
tpe = 'Linear analysis time series'

VeraGridEngine.Simulations.LinearFactors.linear_analysis_ts_results module

class VeraGridEngine.Simulations.LinearFactors.linear_analysis_ts_results.LinearAnalysisTimeSeriesResults(n: int, m: int, time_array: DatetimeIndex, bus_names: ndarray[tuple[Any, ...], dtype[str_]], bus_types: ndarray[tuple[Any, ...], dtype[int64]], branch_names: ndarray[tuple[Any, ...], dtype[str_]], clustering_results)[source]

Bases: ResultsTemplate

CLASS_DATA_VARIABLES = {'S': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'Sf': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'branch_names': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'bus_names': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'bus_types': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'loading': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'losses': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'voltage': <VeraGridEngine.Simulations.results_template.ResultsProperty object>}
CLASS_RESULTS_DECLARATIONS = (<VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>)
LOCAL_RESULTS_DECLARATIONS = (<VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>)
S: CxMat
Sf: CxMat
apply_new_time_series_rates(nc: NumericalCircuit) None[source]
Parameters:

rates

branch_names: StrVec
bus_names: StrVec
bus_types: IntVec
loading: Mat
losses: CxMat
mdl(result_type: ResultTypes) ResultsTable[source]

Get ResultsModel instance :param result_type: :return: ResultsModel instance

voltage: CxMat

Module contents