Comments (12)
This would be a nice feature. But we'd need to think the use case very well.
I'd rather have these values change with temperature, Is there a simple model we can follow?
from gridcal.
Setting default behaviors would be fairly simple for load flow and short circuit studies; not so much of other studies. I haven't checked how you handle simulation parameters in the GUI but it could be left at the nominal value by default for any other case.
These tolerances are not related to temperature, i.e. they are not actual variation of the physical values, but imprecisions on the value itself. By the relevant IEEE standards (C57.12 or one of its cousins), when a power transformer is specified, the manufacturer is allowed a 7.5% error on the impedance value (unless another error is specified). If the impedance is not measure by a routine test, the error will remain and the nameplate will show the specified impedance, not the measured (real) impedance.
So preliminary studies (i.e. before the transformer is constructed and tested) should always somehow account for this tolerance. We could add the tolerance attribute to the transformer type
class, set it to 0% by default, and think of the best way to determine whether and how (i.e. -/+) it should be applied for each simulation.
It's not urgent and I plan on integrating the additional tests and the temperature resistance adjustement first, but the feature could be added later.
from gridcal.
What's the status of this one?
from gridcal.
No work done yet, so depending on how you wish to track potential new features, you may close it or tag it accordingly.
It's up to you, if you close it I'll simply reopen it when I'm ready to discuss it further.
from gridcal.
Honestly I need to understand the use case better.
I guess that the best is to create a python test script "researching" the implementation.
Do you have anything that is worth reading to understand this?
from gridcal.
Hi Santiago,
The official reference would be the IEEE C57.12 series, starting with C57.12.00. It indicates what I mentioned in my first comment: before being tested, there's typically a +/-7.5% tolerance on theoretical transformer impedance.
After that it's mostly common sense, and up to the designer's preferences. I do find some articles that make mention of it but it comes down to: a theoretical power transformer's impedance has a +/-7.5% precision. The designer can choose to ignore it or apply it to be more or less conservative.
If there are sufficient conservative factors elsewhere, the designer may choose to ignore this factor entirely, even during the preliminary stage (i.e. before the transformer is built).
For example, we are contractually bound to meet total system losses below a predetermined value for our wind farm designs, based on our preliminary calculations. In this case, I definitely want to use the most conservative value for the transformers' impedance. For short circuit calculations for equipment duties, I don't care because we already use extremely conservative contributions from the grid. Etc.
Michel
from gridcal.
So, would it suffice with adding two properties low_tolerance
and high_tolerance
to the branch device, and then have some option telling which one is to use?, or is there some more advanced capability required?
from gridcal.
The commercial softwares I use also know which one to use (either low or high), depending on the study (lower impedance for short circuit, higher impedance for power flow), if it's allowed to (user option).
But yes I think it's a very simple enhancement, and I would add a precision
property to the Branch
class instead of the 2 properties you suggested (AFAIK it's always ±X%).
It should be an optional property, with a 7.5% default value for transformers, and 0% for other types of branch. The option to consider this precision should obviously be False
by default.
from gridcal.
Indeed it looks simple enough, I'll try to implement it as soon as I get some time, or would you rather do it?
from gridcal.
I'd like to finish what I've started with the documentation before starting something else, so I'd be happy either way. Thanks for asking!
from gridcal.
I implemented the feature, did some playing around and it seems to be doing something, so it is ready for a formal test
from gridcal.
I like how you implemented it; it lets the user select the upper / lower band according to his wishes. I'll close this issue, I've added 2 basic tests in #69.
from gridcal.
Related Issues (20)
- academic publications HOT 2
- run error ‘optimal power flow’ HOT 4
- Issue - Overhead lines and importing profiles HOT 4
- Unable to run GridCal after installation HOT 23
- Numerical convergence HOT 2
- Transformer options HOT 5
- StateEstimation example does not run HOT 15
- Support option to intentionally disable numba HOT 8
- Overflow error HOT 1
- Unbalanced + multiple short circuit HOT 28
- continuation power flow failed to run HOT 3
- [FEATURE REQUEST] DC Power Flow (or even optimal power flow) HOT 11
- Error reading a CIM file HOT 4
- Miscellaneous stuff HOT 7
- XXX is not available HOT 2
- Python >= 3.8 HOT 2
- TypeError: unsupported operand type(s) in GridCal/Engine/Core/Compilers/circuit_to_data2.py:46 HOT 3
- Remove `np.int` support in GridCal HOT 1
- Import cause printing about `Bentayga`, `power grid model`, `Newton Power Analytics`
- result different from PowerWorld HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gridcal.