Support zero IEEET1 transducer time constant#439
Conversation
| tag_[6] = false; // y6 - ve - Excit. Cntrl Volt | ||
| tag_[7] = false; // y7 - efd - Efd | ||
| tag_[8] = false; // y8 - ksat - Saturation | ||
| tag_[0] = (Tr_ != 0.0); // y0 - vts - Sensed term volt |
There was a problem hiding this comment.
There are potential issues with comparing a floating point value to 0 like this.
There was a problem hiding this comment.
I agree, so I added the smallest possible inequality using epsilon().
There are many models that use zero-valued parameters to control the model's behavior (e.g., a control block bypass). A good way to describe them would be 'parametrically piecewise'. In the fixed time step solvers like PowerWorld, it doesn't even allow
We might actually want a way to wire in the minimum time step for IDA into the algebraic flag
c34a018 to
8b4586f
Compare
|
Added a fix to the exciter scaling now that |
b470ff2 to
287b384
Compare
287b384 to
99c66a9
Compare
Description
Support
Tr = 0in the IEEET1 exciter by treating the sensed terminal voltage state as algebraic when the transducer time constant is zero.This removes the need for small artificial
Trvalues in validation and example cases.Proposed changes
Vtsas algebraic whenTr = 0.Trplaceholders are zero.Tr = 0algebraic behavior.Checklist
-Wall -Wpedantic -Wconversion -Wextra.Changelog changes N/A
Further comments
Early development known issue that did not matter until detailed validation of the larger models.