power_grid_model_c (C API)
This is a C API reference. In the following sections the content of all the headers are shown.
You can include power_grid_model_c.h if you want to use all the symbols (except for the global definition pointers of all datasets, components, attributes).
You can also include one or more of the individual headers to use a subset of the functionality.
Main Header
The main header is power_grid_model_c.h with all the core functionality.
Defines
-
POWER_GRID_MODEL_C_H
Basics
The header power_grid_model_c/basics.h contains definitions of opaque structs and enumerations.
Defines
-
POWER_GRID_MODEL_C_BASICS_H
Header file which includes basic type definitions.
Typedefs
-
typedef int64_t PGM_Idx
-
typedef int32_t PGM_ID
-
typedef struct PGM_PowerGridModel PGM_PowerGridModel
Opaque struct for the PowerGridModel class.
-
typedef struct PGM_Handle PGM_Handle
Opaque struct for the handle class.
The handle class is used to store error and information.
-
typedef struct PGM_Options PGM_Options
Opaque struct for the option class.
The option class is used to set calculation options like calculation method.
-
typedef struct PGM_MetaAttribute PGM_MetaAttribute
Opaque struct for the attribute meta class.
The attribute class contains all the meta information of a single attribute.
-
typedef struct PGM_MetaComponent PGM_MetaComponent
Opaque struct for the component meta class.
The component class contains all the meta information of a single component.
-
typedef struct PGM_MetaDataset PGM_MetaDataset
Opaque struct for the dataset meta class.
The dataset class contains all the meta information of a single dataset.
-
typedef struct PGM_Serializer PGM_Serializer
Opaque struct for the serializer class.
-
typedef struct PGM_Deserializer PGM_Deserializer
Opaque struct for the deserializer class.
-
typedef struct PGM_ConstDataset PGM_ConstDataset
Opaque struct for the const dataset class.
-
typedef struct PGM_MutableDataset PGM_MutableDataset
Opaque struct for the multable dataset class. The mutable dataset is meant for the user to provide buffers to store the output of calculations.
-
typedef struct PGM_WritableDataset PGM_WritableDataset
Opaque struct for the writable dataset class. The writable dataset is meant for the user to provide buffers for the deserializer.
-
typedef struct PGM_DatasetInfo PGM_DatasetInfo
Opaque struct for the information of the dataset.
Enums
-
enum PGM_CalculationType
Enumeration for calculation type.
Values:
-
enumerator PGM_power_flow
power flow calculation
-
enumerator PGM_state_estimation
state estimation calculation
-
enumerator PGM_short_circuit
short circuit calculation
-
enumerator PGM_power_flow
-
enum PGM_CalculationMethod
Enumeration for calculation method.
Values:
-
enumerator PGM_default_method
the default method for each calculation type, e.g. Newton-Raphson for power flow
-
enumerator PGM_linear
linear constant impedance method for power flow
-
enumerator PGM_newton_raphson
Newton-Raphson method for power flow or state estimation
-
enumerator PGM_iterative_linear
iterative linear method for state estimation
-
enumerator PGM_iterative_current
linear current method for power flow
-
enumerator PGM_linear_current
iterative constant impedance method for power flow
-
enumerator PGM_iec60909
fault analysis for short circuits using the iec60909 standard
-
enumerator PGM_default_method
-
enum PGM_SymmetryType
Enumeration for calculation and/or component symmetry.
Values:
-
enumerator PGM_asymmetric
-
enumerator PGM_symmetric
< asymmetric calculation and/or component
-
enumerator PGM_asymmetric
-
enum PGM_ErrorCode
Enumeration of error codes.
Values:
-
enumerator PGM_no_error
no error occurred
-
enumerator PGM_regular_error
some error occurred which is not in the batch calculation
-
enumerator PGM_batch_error
some error occurred which is in the batch calculation
-
enumerator PGM_serialization_error
some error occurred which is in the (de)serialization process
-
enumerator PGM_no_error
-
enum PGM_CType
Enumeration of C basic data types.
Values:
-
enumerator PGM_int32
int32_t
-
enumerator PGM_int8
int8_t
-
enumerator PGM_double
double
-
enumerator PGM_double3
double[3]
-
enumerator PGM_int32
-
enum PGM_SerializationFormat
Enumeration of serialization types.
Values:
-
enumerator PGM_json
JSON serialization format
-
enumerator PGM_msgpack
msgpack serialization format
-
enumerator PGM_json
-
enum PGM_ShortCircuitVoltageScaling
Enumeration of short circuit voltage scaling.
Values:
-
enumerator PGM_short_circuit_voltage_scaling_minimum
voltage scaling for minimum short circuit currents
-
enumerator PGM_short_circuit_voltage_scaling_maximum
voltage scaling for maximum short circuit currents
-
enumerator PGM_short_circuit_voltage_scaling_minimum
-
enum PGM_TapChangingStrategy
Enumeration of tap changing strategies.
Values:
-
enumerator PGM_tap_changing_strategy_disabled
disable automatic tap adjustment
-
enumerator PGM_tap_changing_strategy_any_valid_tap
adjust tap position automatically; optimize for any value in the voltage band
-
enumerator PGM_tap_changing_strategy_min_voltage_tap
adjust tap position automatically; optimize for the lower end of the voltage band
-
enumerator PGM_tap_changing_strategy_max_voltage_tap
adjust tap position automatically; optimize for the higher end of the voltage band
-
enumerator PGM_tap_changing_strategy_fast_any_tap
adjust tap position automatically; optimize for any value in the voltage band; binary search
-
enumerator PGM_tap_changing_strategy_disabled
-
enum PGM_ExperimentalFeatures
Enumeration of experimental features.
[Danger mode]
The behavior of experimental features may not be final and no stability guarantees are made to the users. Which features (if any) are enabled in experimental mode may change over time.
Values:
-
enumerator PGM_experimental_features_disabled
disable experimental features
-
enumerator PGM_experimental_features_enabled
enable experimental features
-
enumerator PGM_experimental_features_disabled
Handle
The header power_grid_model_c/handle.h contains error handling functions.
Defines
-
POWER_GRID_MODEL_C_HANDLE_H
header file which includes handle functions
Functions
-
PGM_Handle *PGM_create_handle(void)
Create a new handle.
A handle object is needed to store error information. If you run it in multi-threading at user side, each thread should have unique handle. The handle should be destroyed by PGM_destroy_handle().
- Returns:
A pointer to the created handle.
-
void PGM_destroy_handle(PGM_Handle *handle)
Destroy the handle.
- Parameters:
handle – The pointer to the handle created by PGM_create_handle().
-
PGM_Idx PGM_error_code(PGM_Handle const *handle)
Get error code of last operation.
- Parameters:
handle – The pointer to the handle you just used for an operation.
- Returns:
The error code, see PGM_ErrorCode .
-
char const *PGM_error_message(PGM_Handle const *handle)
Get error message of last operation.
If the error code is PGM_batch_error. Use PGM_n_failed_scenarios(), PGM_failed_scenarios(), and PGM_batch_errors() to retrieve the detail.
- Parameters:
handle – The pointer to the handle you just used for an operation.
- Returns:
A char const* poiner to a zero terminated string. The pointer is not valid if you execute another operation. You need to copy the string in your own data.
-
PGM_Idx PGM_n_failed_scenarios(PGM_Handle const *handle)
Get the number of failed scenarios. Only applicable when you just executed a batch calculation.
- Parameters:
handle – The pointer to the handle you just used for a batch calculation.
- Returns:
The number of failed scenarios.
-
PGM_Idx const *PGM_failed_scenarios(PGM_Handle const *handle)
Get the list of failed scenarios, Only applicable when you just execute a batch calculation.
- Parameters:
handle – The pointer to the handle you just used for a batch calculation.
- Returns:
A pointer to a PGM_Idx array with length returned by PGM_n_failed_scenarios(). The pointer is not valid if you execute another operation. You need to copy the array in your own data.
-
char const **PGM_batch_errors(PGM_Handle const *handle)
Get the list of batch errors. Only applicable when you just execute a batch calculation.
- Parameters:
handle – The pointer to the handle you just used for a batch calculation.
- Returns:
A pointer to a char const* array with length returned by PGM_n_failed_scenarios(). Each entry is a zero terminated string. The pointer is not valid if you execute another operation. You need to copy the array (and the string) in your own data.
-
void PGM_clear_error(PGM_Handle *handle)
Clear and reset the handle.
- Parameters:
handle – The pointer to the handle.
Meta Data
The header power_grid_model_c/meta_data.h contains functions to retrieve meta data.
Defines
-
POWER_GRID_MODEL_C_META_DATA_H
header file which includes meta data functions
Functions
-
PGM_Idx PGM_meta_n_datasets(PGM_Handle *handle)
Get number of datasets.
- Parameters:
handle –
- Returns:
The number of datasets.
-
PGM_MetaDataset const *PGM_meta_get_dataset_by_idx(PGM_Handle *handle, PGM_Idx idx)
Get pointer of idx-th dataset.
- Parameters:
handle –
idx – The sequence number, should be between [0, PGM_meta_n_datasets()).
- Returns:
The pointer to the idx-th dataset. The pointer is permanantly valid. Or a NULL if your input is out of bound.
-
PGM_MetaDataset const *PGM_meta_get_dataset_by_name(PGM_Handle *handle, char const *dataset)
Get pointer of dataset by name.
- Parameters:
handle –
dataset – The name of the dataset.
- Returns:
The pointer to the dataset with that name. The pointer is permanantly valid. Or a NULL if your input is out of bound.
-
char const *PGM_meta_dataset_name(PGM_Handle *handle, PGM_MetaDataset const *dataset)
Get name of the dataset.
- Parameters:
handle –
dataset – The pointer to a dataset object.
- Returns:
The name of the dataset in a char const*. The pointer is permanantly valid.
-
PGM_Idx PGM_meta_n_components(PGM_Handle *handle, PGM_MetaDataset const *dataset)
Get the number of components for a dataset.
- Parameters:
handle –
dataset – The pointer to the dataset.
- Returns:
Number of components.
-
PGM_MetaComponent const *PGM_meta_get_component_by_idx(PGM_Handle *handle, PGM_MetaDataset const *dataset, PGM_Idx idx)
Get pointer of idx-th component of a dataset.
- Parameters:
handle –
dataset – The pointer to the dataset.
idx – The sequence number, should be between [0, PGM_meta_n_components()).
- Returns:
The pointer to the idx-th component. The pointer is permanantly valid. Or a NULL if your input is out of bound.
-
PGM_MetaComponent const *PGM_meta_get_component_by_name(PGM_Handle *handle, char const *dataset, char const *component)
Get pointer of a component by name.
- Parameters:
handle –
dataset – The name of the dataset.
component – The name of the component.
- Returns:
The pointer to the component with that name. The pointer is permanantly valid. Or a NULL if your input is out of bound.
-
char const *PGM_meta_component_name(PGM_Handle *handle, PGM_MetaComponent const *component)
Get name of component.
- Parameters:
handle –
component – The pointer to the component.
- Returns:
The name of the component in a char const*. The pointer is permanantly valid.
-
size_t PGM_meta_component_size(PGM_Handle *handle, PGM_MetaComponent const *component)
Get size of the component.
- Parameters:
handle –
component – The pointer to the component.
- Returns:
Size of the component.
-
size_t PGM_meta_component_alignment(PGM_Handle *handle, PGM_MetaComponent const *component)
Get alignment of the component.
- Parameters:
handle –
component – The pointer to the component.
- Returns:
Alignment of the component.
-
PGM_Idx PGM_meta_n_attributes(PGM_Handle *handle, PGM_MetaComponent const *component)
Get number of attributes of the component.
- Parameters:
handle –
component – The pointer to the component.
- Returns:
Number of attributes.
-
PGM_MetaAttribute const *PGM_meta_get_attribute_by_idx(PGM_Handle *handle, PGM_MetaComponent const *component, PGM_Idx idx)
Get pointer of idx-th attribute of a component.
- Parameters:
handle –
component – The pointer to the component.
idx – The sequence number, should be between [0, PGM_meta_n_attributes())
- Returns:
The pointer to the idx-th attribute. The pointer is permanantly valid. Or a NULL if your input is out of bound.
-
PGM_MetaAttribute const *PGM_meta_get_attribute_by_name(PGM_Handle *handle, char const *dataset, char const *component, char const *attribute)
Get pointer of a attribute by name.
- Parameters:
handle –
dataset – The name of the dataset.
component – The name of the component.
attribute – The name of the attribute.
- Returns:
The pointer to the component with that name. The pointer is permanantly valid. Or a NULL if your input is out of bound.
-
char const *PGM_meta_attribute_name(PGM_Handle *handle, PGM_MetaAttribute const *attribute)
Get attribute name.
- Parameters:
handle –
attribute – The pointer to attribute.
- Returns:
The name of the attribute in char const*. The pointer is permanantly valid.
-
PGM_Idx PGM_meta_attribute_ctype(PGM_Handle *handle, PGM_MetaAttribute const *attribute)
Get the type of an attribute.
- Parameters:
handle –
attribute – The pointer to attribute.
- Returns:
The type of the attribute as in enum PGM_CType.
-
size_t PGM_meta_attribute_offset(PGM_Handle *handle, PGM_MetaAttribute const *attribute)
Get the offset of an attribute in a component.
- Parameters:
handle –
attribute – The pointer to attribute.
- Returns:
The offset of this attribute.
-
int PGM_is_little_endian(PGM_Handle *handle)
Get whether the system is little endian.
- Parameters:
handle –
- Returns:
1 if the system is litten endian; 0 if the system is big endian.
Buffer
The header power_grid_model_c/buffer.h contains functions for buffer control.
Defines
-
POWER_GRID_MODEL_C_BUFFER_H
header file which includes buffer functions
Functions
-
void *PGM_create_buffer(PGM_Handle *handle, PGM_MetaComponent const *component, PGM_Idx size)
Create a buffer with certain size and component type.
You can use this function to allocate a (row-based) component buffer. You can also use your own allocation function to do that with size and alignment obtained from PGM_meta_component_size() and PGM_meta_component_alignment(). The buffer created by this function should be freed by PGM_destroy_buffer().
It is recommended to call PGM_buffer_set_nan() after you create an input or update buffer. In this way all the attributes will be set to NaN. Additionally, if there is a new optional attribute added in the future, compatibility with your code is guaranteed: that optional attribute will be set to NaN and the default value will be used.
- Parameters:
handle –
component – A component pointer.
size – The size of the buffer in terms of number of elements.
- Returns:
A pointer to the buffer, or NULL if the input is invalid.
-
void PGM_destroy_buffer(void *ptr)
Destroy the buffer you created using PGM_create_buffer().
NOTE: Do not call this function on the buffer you created using your own function.
- Parameters:
ptr – The pointer to the buffer created using PGM_create_buffer().
-
void PGM_buffer_set_nan(PGM_Handle *handle, PGM_MetaComponent const *component, void *ptr, PGM_Idx buffer_offset, PGM_Idx size)
Set all the attributes of a buffer to NaN.
- Parameters:
handle –
component – A component pointer.
ptr – pointer to buffer, created either by PGM_create_buffer() or your own function.
buffer_offset – The offset in the buffer where you begin to set nan, in terms of number of elements.
size – The size of the buffer in terms of number of elements.
-
void PGM_buffer_set_value(PGM_Handle *handle, PGM_MetaAttribute const *attribute, void *buffer_ptr, void const *src_ptr, PGM_Idx buffer_offset, PGM_Idx size, PGM_Idx src_stride)
Set value of a certain attribute from an array to the component buffer.
You can use this function to set value. You can also set value by proper pointer arithmetric and casting, using the offset information returned by PGM_meta_attribute_offset().
- Parameters:
handle –
attribute – An attribute pointer.
buffer_ptr – A pointer to the buffer.
src_ptr – A pointer to the source array you want to retrieve the value from.
buffer_offset – The offset in the buffer where you begin to set value, in terms of number of elements
size – The size of the buffer in terms of number of elements.
src_stride – The stride of the source array in bytes. You can set it to -1, the default stride of the size of the attribute type (like sizeof(double)). If you set it to a positive number, the i-th set-value will retrieve the source data at (void const*)((char const*)src_ptr + i * src_stride)
-
void PGM_buffer_get_value(PGM_Handle *handle, PGM_MetaAttribute const *attribute, void const *buffer_ptr, void *dest_ptr, PGM_Idx buffer_offset, PGM_Idx size, PGM_Idx dest_stride)
Get value of a certain attribute from the component buffer to an array.
You can use this function to get value. You can also get value by proper pointer arithmetric and casting, using the offset information returned by PGM_meta_attribute_offset().
- Parameters:
handle –
attribute – An attribute pointer.
buffer_ptr – A pointer to the buffer.
dest_ptr – A pointer to the destination array you want to save the value to.
buffer_offset – The offset in the buffer where you begin to get value; in terms of number of elements.
size – The size of the buffer in terms of number of elements.
dest_stride – The stride of the destination array in bytes. You can set it to -1, the default stride of the size of the attribute type (like sizeof(double)). If you set it to a positive number, the i-th get-value will retrieve the source data at (void*)((char*)dest_ptr + i * dest_stride)
Dataset
The header power_grid_model_c/dataset.h contains functions for dataset control.
Defines
-
POWER_GRID_MODEL_C_DATASET_H
header file which includes dataset handling functions
Functions
-
char const *PGM_dataset_info_name(PGM_Handle *handle, PGM_DatasetInfo const *info)
Get the name of the dataset.
- Parameters:
handle –
info – A pointer to the info object.
- Returns:
A pointer to null null-terminated string of the dataset name. The pointer is permanently valid.
-
PGM_Idx PGM_dataset_info_is_batch(PGM_Handle *handle, PGM_DatasetInfo const *info)
Get the flag whether the dataset is a batch dataset.
- Parameters:
handle –
info – A pointer to the info object.
- Returns:
1 if the dataset is a batch, 0 if it is not.
-
PGM_Idx PGM_dataset_info_batch_size(PGM_Handle *handle, PGM_DatasetInfo const *info)
Get the batch size of the dataset.
- Parameters:
handle –
info – A pointer to the info object.
- Returns:
Size of the batch. For a single-dataset, the batch size is always 1.
-
PGM_Idx PGM_dataset_info_n_components(PGM_Handle *handle, PGM_DatasetInfo const *info)
Get the number of components in the dataset.
- Parameters:
handle –
info – A pointer to the info object.
- Returns:
The number of components.
-
char const *PGM_dataset_info_component_name(PGM_Handle *handle, PGM_DatasetInfo const *info, PGM_Idx component_idx)
Get the name of i-th component.
- Parameters:
handle –
info – A pointer to the info object.
component_idx – The index number of the component.
- Returns:
A pointer to the null-terminated string of the component name. The pointer is permanently valid.
-
PGM_Idx PGM_dataset_info_elements_per_scenario(PGM_Handle *handle, PGM_DatasetInfo const *info, PGM_Idx component_idx)
Get the elements per scenario for the i-th component.
- Parameters:
handle –
info – A pointer to the info object.
component_idx – The index number of the component.
- Returns:
Number of elements per scenario for that component, or -1 if the scenario is not uniform (different number per scenario).
-
PGM_Idx PGM_dataset_info_total_elements(PGM_Handle *handle, PGM_DatasetInfo const *info, PGM_Idx component_idx)
Get the total number of elements for the i-th component.
- Parameters:
handle –
info – A pointer to the info object.
component_idx – The index number of the component.
- Returns:
The total number of elements of that component. If the number of elements per scenario is uniform, this value must equal to PGM_dataset_info_batch_size() * PGM_dataset_info_elements_per_scenario().
-
PGM_Idx PGM_dataset_info_has_attribute_indications(PGM_Handle *handle, PGM_DatasetInfo const *info, PGM_Idx component_idx)
Return whether a component has attribute indications.
Attribute indications are used to indicate the presence of meaningful attributes for a certain component in the dataset. If it returns 1 for that component, you can create columnar data with only the indicated attributes. In this case, you are guaranteed that all information from the original serialized data will be retained for this component, i.e., you do not lose any meaningful information during the deserialization process. Otherwise, no such guarantees are made.
- Parameters:
handle –
info – A pointer to the info object.
component_idx – The index number of the component.
- Returns:
1 if the component has attribute indications, 0 if it does not.
-
PGM_Idx PGM_dataset_info_n_attribute_indications(PGM_Handle *handle, PGM_DatasetInfo const *info, PGM_Idx component_idx)
Return the number of attribute indications for a component.
- Parameters:
handle –
info – A pointer to the info object.
component_idx – The index number of the component.
- Returns:
The number of attribute indications for the component. It returns 0 if PGM_dataset_info_has_attribute_indications() returns zero.
-
char const *PGM_dataset_info_attribute_name(PGM_Handle *handle, PGM_DatasetInfo const *info, PGM_Idx component_idx, PGM_Idx attribute_idx)
Return the name of the i-th attribute indication for a component.
- Parameters:
handle –
info – A pointer to the info object.
component_idx – The index number of the component.
attribute_idx – The index number of attribute indication.
- Returns:
A pointer to the null-terminated string of the attribute indication. The pointer has the same lifetime as the input info pointer. It is UB if PGM_dataset_info_has_attribute_indications() returns zero, or if attribute_idx is out of bounds.
-
PGM_ConstDataset *PGM_create_dataset_const(PGM_Handle *handle, char const *dataset, PGM_Idx is_batch, PGM_Idx batch_size)
Create an instance of PGM_ConstDataset.
- Parameters:
handle –
dataset – The name of the dataset.
is_batch – 1 if the dataset is a batch, 0 if the dataset is single.
batch_size – The size of the batch. For single datasets, this must be 1.
- Returns:
A pointer to the created PGM_ConstDataset, or NULL if errors occur. Check the handle for error. The instance must be freed by PGM_destroy_dataset_const().
-
PGM_ConstDataset *PGM_create_dataset_const_from_writable(PGM_Handle *handle, PGM_WritableDataset const *writable_dataset)
Create an instance of PGM_ConstDataset from a PGM_WritableDataset They share the same buffer memory.
- Parameters:
handle –
writable_dataset – pointer to an instance of PGM_WritableDataset
- Returns:
A pointer to the created PGM_ConstDataset, or NULL if errors occur. Check the handle for error. The instance must be freed by PGM_destroy_dataset_const().
-
PGM_ConstDataset *PGM_create_dataset_const_from_mutable(PGM_Handle *handle, PGM_MutableDataset const *mutable_dataset)
Create an instance of PGM_ConstDataset from a PGM_MutableDataset They share the same buffer memory.
- Parameters:
handle –
mutable_dataset – pointer to an instance of PGM_MutableDataset
- Returns:
A pointer to the created PGM_ConstDataset, or NULL if errors occur. Check the handle for error. The instance must be freed by PGM_destroy_dataset_const().
-
void PGM_destroy_dataset_const(PGM_ConstDataset *dataset)
Destroy an instance of PGM_ConstDataset.
- Parameters:
dataset – The pointer to the PGM_ConstDataset created by PGM_create_dataset_const(), PGM_create_dataset_const_from_writable(), or PGM_create_dataset_const_from_mutable().
- Returns:
-
void PGM_dataset_const_add_buffer(PGM_Handle *handle, PGM_ConstDataset *dataset, char const *component, PGM_Idx elements_per_scenario, PGM_Idx total_elements, PGM_Idx const *indptr, void const *data)
Add a component buffer to an instance of PGM_ConstDataset.
- Parameters:
handle –
dataset – The pointer to the PGM_ConstDataset.
component – The name of the component.
elements_per_scenario – The number of the elements per scenario. If the component is uniform, elements_per_scenario must be >= 0 If the component is not uniform, elements_per_scenario must be -1
total_elements – The total number of elements for all scenarios. If elements_per_scenario >= 0, we must have elements_per_scenario * batch_size = total_elements.
indptr – A pointer to an array of indptr of a non-uniform component. If the component is uniform, indptr must be NULL. If the component is not uniform, indptr must point to an array of size (batch_size + 1). The values in the array must be not decreasing. And we must have indptr[0] = 0, indptr[batch_size] = total_elements.
data – A void pointer to the row based buffer data or NULL for columnar data.
- Returns:
-
void PGM_dataset_const_add_attribute_buffer(PGM_Handle *handle, PGM_ConstDataset *dataset, char const *component, char const *attribute, void const *data)
Add a attribute buffer to an instance of PGM_ConstDataset/component.
- Parameters:
handle –
dataset – The pointer to the PGM_ConstDataset.
component – The name of the component.
attribute – The name of the attribute.
data – A void pointer to the buffer data.
- Returns:
-
PGM_DatasetInfo const *PGM_dataset_const_get_info(PGM_Handle *handle, PGM_ConstDataset const *dataset)
Get the dataset info of the instance PGM_ConstDataset.
- Parameters:
handle –
dataset – A pointer to the PGM_ConstDataset.
- Returns:
A pointer to the instance of PGM_DatasetInfo. The pointer has the same lifetime as the input dataset pointer.
-
PGM_DatasetInfo const *PGM_dataset_writable_get_info(PGM_Handle *handle, PGM_WritableDataset const *dataset)
Get the dataset info of the instance PGM_WritableDataset.
- Parameters:
handle –
dataset – A pointer to the PGM_WritableDataset.
- Returns:
A pointer to the instance of PGM_DatasetInfo. The pointer has the same lifetime as the input dataset pointer.
-
void PGM_dataset_writable_set_buffer(PGM_Handle *handle, PGM_WritableDataset *dataset, char const *component, PGM_Idx *indptr, void *data)
Set buffer into the instance PGM_WritableDataset.
- Parameters:
handle –
dataset – A pointer to the PGM_WritableDataset.
component – The name of the component.
indptr – A pointer to an array of indptr of a non-uniform component. If the component is uniform, indptr must be NULL. If the component is not uniform, indptr must point to an array of size (batch_size + 1).
data – A void pointer to the row based buffer data or NULL for columnar data.
- Returns:
-
void PGM_dataset_writable_set_attribute_buffer(PGM_Handle *handle, PGM_WritableDataset *dataset, char const *component, char const *attribute, void *data)
Set buffer into the instance PGM_WritableDataset.
- Parameters:
handle –
dataset – A pointer to the PGM_WritableDataset.
component – The name of the component.
attribute – The name of the attribute.
data – A void pointer to the buffer data.
- Returns:
-
PGM_MutableDataset *PGM_create_dataset_mutable(PGM_Handle *handle, char const *dataset, PGM_Idx is_batch, PGM_Idx batch_size)
Create an instance of PGM_MutableDataset.
- Parameters:
handle –
dataset – The name of the dataset.
is_batch – 1 if the dataset is a batch, 0 if the dataset is single.
batch_size – The size of the batch. For single datasets, this must be 1.
- Returns:
A pointer to the created PGM_MutableDataset, or NULL if errors occur. Check the handle for error. The instance must be freed by PGM_destroy_dataset_mutable().
-
void PGM_destroy_dataset_mutable(PGM_MutableDataset *dataset)
Destroy an instance of PGM_MutableDataset.
- Parameters:
dataset – The pointer to the PGM_MutableDataset created by PGM_create_dataset_mutable().
- Returns:
-
void PGM_dataset_mutable_add_buffer(PGM_Handle *handle, PGM_MutableDataset *dataset, char const *component, PGM_Idx elements_per_scenario, PGM_Idx total_elements, PGM_Idx const *indptr, void *data)
Add a component buffer to an instance of PGM_MutableDataset.
- Parameters:
handle –
dataset – The pointer to the PGM_MutableDataset.
component – The name of the component.
elements_per_scenario – The number of the elements per scenario. If the component is uniform, elements_per_scenario must be >= 0 If the component is not uniform, elements_per_scenario must be -1
total_elements – The total number of elements for all scenarios. If elements_per_scenario >= 0, we must have elements_per_scenario * batch_size = total_elements.
indptr – A pointer to an array of indptr of a non-uniform component. If the component is uniform, indptr must be NULL. If the component is not uniform, indptr must point to an array of size (batch_size + 1). The values in the array must be not decreasing. And we must have indptr[0] = 0, indptr[batch_size] = total_elements.
data – A void pointer to the row based buffer data or NULL for columnar data.
- Returns:
-
void PGM_dataset_mutable_add_attribute_buffer(PGM_Handle *handle, PGM_MutableDataset *dataset, char const *component, char const *attribute, void *data)
Add a attribute buffer to an instance of PGM_MutableDataset/component.
- Parameters:
handle –
dataset – The pointer to the PGM_MutableDataset.
component – The name of the component.
attribute – The name of the attribute.
data – A void pointer to the buffer data.
- Returns:
-
PGM_DatasetInfo const *PGM_dataset_mutable_get_info(PGM_Handle *handle, PGM_MutableDataset const *dataset)
Get the dataset info of the instance PGM_MutableDataset.
- Parameters:
handle –
dataset – A pointer to the PGM_MutableDataset.
- Returns:
A pointer to the instance of PGM_DatasetInfo. The pointer has the same lifetime as the input dataset pointer.
Options
The header power_grid_model_c/options.h contains functions for creating and setting calculation options.
Defines
-
POWER_GRID_MODEL_C_OPTIONS_H
header file which includes options functions
Functions
-
PGM_Options *PGM_create_options(PGM_Handle *handle)
Create an option instance.
The option is needed to run calculations. This function create a new option instance with the following default values:
calculation_type: PGM_power_flow
calculation_method: PGM_default_method
symmetric: 1
err_tol: 1e-8
max_iter: 20
threading: -1
short_circuit_voltage_scaling: PGM_short_circuit_voltage_scaling_maximum
experimental_features: PGM_experimental_features_disabled
- Parameters:
handle –
- Returns:
The pointer to the option instance. Should be freed by PGM_destroy_options().
-
void PGM_destroy_options(PGM_Options *opt)
Free an option instance.
- Parameters:
opt – The pointer to the option instance created by PGM_create_options().
-
void PGM_set_calculation_type(PGM_Handle *handle, PGM_Options *opt, PGM_Idx type)
Specify type of calculation.
- Parameters:
handle –
opt – The pointer to the option instance.
type – See PGM_CalculationType .
-
void PGM_set_calculation_method(PGM_Handle *handle, PGM_Options *opt, PGM_Idx method)
Specify method of calculation.
- Parameters:
handle –
opt – The pointer to the option instance.
method – See PGM_CalculationMethod .
-
void PGM_set_symmetric(PGM_Handle *handle, PGM_Options *opt, PGM_Idx sym)
Specify if we are calculating symmetrically or asymmetrically.
- Parameters:
handle –
opt – The pointer to the option instance.
sym – See #PGM_CalculationSymmetry . 1 for symmetric calculation; 0 for asymmetric calculation.
-
void PGM_set_err_tol(PGM_Handle *handle, PGM_Options *opt, double err_tol)
Specify the error tolerance to stop iterations. Only applicable if using iterative method.
It is in terms of voltage deviation per iteration in p.u.
- Parameters:
handle –
opt – The pointer to the option instance.
err_tol – The relative votlage deviation tolerance.
-
void PGM_set_max_iter(PGM_Handle *handle, PGM_Options *opt, PGM_Idx max_iter)
Specify maximum number of iterations. Only applicable if using iterative method.
- Parameters:
handle –
opt – The pointer to the option instance.
max_iter – The maximum number of iterations.
-
void PGM_set_threading(PGM_Handle *handle, PGM_Options *opt, PGM_Idx threading)
Specify the multi-threading strategy. Only applicable for batch calculation.
- Parameters:
handle –
opt – The pointer to the option instance.
threading – The value of the threading setting. See below:
-1: No multi-threading, calculate sequentially.
0: use number of machine available threads.
>0: specify number of threads you want to calculate in parallel.
-
void PGM_set_short_circuit_voltage_scaling(PGM_Handle *handle, PGM_Options *opt, PGM_Idx short_circuit_voltage_scaling)
Specify the voltage scaling min/max for short circuit calculations.
- Parameters:
handle –
opt – pointer to option instance
short_circuit_voltage_scaling – See PGM_ShortCircuitVoltageScaling
-
void PGM_set_tap_changing_strategy(PGM_Handle *handle, PGM_Options *opt, PGM_Idx tap_changing_strategy)
Specify the tap changing strategy for power flow calculations.
- Parameters:
handle –
opt – pointer to option instance
tap_changing_strategy – See PGM_TapChangingStrategy
-
void PGM_set_experimental_features(PGM_Handle *handle, PGM_Options *opt, PGM_Idx experimental_features)
Enable/disable experimental features.
[Danger mode]
The behavior of experimental features may not be final and no stability guarantees are made to the users. Features marked as ‘experimental’ as well as the behavior of experimental functionality itself may change over time.
- Parameters:
handle –
opt – pointer to option instance
experimental_features – See PGM_ExperimentalFeatures
Model
The header power_grid_model_c/model.h contains functions to create and calculate the main model: Power Grid Model.
Defines
-
POWER_GRID_MODEL_C_MODEL_H
header file which includes model functions
Functions
-
PGM_PowerGridModel *PGM_create_model(PGM_Handle *handle, double system_frequency, PGM_ConstDataset const *input_dataset)
Create a new instance of Power Grid Model.
This is the main function to create a new model. You need to prepare the buffer data for input. The returned model need to be freed by PGM_destroy_model()
- Parameters:
handle –
system_frequency – The frequency of the system, usually 50 or 60 Hz
input_dataset – Pointer to an instance of PGM_ConstDataset. It should have data type “input”.
- Returns:
The opaque pointer to the created model. If there are errors during the creation, a NULL is returned. Use PGM_error_code() and PGM_error_message() to check the error.
-
void PGM_update_model(PGM_Handle *handle, PGM_PowerGridModel *model, PGM_ConstDataset const *update_dataset)
Update the model by changing mutable attributes of some elements.
Use PGM_error_code() and PGM_error_message() to check if there are errors in the update. NOTE: The model will be in an undefined state after errors occured during the update and should be destroyed.
- Parameters:
handle –
model – A pointer to an existing model.
update_dataset – Pointer to an instance of PGM_ConstDataset. It should have data type “update”.
- Returns:
-
PGM_PowerGridModel *PGM_copy_model(PGM_Handle *handle, PGM_PowerGridModel const *model)
Make a copy of an existing model.
The returned model need to be freed by PGM_destroy_model()
- Parameters:
handle –
model – A pointer to an existing model
- Returns:
A opaque pointer to the new copy. If there are errors during the creation, a NULL is returned. Use PGM_error_code() and PGM_error_message() to check the error.
-
void PGM_get_indexer(PGM_Handle *handle, PGM_PowerGridModel const *model, char const *component, PGM_Idx size, PGM_ID const *ids, PGM_Idx *indexer)
Get the sequence numbers based on list of ids in a given component.
For example, if there are 5 nodes in the model with id [10, 2, 5, 15, 30]. We have a node ID list of [2, 5, 15, 5, 10, 10, 30]. We would like to know the sequence number of each element in the model. Calling this function should result in a sequence array of [1, 2, 3, 2, 0, 0, 4].
If you supply a non-existing ID in the ID array, an error will be raised. Use PGM_error_code() and PGM_error_message() to check the error.
- Parameters:
handle –
model – A pointer to an existing model.
component – A char const* string as component name.
size – The size of the ID array.
ids – A pointer to a PGM_ID array buffer, this should be at least length of size.
indexer – A pointer to a PGM_Idx array buffer. The results will be written to this array. The array should be pre-allocated with at least length of size.
-
void PGM_calculate(PGM_Handle *handle, PGM_PowerGridModel *model, PGM_Options const *opt, PGM_MutableDataset const *output_dataset, PGM_ConstDataset const *batch_dataset)
Execute a one-time or batch calculation.
This is the main function to execute calculation. You can choose to execute one-time calculation or batch calculation, by controlling the batch_dataset argument. If batch_dataset == NULL, it is a one-time calculation. If batch_dataset != NULL, it is a batch calculation with batch update in the batch_dataset.
You need to pre-allocate all output buffer.
Use PGM_error_code() and PGM_error_message() to check the error.
- Parameters:
handle –
model – A pointer to an existing model.
opt – A pointer to options, you need to pre-set all the calculation options you want.
output_dataset – A pointer to an instance of PGM_MutableDataset. The dataset should have type “*_output”, depending on the type of dataset. You need to pre-allocate all output memory buffers. You do not need to output all the component types as in the input. For example, you can choose only create output buffers for node, not for line.
batch_dataset – A pointer to an instance of PGM_ConstDataset for batch calculation. Or NULL for single calculation. The dataset should have is_batch == true. The type of the dataset should be “update”.
- Returns:
-
void PGM_destroy_model(PGM_PowerGridModel *model)
Destroy the model returned by PGM_create_model() or PGM_copy_model().
- Parameters:
model – The pointer to the model.
Serialization
The header power_grid_model_c/serialization.h contains functions for serializing and deserializing datasets.
Defines
-
POWER_GRID_MODEL_C_SERIALIZATION_H
header file which includes serialization functions
Functions
-
PGM_Deserializer *PGM_create_deserializer_from_binary_buffer(PGM_Handle *handle, char const *data, PGM_Idx size, PGM_Idx serialization_format)
Create a deserializer from binary buffer/byte stream.
- Parameters:
handle –
data – The pointer to the byte stream.
size – The size of the byte stream.
serialization_format – The desired data format of the serialization. See PGM_SerializationFormat .
- Returns:
A pointer to the deserializer instance. Should be freed by PGM_destroy_deserializer(). Returns NULL if errors occured (check the handle for error information).
-
PGM_Deserializer *PGM_create_deserializer_from_null_terminated_string(PGM_Handle *handle, char const *data_string, PGM_Idx serialization_format)
Create a deserializer from a null terminated C string.
- Parameters:
handle –
data_string – The pointer to the null-terminated C string.
serialization_format – The desired data format of the serialization. See PGM_SerializationFormat .
- Returns:
A pointer to the deserializer instance. Should be freed by PGM_destroy_deserializer(). Returns NULL if errors occured (check the handle for error information).
-
PGM_WritableDataset *PGM_deserializer_get_dataset(PGM_Handle *handle, PGM_Deserializer *deserializer)
Get the PGM_WritableDataset object from the deserializer.
- Parameters:
handle –
deserializer – The pointer to the deserializer.
- Returns:
A pointer the instance of PGM_WritableDataset. The pointer has the same lifetime as the deserializer. Use PGM_writable_dataset_get_info() to get the information of the dataset. Use PGM_writable_dataset_set_buffer() to set buffer.
-
void PGM_deserializer_parse_to_buffer(PGM_Handle *handle, PGM_Deserializer *deserializer)
Parse the dataset and write to the user-provided buffers. The buffers must be set through PGM_writable_dataset_set_buffer().
- Parameters:
handle –
deserializer – The pointer to the deserializer
- Returns:
No return value; check handle for error.
-
void PGM_destroy_deserializer(PGM_Deserializer *deserializer)
Destory deserializer.
- Parameters:
deserializer – pointer to deserializer
- Returns:
-
PGM_Serializer *PGM_create_serializer(PGM_Handle *handle, PGM_ConstDataset const *dataset, PGM_Idx serialization_format)
Create a serializer object based on input dataset, the buffers must be set in advance.
- Parameters:
handle –
dataset – A pointer to an instance of PGM_ConstDataset
serialization_format – The desired data format of the serialization. See PGM_SerializationFormat .
- Returns:
A pointer to the new serializer object. Should be freed by PGM_destroy_serializer() Returns NULL if errors occured (check the handle for error information).
-
void PGM_serializer_get_to_binary_buffer(PGM_Handle *handle, PGM_Serializer *serializer, PGM_Idx use_compact_list, char const **data, PGM_Idx *size)
Serialize the dataset into a binary buffer format.
- Parameters:
handle –
serializer – A pointer to an existing serializer.
use_compact_list – 1 for use compact list per element of serialization; 0 for use dictionary per element.
data – Output argument: the data pointer of the packed buffer will be written to *data.
size – Output argument: the length of the packed buffer will be written to *size.
- Returns:
No return value; check handle for error.
-
char const *PGM_serializer_get_to_zero_terminated_string(PGM_Handle *handle, PGM_Serializer *serializer, PGM_Idx use_compact_list, PGM_Idx indent)
Serialize the dataset into a zero terminated C string. Only supported for uncompressed data formats.
- Parameters:
handle –
serializer – A pointer to an existing serializer.
use_compact_list – 1 for use compact list per element of serialization; 0 for use dictionary per element.
indent – The indentation of the JSON, use -1 for no indent and no new line (compact format).
- Returns:
A NULL-terminated json string. Returns NULL if errors occured (check the handle for error information).
-
void PGM_destroy_serializer(PGM_Serializer *serializer)
Destroy serializer.
- Parameters:
serializer – The pointer to the serializer.
- Returns:
Dataset Definitions
The header power_grid_model_c/dataset_definitions.h contains extern global pointer variables of all datasets, compoments, and attributes. This header is not included in power_grid_model_c.h, you need to include it separately.
Defines
-
POWER_GRID_MODEL_C_DATASET_DEFINITIONS_H
header file which includes helper extern global variables of meta data pointers to all datasets, compoments, and attributes
Variables
-
PGM_MetaDataset const *const PGM_def_input
-
PGM_MetaComponent const *const PGM_def_input_node
-
PGM_MetaAttribute const *const PGM_def_input_node_id
-
PGM_MetaAttribute const *const PGM_def_input_node_u_rated
-
PGM_MetaComponent const *const PGM_def_input_line
-
PGM_MetaAttribute const *const PGM_def_input_line_id
-
PGM_MetaAttribute const *const PGM_def_input_line_from_node
-
PGM_MetaAttribute const *const PGM_def_input_line_to_node
-
PGM_MetaAttribute const *const PGM_def_input_line_from_status
-
PGM_MetaAttribute const *const PGM_def_input_line_to_status
-
PGM_MetaAttribute const *const PGM_def_input_line_r1
-
PGM_MetaAttribute const *const PGM_def_input_line_x1
-
PGM_MetaAttribute const *const PGM_def_input_line_c1
-
PGM_MetaAttribute const *const PGM_def_input_line_tan1
-
PGM_MetaAttribute const *const PGM_def_input_line_r0
-
PGM_MetaAttribute const *const PGM_def_input_line_x0
-
PGM_MetaAttribute const *const PGM_def_input_line_c0
-
PGM_MetaAttribute const *const PGM_def_input_line_tan0
-
PGM_MetaAttribute const *const PGM_def_input_line_i_n
-
PGM_MetaComponent const *const PGM_def_input_link
-
PGM_MetaAttribute const *const PGM_def_input_link_id
-
PGM_MetaAttribute const *const PGM_def_input_link_from_node
-
PGM_MetaAttribute const *const PGM_def_input_link_to_node
-
PGM_MetaAttribute const *const PGM_def_input_link_from_status
-
PGM_MetaAttribute const *const PGM_def_input_link_to_status
-
PGM_MetaComponent const *const PGM_def_input_generic_branch
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_id
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_from_node
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_to_node
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_from_status
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_to_status
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_r1
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_x1
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_g1
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_b1
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_k
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_theta
-
PGM_MetaAttribute const *const PGM_def_input_generic_branch_sn
-
PGM_MetaComponent const *const PGM_def_input_transformer
-
PGM_MetaAttribute const *const PGM_def_input_transformer_id
-
PGM_MetaAttribute const *const PGM_def_input_transformer_from_node
-
PGM_MetaAttribute const *const PGM_def_input_transformer_to_node
-
PGM_MetaAttribute const *const PGM_def_input_transformer_from_status
-
PGM_MetaAttribute const *const PGM_def_input_transformer_to_status
-
PGM_MetaAttribute const *const PGM_def_input_transformer_u1
-
PGM_MetaAttribute const *const PGM_def_input_transformer_u2
-
PGM_MetaAttribute const *const PGM_def_input_transformer_sn
-
PGM_MetaAttribute const *const PGM_def_input_transformer_uk
-
PGM_MetaAttribute const *const PGM_def_input_transformer_pk
-
PGM_MetaAttribute const *const PGM_def_input_transformer_i0
-
PGM_MetaAttribute const *const PGM_def_input_transformer_p0
-
PGM_MetaAttribute const *const PGM_def_input_transformer_winding_from
-
PGM_MetaAttribute const *const PGM_def_input_transformer_winding_to
-
PGM_MetaAttribute const *const PGM_def_input_transformer_clock
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_side
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_pos
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_min
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_max
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_nom
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_size
-
PGM_MetaAttribute const *const PGM_def_input_transformer_uk_min
-
PGM_MetaAttribute const *const PGM_def_input_transformer_uk_max
-
PGM_MetaAttribute const *const PGM_def_input_transformer_pk_min
-
PGM_MetaAttribute const *const PGM_def_input_transformer_pk_max
-
PGM_MetaAttribute const *const PGM_def_input_transformer_r_grounding_from
-
PGM_MetaAttribute const *const PGM_def_input_transformer_x_grounding_from
-
PGM_MetaAttribute const *const PGM_def_input_transformer_r_grounding_to
-
PGM_MetaAttribute const *const PGM_def_input_transformer_x_grounding_to
-
PGM_MetaComponent const *const PGM_def_input_transformer_tap_regulator
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_id
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_regulated_object
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_status
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_control_side
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_u_set
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_u_band
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_line_drop_compensation_r
-
PGM_MetaAttribute const *const PGM_def_input_transformer_tap_regulator_line_drop_compensation_x
-
PGM_MetaComponent const *const PGM_def_input_three_winding_transformer
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_id
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_node_1
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_node_2
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_node_3
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_status_1
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_status_2
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_status_3
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_u1
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_u2
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_u3
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_sn_1
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_sn_2
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_sn_3
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_12
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_13
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_23
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_12
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_13
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_23
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_i0
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_p0
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_winding_1
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_winding_2
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_winding_3
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_clock_12
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_clock_13
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_tap_side
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_tap_pos
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_tap_min
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_tap_max
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_tap_nom
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_tap_size
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_12_min
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_12_max
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_13_min
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_13_max
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_23_min
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_uk_23_max
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_12_min
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_12_max
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_13_min
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_13_max
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_23_min
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_pk_23_max
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_r_grounding_1
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_x_grounding_1
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_r_grounding_2
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_x_grounding_2
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_r_grounding_3
-
PGM_MetaAttribute const *const PGM_def_input_three_winding_transformer_x_grounding_3
-
PGM_MetaComponent const *const PGM_def_input_sym_load
-
PGM_MetaAttribute const *const PGM_def_input_sym_load_id
-
PGM_MetaAttribute const *const PGM_def_input_sym_load_node
-
PGM_MetaAttribute const *const PGM_def_input_sym_load_status
-
PGM_MetaAttribute const *const PGM_def_input_sym_load_type
-
PGM_MetaAttribute const *const PGM_def_input_sym_load_p_specified
-
PGM_MetaAttribute const *const PGM_def_input_sym_load_q_specified
-
PGM_MetaComponent const *const PGM_def_input_sym_gen
-
PGM_MetaAttribute const *const PGM_def_input_sym_gen_id
-
PGM_MetaAttribute const *const PGM_def_input_sym_gen_node
-
PGM_MetaAttribute const *const PGM_def_input_sym_gen_status
-
PGM_MetaAttribute const *const PGM_def_input_sym_gen_type
-
PGM_MetaAttribute const *const PGM_def_input_sym_gen_p_specified
-
PGM_MetaAttribute const *const PGM_def_input_sym_gen_q_specified
-
PGM_MetaComponent const *const PGM_def_input_asym_load
-
PGM_MetaAttribute const *const PGM_def_input_asym_load_id
-
PGM_MetaAttribute const *const PGM_def_input_asym_load_node
-
PGM_MetaAttribute const *const PGM_def_input_asym_load_status
-
PGM_MetaAttribute const *const PGM_def_input_asym_load_type
-
PGM_MetaAttribute const *const PGM_def_input_asym_load_p_specified
-
PGM_MetaAttribute const *const PGM_def_input_asym_load_q_specified
-
PGM_MetaComponent const *const PGM_def_input_asym_gen
-
PGM_MetaAttribute const *const PGM_def_input_asym_gen_id
-
PGM_MetaAttribute const *const PGM_def_input_asym_gen_node
-
PGM_MetaAttribute const *const PGM_def_input_asym_gen_status
-
PGM_MetaAttribute const *const PGM_def_input_asym_gen_type
-
PGM_MetaAttribute const *const PGM_def_input_asym_gen_p_specified
-
PGM_MetaAttribute const *const PGM_def_input_asym_gen_q_specified
-
PGM_MetaComponent const *const PGM_def_input_shunt
-
PGM_MetaAttribute const *const PGM_def_input_shunt_id
-
PGM_MetaAttribute const *const PGM_def_input_shunt_node
-
PGM_MetaAttribute const *const PGM_def_input_shunt_status
-
PGM_MetaAttribute const *const PGM_def_input_shunt_g1
-
PGM_MetaAttribute const *const PGM_def_input_shunt_b1
-
PGM_MetaAttribute const *const PGM_def_input_shunt_g0
-
PGM_MetaAttribute const *const PGM_def_input_shunt_b0
-
PGM_MetaComponent const *const PGM_def_input_source
-
PGM_MetaAttribute const *const PGM_def_input_source_id
-
PGM_MetaAttribute const *const PGM_def_input_source_node
-
PGM_MetaAttribute const *const PGM_def_input_source_status
-
PGM_MetaAttribute const *const PGM_def_input_source_u_ref
-
PGM_MetaAttribute const *const PGM_def_input_source_u_ref_angle
-
PGM_MetaAttribute const *const PGM_def_input_source_sk
-
PGM_MetaAttribute const *const PGM_def_input_source_rx_ratio
-
PGM_MetaAttribute const *const PGM_def_input_source_z01_ratio
-
PGM_MetaComponent const *const PGM_def_input_sym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_input_sym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_input_sym_voltage_sensor_measured_object
-
PGM_MetaAttribute const *const PGM_def_input_sym_voltage_sensor_u_sigma
-
PGM_MetaAttribute const *const PGM_def_input_sym_voltage_sensor_u_measured
-
PGM_MetaAttribute const *const PGM_def_input_sym_voltage_sensor_u_angle_measured
-
PGM_MetaComponent const *const PGM_def_input_asym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_input_asym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_input_asym_voltage_sensor_measured_object
-
PGM_MetaAttribute const *const PGM_def_input_asym_voltage_sensor_u_sigma
-
PGM_MetaAttribute const *const PGM_def_input_asym_voltage_sensor_u_measured
-
PGM_MetaAttribute const *const PGM_def_input_asym_voltage_sensor_u_angle_measured
-
PGM_MetaComponent const *const PGM_def_input_sym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_measured_object
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_measured_terminal_type
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_power_sigma
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_p_measured
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_q_measured
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_p_sigma
-
PGM_MetaAttribute const *const PGM_def_input_sym_power_sensor_q_sigma
-
PGM_MetaComponent const *const PGM_def_input_asym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_measured_object
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_measured_terminal_type
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_power_sigma
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_p_measured
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_q_measured
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_p_sigma
-
PGM_MetaAttribute const *const PGM_def_input_asym_power_sensor_q_sigma
-
PGM_MetaComponent const *const PGM_def_input_fault
-
PGM_MetaAttribute const *const PGM_def_input_fault_id
-
PGM_MetaAttribute const *const PGM_def_input_fault_status
-
PGM_MetaAttribute const *const PGM_def_input_fault_fault_type
-
PGM_MetaAttribute const *const PGM_def_input_fault_fault_phase
-
PGM_MetaAttribute const *const PGM_def_input_fault_fault_object
-
PGM_MetaAttribute const *const PGM_def_input_fault_r_f
-
PGM_MetaAttribute const *const PGM_def_input_fault_x_f
-
PGM_MetaDataset const *const PGM_def_sym_output
-
PGM_MetaComponent const *const PGM_def_sym_output_node
-
PGM_MetaAttribute const *const PGM_def_sym_output_node_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_node_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_node_u_pu
-
PGM_MetaAttribute const *const PGM_def_sym_output_node_u
-
PGM_MetaAttribute const *const PGM_def_sym_output_node_u_angle
-
PGM_MetaAttribute const *const PGM_def_sym_output_node_p
-
PGM_MetaAttribute const *const PGM_def_sym_output_node_q
-
PGM_MetaComponent const *const PGM_def_sym_output_line
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_loading
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_p_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_q_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_i_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_s_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_p_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_q_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_i_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_line_s_to
-
PGM_MetaComponent const *const PGM_def_sym_output_link
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_loading
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_p_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_q_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_i_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_s_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_p_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_q_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_i_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_link_s_to
-
PGM_MetaComponent const *const PGM_def_sym_output_transformer
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_loading
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_p_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_q_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_i_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_s_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_p_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_q_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_i_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_s_to
-
PGM_MetaComponent const *const PGM_def_sym_output_generic_branch
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_loading
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_p_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_q_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_i_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_s_from
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_p_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_q_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_i_to
-
PGM_MetaAttribute const *const PGM_def_sym_output_generic_branch_s_to
-
PGM_MetaComponent const *const PGM_def_sym_output_transformer_tap_regulator
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_tap_regulator_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_tap_regulator_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_transformer_tap_regulator_tap_pos
-
PGM_MetaComponent const *const PGM_def_sym_output_three_winding_transformer
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_loading
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_p_1
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_q_1
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_i_1
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_s_1
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_p_2
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_q_2
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_i_2
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_s_2
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_p_3
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_q_3
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_i_3
-
PGM_MetaAttribute const *const PGM_def_sym_output_three_winding_transformer_s_3
-
PGM_MetaComponent const *const PGM_def_sym_output_sym_load
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_load_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_load_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_load_p
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_load_q
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_load_i
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_load_s
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_load_pf
-
PGM_MetaComponent const *const PGM_def_sym_output_sym_gen
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_gen_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_gen_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_gen_p
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_gen_q
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_gen_i
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_gen_s
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_gen_pf
-
PGM_MetaComponent const *const PGM_def_sym_output_asym_load
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_load_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_load_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_load_p
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_load_q
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_load_i
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_load_s
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_load_pf
-
PGM_MetaComponent const *const PGM_def_sym_output_asym_gen
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_gen_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_gen_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_gen_p
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_gen_q
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_gen_i
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_gen_s
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_gen_pf
-
PGM_MetaComponent const *const PGM_def_sym_output_shunt
-
PGM_MetaAttribute const *const PGM_def_sym_output_shunt_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_shunt_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_shunt_p
-
PGM_MetaAttribute const *const PGM_def_sym_output_shunt_q
-
PGM_MetaAttribute const *const PGM_def_sym_output_shunt_i
-
PGM_MetaAttribute const *const PGM_def_sym_output_shunt_s
-
PGM_MetaAttribute const *const PGM_def_sym_output_shunt_pf
-
PGM_MetaComponent const *const PGM_def_sym_output_source
-
PGM_MetaAttribute const *const PGM_def_sym_output_source_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_source_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_source_p
-
PGM_MetaAttribute const *const PGM_def_sym_output_source_q
-
PGM_MetaAttribute const *const PGM_def_sym_output_source_i
-
PGM_MetaAttribute const *const PGM_def_sym_output_source_s
-
PGM_MetaAttribute const *const PGM_def_sym_output_source_pf
-
PGM_MetaComponent const *const PGM_def_sym_output_sym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_voltage_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_voltage_sensor_u_residual
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_voltage_sensor_u_angle_residual
-
PGM_MetaComponent const *const PGM_def_sym_output_asym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_voltage_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_voltage_sensor_u_residual
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_voltage_sensor_u_angle_residual
-
PGM_MetaComponent const *const PGM_def_sym_output_sym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_power_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_power_sensor_p_residual
-
PGM_MetaAttribute const *const PGM_def_sym_output_sym_power_sensor_q_residual
-
PGM_MetaComponent const *const PGM_def_sym_output_asym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_power_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_power_sensor_p_residual
-
PGM_MetaAttribute const *const PGM_def_sym_output_asym_power_sensor_q_residual
-
PGM_MetaComponent const *const PGM_def_sym_output_fault
-
PGM_MetaAttribute const *const PGM_def_sym_output_fault_id
-
PGM_MetaAttribute const *const PGM_def_sym_output_fault_energized
-
PGM_MetaDataset const *const PGM_def_asym_output
-
PGM_MetaComponent const *const PGM_def_asym_output_node
-
PGM_MetaAttribute const *const PGM_def_asym_output_node_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_node_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_node_u_pu
-
PGM_MetaAttribute const *const PGM_def_asym_output_node_u
-
PGM_MetaAttribute const *const PGM_def_asym_output_node_u_angle
-
PGM_MetaAttribute const *const PGM_def_asym_output_node_p
-
PGM_MetaAttribute const *const PGM_def_asym_output_node_q
-
PGM_MetaComponent const *const PGM_def_asym_output_line
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_loading
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_p_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_q_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_i_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_s_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_p_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_q_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_i_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_line_s_to
-
PGM_MetaComponent const *const PGM_def_asym_output_link
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_loading
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_p_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_q_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_i_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_s_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_p_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_q_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_i_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_link_s_to
-
PGM_MetaComponent const *const PGM_def_asym_output_transformer
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_loading
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_p_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_q_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_i_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_s_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_p_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_q_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_i_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_s_to
-
PGM_MetaComponent const *const PGM_def_asym_output_generic_branch
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_loading
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_p_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_q_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_i_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_s_from
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_p_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_q_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_i_to
-
PGM_MetaAttribute const *const PGM_def_asym_output_generic_branch_s_to
-
PGM_MetaComponent const *const PGM_def_asym_output_transformer_tap_regulator
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_tap_regulator_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_tap_regulator_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_transformer_tap_regulator_tap_pos
-
PGM_MetaComponent const *const PGM_def_asym_output_three_winding_transformer
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_loading
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_p_1
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_q_1
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_i_1
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_s_1
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_p_2
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_q_2
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_i_2
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_s_2
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_p_3
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_q_3
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_i_3
-
PGM_MetaAttribute const *const PGM_def_asym_output_three_winding_transformer_s_3
-
PGM_MetaComponent const *const PGM_def_asym_output_sym_load
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_load_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_load_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_load_p
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_load_q
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_load_i
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_load_s
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_load_pf
-
PGM_MetaComponent const *const PGM_def_asym_output_sym_gen
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_gen_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_gen_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_gen_p
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_gen_q
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_gen_i
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_gen_s
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_gen_pf
-
PGM_MetaComponent const *const PGM_def_asym_output_asym_load
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_load_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_load_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_load_p
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_load_q
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_load_i
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_load_s
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_load_pf
-
PGM_MetaComponent const *const PGM_def_asym_output_asym_gen
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_gen_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_gen_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_gen_p
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_gen_q
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_gen_i
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_gen_s
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_gen_pf
-
PGM_MetaComponent const *const PGM_def_asym_output_shunt
-
PGM_MetaAttribute const *const PGM_def_asym_output_shunt_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_shunt_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_shunt_p
-
PGM_MetaAttribute const *const PGM_def_asym_output_shunt_q
-
PGM_MetaAttribute const *const PGM_def_asym_output_shunt_i
-
PGM_MetaAttribute const *const PGM_def_asym_output_shunt_s
-
PGM_MetaAttribute const *const PGM_def_asym_output_shunt_pf
-
PGM_MetaComponent const *const PGM_def_asym_output_source
-
PGM_MetaAttribute const *const PGM_def_asym_output_source_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_source_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_source_p
-
PGM_MetaAttribute const *const PGM_def_asym_output_source_q
-
PGM_MetaAttribute const *const PGM_def_asym_output_source_i
-
PGM_MetaAttribute const *const PGM_def_asym_output_source_s
-
PGM_MetaAttribute const *const PGM_def_asym_output_source_pf
-
PGM_MetaComponent const *const PGM_def_asym_output_sym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_voltage_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_voltage_sensor_u_residual
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_voltage_sensor_u_angle_residual
-
PGM_MetaComponent const *const PGM_def_asym_output_asym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_voltage_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_voltage_sensor_u_residual
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_voltage_sensor_u_angle_residual
-
PGM_MetaComponent const *const PGM_def_asym_output_sym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_power_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_power_sensor_p_residual
-
PGM_MetaAttribute const *const PGM_def_asym_output_sym_power_sensor_q_residual
-
PGM_MetaComponent const *const PGM_def_asym_output_asym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_power_sensor_energized
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_power_sensor_p_residual
-
PGM_MetaAttribute const *const PGM_def_asym_output_asym_power_sensor_q_residual
-
PGM_MetaComponent const *const PGM_def_asym_output_fault
-
PGM_MetaAttribute const *const PGM_def_asym_output_fault_id
-
PGM_MetaAttribute const *const PGM_def_asym_output_fault_energized
-
PGM_MetaDataset const *const PGM_def_update
-
PGM_MetaComponent const *const PGM_def_update_node
-
PGM_MetaAttribute const *const PGM_def_update_node_id
-
PGM_MetaComponent const *const PGM_def_update_line
-
PGM_MetaAttribute const *const PGM_def_update_line_id
-
PGM_MetaAttribute const *const PGM_def_update_line_from_status
-
PGM_MetaAttribute const *const PGM_def_update_line_to_status
-
PGM_MetaComponent const *const PGM_def_update_link
-
PGM_MetaAttribute const *const PGM_def_update_link_id
-
PGM_MetaAttribute const *const PGM_def_update_link_from_status
-
PGM_MetaAttribute const *const PGM_def_update_link_to_status
-
PGM_MetaComponent const *const PGM_def_update_transformer
-
PGM_MetaAttribute const *const PGM_def_update_transformer_id
-
PGM_MetaAttribute const *const PGM_def_update_transformer_from_status
-
PGM_MetaAttribute const *const PGM_def_update_transformer_to_status
-
PGM_MetaAttribute const *const PGM_def_update_transformer_tap_pos
-
PGM_MetaComponent const *const PGM_def_update_transformer_tap_regulator
-
PGM_MetaAttribute const *const PGM_def_update_transformer_tap_regulator_id
-
PGM_MetaAttribute const *const PGM_def_update_transformer_tap_regulator_status
-
PGM_MetaAttribute const *const PGM_def_update_transformer_tap_regulator_u_set
-
PGM_MetaAttribute const *const PGM_def_update_transformer_tap_regulator_u_band
-
PGM_MetaAttribute const *const PGM_def_update_transformer_tap_regulator_line_drop_compensation_r
-
PGM_MetaAttribute const *const PGM_def_update_transformer_tap_regulator_line_drop_compensation_x
-
PGM_MetaComponent const *const PGM_def_update_three_winding_transformer
-
PGM_MetaAttribute const *const PGM_def_update_three_winding_transformer_id
-
PGM_MetaAttribute const *const PGM_def_update_three_winding_transformer_status_1
-
PGM_MetaAttribute const *const PGM_def_update_three_winding_transformer_status_2
-
PGM_MetaAttribute const *const PGM_def_update_three_winding_transformer_status_3
-
PGM_MetaAttribute const *const PGM_def_update_three_winding_transformer_tap_pos
-
PGM_MetaComponent const *const PGM_def_update_sym_load
-
PGM_MetaAttribute const *const PGM_def_update_sym_load_id
-
PGM_MetaAttribute const *const PGM_def_update_sym_load_status
-
PGM_MetaAttribute const *const PGM_def_update_sym_load_p_specified
-
PGM_MetaAttribute const *const PGM_def_update_sym_load_q_specified
-
PGM_MetaComponent const *const PGM_def_update_sym_gen
-
PGM_MetaAttribute const *const PGM_def_update_sym_gen_id
-
PGM_MetaAttribute const *const PGM_def_update_sym_gen_status
-
PGM_MetaAttribute const *const PGM_def_update_sym_gen_p_specified
-
PGM_MetaAttribute const *const PGM_def_update_sym_gen_q_specified
-
PGM_MetaComponent const *const PGM_def_update_asym_load
-
PGM_MetaAttribute const *const PGM_def_update_asym_load_id
-
PGM_MetaAttribute const *const PGM_def_update_asym_load_status
-
PGM_MetaAttribute const *const PGM_def_update_asym_load_p_specified
-
PGM_MetaAttribute const *const PGM_def_update_asym_load_q_specified
-
PGM_MetaComponent const *const PGM_def_update_asym_gen
-
PGM_MetaAttribute const *const PGM_def_update_asym_gen_id
-
PGM_MetaAttribute const *const PGM_def_update_asym_gen_status
-
PGM_MetaAttribute const *const PGM_def_update_asym_gen_p_specified
-
PGM_MetaAttribute const *const PGM_def_update_asym_gen_q_specified
-
PGM_MetaComponent const *const PGM_def_update_shunt
-
PGM_MetaAttribute const *const PGM_def_update_shunt_id
-
PGM_MetaAttribute const *const PGM_def_update_shunt_status
-
PGM_MetaComponent const *const PGM_def_update_source
-
PGM_MetaAttribute const *const PGM_def_update_source_id
-
PGM_MetaAttribute const *const PGM_def_update_source_status
-
PGM_MetaAttribute const *const PGM_def_update_source_u_ref
-
PGM_MetaAttribute const *const PGM_def_update_source_u_ref_angle
-
PGM_MetaComponent const *const PGM_def_update_sym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_update_sym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_update_sym_voltage_sensor_u_sigma
-
PGM_MetaAttribute const *const PGM_def_update_sym_voltage_sensor_u_measured
-
PGM_MetaAttribute const *const PGM_def_update_sym_voltage_sensor_u_angle_measured
-
PGM_MetaComponent const *const PGM_def_update_asym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_update_asym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_update_asym_voltage_sensor_u_sigma
-
PGM_MetaAttribute const *const PGM_def_update_asym_voltage_sensor_u_measured
-
PGM_MetaAttribute const *const PGM_def_update_asym_voltage_sensor_u_angle_measured
-
PGM_MetaComponent const *const PGM_def_update_sym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_update_sym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_update_sym_power_sensor_power_sigma
-
PGM_MetaAttribute const *const PGM_def_update_sym_power_sensor_p_measured
-
PGM_MetaAttribute const *const PGM_def_update_sym_power_sensor_q_measured
-
PGM_MetaAttribute const *const PGM_def_update_sym_power_sensor_p_sigma
-
PGM_MetaAttribute const *const PGM_def_update_sym_power_sensor_q_sigma
-
PGM_MetaComponent const *const PGM_def_update_asym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_update_asym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_update_asym_power_sensor_power_sigma
-
PGM_MetaAttribute const *const PGM_def_update_asym_power_sensor_p_measured
-
PGM_MetaAttribute const *const PGM_def_update_asym_power_sensor_q_measured
-
PGM_MetaAttribute const *const PGM_def_update_asym_power_sensor_p_sigma
-
PGM_MetaAttribute const *const PGM_def_update_asym_power_sensor_q_sigma
-
PGM_MetaComponent const *const PGM_def_update_fault
-
PGM_MetaAttribute const *const PGM_def_update_fault_id
-
PGM_MetaAttribute const *const PGM_def_update_fault_status
-
PGM_MetaAttribute const *const PGM_def_update_fault_fault_type
-
PGM_MetaAttribute const *const PGM_def_update_fault_fault_phase
-
PGM_MetaAttribute const *const PGM_def_update_fault_fault_object
-
PGM_MetaAttribute const *const PGM_def_update_fault_r_f
-
PGM_MetaAttribute const *const PGM_def_update_fault_x_f
-
PGM_MetaDataset const *const PGM_def_sc_output
-
PGM_MetaComponent const *const PGM_def_sc_output_node
-
PGM_MetaAttribute const *const PGM_def_sc_output_node_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_node_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_node_u_pu
-
PGM_MetaAttribute const *const PGM_def_sc_output_node_u
-
PGM_MetaAttribute const *const PGM_def_sc_output_node_u_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_line
-
PGM_MetaAttribute const *const PGM_def_sc_output_line_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_line_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_line_i_from
-
PGM_MetaAttribute const *const PGM_def_sc_output_line_i_from_angle
-
PGM_MetaAttribute const *const PGM_def_sc_output_line_i_to
-
PGM_MetaAttribute const *const PGM_def_sc_output_line_i_to_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_link
-
PGM_MetaAttribute const *const PGM_def_sc_output_link_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_link_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_link_i_from
-
PGM_MetaAttribute const *const PGM_def_sc_output_link_i_from_angle
-
PGM_MetaAttribute const *const PGM_def_sc_output_link_i_to
-
PGM_MetaAttribute const *const PGM_def_sc_output_link_i_to_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_transformer
-
PGM_MetaAttribute const *const PGM_def_sc_output_transformer_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_transformer_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_transformer_i_from
-
PGM_MetaAttribute const *const PGM_def_sc_output_transformer_i_from_angle
-
PGM_MetaAttribute const *const PGM_def_sc_output_transformer_i_to
-
PGM_MetaAttribute const *const PGM_def_sc_output_transformer_i_to_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_three_winding_transformer
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_i_1
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_i_1_angle
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_i_2
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_i_2_angle
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_i_3
-
PGM_MetaAttribute const *const PGM_def_sc_output_three_winding_transformer_i_3_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_sym_load
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_load_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_load_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_load_i
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_load_i_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_sym_gen
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_gen_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_gen_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_gen_i
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_gen_i_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_asym_load
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_load_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_load_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_load_i
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_load_i_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_asym_gen
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_gen_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_gen_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_gen_i
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_gen_i_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_shunt
-
PGM_MetaAttribute const *const PGM_def_sc_output_shunt_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_shunt_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_shunt_i
-
PGM_MetaAttribute const *const PGM_def_sc_output_shunt_i_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_source
-
PGM_MetaAttribute const *const PGM_def_sc_output_source_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_source_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_source_i
-
PGM_MetaAttribute const *const PGM_def_sc_output_source_i_angle
-
PGM_MetaComponent const *const PGM_def_sc_output_sym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_voltage_sensor_energized
-
PGM_MetaComponent const *const PGM_def_sc_output_asym_voltage_sensor
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_voltage_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_voltage_sensor_energized
-
PGM_MetaComponent const *const PGM_def_sc_output_sym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_sym_power_sensor_energized
-
PGM_MetaComponent const *const PGM_def_sc_output_asym_power_sensor
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_power_sensor_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_asym_power_sensor_energized
-
PGM_MetaComponent const *const PGM_def_sc_output_fault
-
PGM_MetaAttribute const *const PGM_def_sc_output_fault_id
-
PGM_MetaAttribute const *const PGM_def_sc_output_fault_energized
-
PGM_MetaAttribute const *const PGM_def_sc_output_fault_i_f
-
PGM_MetaAttribute const *const PGM_def_sc_output_fault_i_f_angle