-
Notifications
You must be signed in to change notification settings - Fork 23
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
#31 Fix initialisation of grid forming droop control when active damp… #3412
base: master
Are you sure you want to change the base?
Conversation
dynawo/sources/Models/Modelica/Dynawo/Electrical/Controls/Converters/GridFormingControl_INIT.mo
Outdated
Show resolved
Hide resolved
dynawo/sources/Models/Modelica/Dynawo/Electrical/Controls/Converters/GridFormingControl_INIT.mo
Outdated
Show resolved
Hide resolved
…e damping is used Signed-off-by: FredericSabot <frederic.sabot@ulb.be>
6a943ed
to
87863fd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to put the same number of the issue in dynawo #3411 for the commit?
And rebase to dynawo master
I don't know why, but the addition of DeltaVVI in the init file makes the initialisation less robust in my test case even if IdConv0Pu is 0 for all generators. I.e. it fails to initialise with DeltaVVI, but initialise smoothly (all derivatives close to 0 at t=0) without. |
We had initially some problems simulating the test case in the Dynawo library OpenModelica example. Did you try modifying the solver's parameters? |
I retried with and
which didn't solve the issue. It works with some values of msbset (1, 2, 4) in my test case, but not all (0, 3, 5, 10 do not work). |
This is very weird, with the same dynawo distribution (https://github.com/FredericSabot/dynawo/releases/tag/32_TEXAS), the issue mentioned above occurs on my laptop but not in my server. (I also have a separate issue where KINSOL fails following the occurrence of a fault but only on the server, not on my laptop.) |
@rosiereflo Do you have any idea why this would occur? |
This looks like a side effect of small differences caused by the machine, but going from a succesfull init to a crash is quite surprising. DOes it happen with the initial solver setup? |
What do you mean by initial solver setup? Here are the logs of the first test case with default solver parameters
and with lvlFilter="DEBUG"
|
Could you please try to run the testcase in with a debug compilation so that all the details are provided? Thanks |
I have attached the logs and test case run in Debug mode. The case has been run with my_fork/32_Texas + in GridForming_INIT.mo The relevant part in the local initialisation failure is
There is more info in the logs for global initialisation. |
ok this is a strong divergence. I will need to investigate further, could you please send me the details on how to reproduce (maybe on dynawo-rte mail) so that I can help you with this? thanks |
The full test case is attached to my previous message. To run it, you can checkout the branch and replace the first four equations in dynawo/sources/Models/Modelica/Dynawo/Electrical/Controls/Converters/GridFormingControl_INIT.mo PRef0Pu = PFilter0Pu; (The release https://github.com/FredericSabot/dynawo/releases/tag/32_TEXAS does not include the -DeltaVVI and is more robust.) The test case is quite big, however it seems there is only one problematic generator in this case, so I don't think I can easily provide a smaller one. |
And to get it to initialise properly, you can try to change the msbset value in init.par to other values: (1, 2, 4) work, but (0, 3, 5, 10) do not. |
ok thanks let me take a quick look to see if I can help with this :) |
I'm sorry I was not able to reproduce the divergence on my machine. what is the OS of the server used? |
The issue occurs on my Ubuntu 22.04.5 LTS x86_64 laptop (virtual machine). I will create a distribution with the -DeltaVVi change and try to reproduce on the server (I cannot compile directly on the server). |
I have been able to reproduce the issue (with distribution https://github.com/FredericSabot/dynawo/releases/tag/nightly) on a Fefora-based server. Server nic5
|
And same with a CentOS Server hercules
|
Find and replace all
with
(or even 1.67) causes a second GFM generator to fail to initialise (343_PV_1, close to 344_PV_2) in my machines. This might help you reproduce the issue on your side. This also indicates that the issue might be related to the virtual impedance control. |
@joyelfeghali Upon further analysis, it seems like there are many "direct paths" (i.e. paths without any time delay) between the input and outputs of the GFM control block. Although the model is somewhat isolated from the grid via the filter and dynamic transformer model, dont' you think this could lead to issues for the solver (e.g. following large changes like for a fault)? |
Hi, I'm sorry no matter the different attempts I was not able to reproduce this on my laptop. I will try to use a docker and let you know |
Hello, just to make sure, because I have updated the nightly distribution since last time: the release where the issue occurs is https://github.com/FredericSabot/dynawo/releases/tag/32_Texas_With_DeltaVVI. The test case is still https://github.com/user-attachments/files/17294253/test_case.zip |
…ing is used
Closes #3411
Checklist before requesting a review
use
'[x]'
to check the checkboxes, or submit the PR and then click the checkboxes