Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exposing all DSS objects and uniform batches #82

Open
PMeira opened this issue Jul 13, 2022 · 0 comments
Open

Exposing all DSS objects and uniform batches #82

PMeira opened this issue Jul 13, 2022 · 0 comments

Comments

@PMeira
Copy link
Member

PMeira commented Jul 13, 2022

In DSS C-API v0.12.0, there are two sets of functions Obj_* and Batch_* to manipulate DSS properties directly, bypassing the textual parser and string conversion to read/write the properties.

Initially, my plan would be to generate code from the schema like in IObj.py (also WIP) -- for Python I added the "magic numbers" directly to avoid the lookup overhead, Julia could use enums/constants. Most of the code is very simple (mapping class id, property id and property type to the language types). I also plan to publish a C++ version of that in a few days.

Besides some general things like naming conventions (ideally we should try to use a default convention across all projects), does anyone have suggestions before I try this? We can always add an initial implementation and iterate later, as long as things work.

We should add more functions to get/manipulate the power flow state in DSS C-API v0.12.1, effectively moving away from the classic API based on the original COM implementation and the "Active..." concept. And dss-extensions/dss_capi#113 will allow us to return the matrix shapes.

EDIT: Some samples for Python available in test_obj.py and test_batch.py.

In Python, this is currently being developed in AltDSS-Python. See the docs at https://dss-extensions.org/AltDSS-Python/examples/GettingStarted.html
We should start porting it soon to Julia.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant