Main Content

ssc_update

Update Simscape component files to use new syntax

Syntax

ssc_update namespace

Description

The ssc_update command runs a script that updates the legacy component files containing across and through statements. Upon encountering a Simscape™ component file written in the old format, the script creates a backup copy of the file (filename.ssc.bak), removes the through and across statements from the setup section, replaces the through statements with the corresponding branches section and adds the equations equivalent to the across statements to the equations section of the file.

ssc_update namespace updates all the legacy component files located in the namespace. The argument, namespace, must be a top-level namespace name.

Note

The namespace folder name begins with a leading + character, whereas the argument to ssc_update must omit the + character.

If you run the ssc_update command from inside the namespace folder structure, you can omit the argument.

Examples

For example, you have a custom namespace +MyCapacitors, which contains a component file IdealCapacitor.ssc, written in the old format:

component IdealCapacitor
% Ideal Capacitor
% Models an ideal (lossless) capacitor.

  nodes
    p = foundation.electrical.electrical; % +:top
    n = foundation.electrical.electrical; % -:bottom
  end
  parameters
    C = { 1, 'F' };   % Capacitance
    V0 = { 0, 'V' };  % Initial voltage
  end
  variables
    i = { 0, 'A'   }; % Current through variable
    v = { 0, 'V'   }; % Voltage across variable
  end
  function setup
    if C <= 0
        error( 'Capacitance must be greater than zero' )
    end
    through( i, p.i, n.i ); % Through variable i from node p to node n
    across( v, p.v, n.v );  % Across variable v from p to n
    v = V0;
  end
  equations
    i == C*v.der;    % Equation
  end
end

To update the file to the new format, at the MATLAB® command prompt, type:

ssc_update MyCapacitors;

This command creates a backup copy of the component file, IdealCapacitor.ssc.bak, in the same folder where the original file resides, and rewrites the IdealCapacitor.ssc file as follows:

component IdealCapacitor
% Ideal Capacitor
% Models an ideal (lossless) capacitor.

  nodes
    p = foundation.electrical.electrical; % +:top
    n = foundation.electrical.electrical; % -:bottom
  end
  parameters
    C = { 1, 'F' };   % Capacitance
    V0 = { 0, 'V' };  % Initial voltage
  end
  variables
    i = { 0, 'A'   }; % Current through variable
    v = { 0, 'V'   }; % Voltage across variable
  end
  function setup
    if C <= 0
        error( 'Capacitance must be greater than zero' )
    end
    v = V0;
  end

  branches
    i : p.i -> n.i; % Through variable i from node p to node n
  end

  equations
    v == p.v - n.v; % Across variable v from p to n

    i == C*v.der;    % Equation
  end
end

As you can see, the original through statement

through( i, p.i, n.i ); % Through variable i from node p to node n

has been replaced with the branches section:

branches
  i : p.i -> n.i; % Through variable i from node p to node n
end

The across statement

across( v, p.v, n.v );  % Across variable v from p to n

has been replaced with the equation

v == p.v - n.v; % Across variable v from p to n

in the equations section.

The other two statements in the setup section have been left unchanged.

Note

Starting in R2019a, using setup is not recommended. Other constructs available in Simscape language let you achieve the same results without compromising run-time capabilities. For more information, see setup is not recommended.

Version History

Introduced in R2014a