creates the Modelica model "newmodel" of the systems model sys.

creates a model for the system equations eqns with independent variable t.

creates a model with type specifications tspecs for variables and parameters.

creates a component model extending the specification given by "partial".


  • WSMCreateModel returns WSMModelData["newmodel"].
  • WSMCreateModel["PackageA.NewModel"] inserts "NewModel" into "PackageA".
  • Possible systems models sys include TransferFunctionModel and StateSpaceModel. »
  • Possible equations eqns include ordinary differential equations (ODE), differential algebraic equations (DAE), initial value equations and event specifications given by WhenEvent. »
  • Parameters in eqns and sys are taken to be variables that do not explicitly depend on t.
  • Type specifications tspecs for variables and parameters {tspec1,}, where each tspeci has the form:
  • paritypeiparameter type typei
    varitypeivariable type typei
  • The types typei can be basic Reals, Integers and Booleans, or any Modelica type including units. »
  • WSMNames["Modelica.SIunits.*","type"] can be used to find built-in standard units.
  • Modelica models are typically built by combining many models into a larger system. The interaction between these models is described by the Modelica concept connector. »
  • Click for copyable input
  • A connector consists of effort and flow variables. When connecting multiple connectors, flow variables are summed to 0, while effort variables are set equal.
  • As an example, an electrical circuit connector, commonly called a pin, consists of a voltage variable v and a current variable i.
  • Connecting pins n and p sums the flow variables, in this case currents i, to 0, and sets the efforts, in this case voltages v, equal:
  • All flow variables are positive in the direction flowing into a component.
  • Effort and flow variables for different domains include:
  • DomainEffort VariablesFlow Variables
    electrical circuitsvoltagecurrent
    magnetic circuitsmagnetic potentialmagnetic flux
    translational mechanicspositionforce
    rotational mechanicsangletorque
    3D mechanicsposition vector, orientation objectcut force vector, cut torque vector
    fluid flow systemspressure, specific enthalpymass flow rate, enthalpy flow rate
    heat transfer systemstemperatureheat flow rate
    block diagramsreal, integer, Boolean-
  • Possible connectors conni for a domain are usually defined in an "Interfaces" package. For example, WSMNames["Modelica.Electrical.Analog.Interfaces.*","connector"] can be used to find connectors for the built-in electrical library.
  • The specification variconni can be used to specify that a variable vari refers to a connector of type conni.
  • Variables vi in a connector c can be referred to in eqns with cvi, where the "" character is input as \[UpPointer].
  • The variables defined by a connector conn can be listed with WSMModelData[conn,"SystemVariables"].
  • Libraries often contain partial models, called interfaces, for building new component models. These interfaces usually consist of connectors and equations describing the basic relationships between them.
  • With WSMCreateModel["newmodel""partial",eqns,], "newmodel" combines eqns with the existing "partial" model defined in Modelica. »
  • WSMCreateModel["newmodel""partial",] corresponds to using the "extends" keyword in Modelica.
  • A model can extend multiple models using "newmodel"{,"partiali",}.
  • Partial models to build on are usually defined in an Interfaces package. For example, WSMNames["Modelica.Electrical.Analog.Interfaces.*","model"|"block"] can be used to find partial models for the built-in electrical library.
  • The shortest unique "type" or "partial" can be used where WSMNames["*.type"] gives a unique match. »
  • The following options can be given:
  • WSMInitialValuesAutomaticstart values
    WSMParameterValuesAutomaticparameter values
  • WSMInitialValues corresponds to the start property in the Modelica model.

ExamplesExamplesopen allclose all

Basic Examples  (4)Basic Examples  (4)

Load Wolfram SystemModeler Link:

Click for copyable input

Create a model based on a StateSpaceModel:

Click for copyable input

Create a model based on a TransferFunctionModel:

Click for copyable input

Build a model around an existing interface using equations:

Click for copyable input
Click for copyable input