Documentation Home Page ARTEMiS Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

UCB Template Constituents

The UCB templates are designed to simplify UCB design and have some built-in features that should not be modified by users.

Mask Types & ParametersFunction
Main mask typeThe UCB is recognized by the SSN solver by its Simulink Mask Type: Norton-Type External Nodal Subsystem
Mask parameter Number of Electric nodes and associated variable nnodeIndicates the number of electric nodes. They should not be modified.
Mask parameter Unique Tag Identifier (automatic)Used to obtain a unique tag name for use inside the block. Some callbacks inside the block Initialisation are also used with this mask parameter and should not be altered.
Inside the UCB, some blocks must not be altered:
Simulink From blocks named FromVUsed to read the nodal solution of SSN
Simulink Goto blocks GotoY and GotoHistUsed to send the UCB Yc and Ih to the SSN solver.
Simulink subsystem XinterfaceUsed to identify the nodes of the UCB and match them with the internal nodes of other blocks used in SSN. From the mathematical point of view, the phase letters ’a’, ’b’, ’c’, etc... on the Xinterface block correspond to the UCB row/column of the Yc and Ih matrix and vector. You can rename the Pm-ports that go outside the UCB as you'd like.

UCB Coding

SSN-UCB are usually coded in accordance with SSN methods. UCB code usually has the following steps:

  • Identify the continuous-time domain differential equation.
  • Discretization by an implicit method such as Trapezoidal or Backward Euler. The former is more precise while the latter is more immune to numerical instabilities. Discretization can be changed during simulation if desired.
  • Form the SSN DCM from the discretized equation.

SSN-UCB Based on S-Functions

SSN-UCB can be coded using S-functions instead of Simulink blocks. S-function based UCB can be preferred in case of very complex models like MMC that require many ’for’ loops, something that is more convenient to code in ’C’ langage[3]. A complex rotating machine can still be coded using the techniques described in this chapter, using only Simulink blocks [4].

A good example of S-function based UCB is artemis/SSN/SSN OLTC/SSN OLTC xfo, with its Simulink-only counterpart artemis/SSN/SSN OLTC/SSN OLTC xfo v2 by its side.

OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | opal-rt.com | +1 514-935-2323
Follow OPAL-RT: LinkedIn | Facebook | YouTube | X/Twitter