SetComponent - MapleSim Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : MapleSim : MapleSim Application Programming Interface : API Commands : MapleSim/LinkModel/SetComponent

SetComponent

create a component from either Modelica source or a DynamicSystems object

 

Calling Sequence

Parameters

Options

Description

Examples

Calling Sequence

SetComponent(model)

Parameters

model

-

string or DynamicSystems object

Options

• 

forceupdate = truefalse

  

True means update an existing component without querying. False means query if the update replaces an existing component. The default is false.

• 

nosource = truefalse

  

True means uses the empty string for the source. This prevents opening the source worksheet when double-clicking on an instance of the created component. This overrides the source option (it is different from assigning the empty string to the source option). The default is false.

• 

source = string

  

String corresponding to the name of an attachment to the current msim file, typically the source file used to create the component.  If provided, double-clicking on an instance of the created component opens a worksheet that describes where the source file is attached. The default is an empty string.  Using the default embeds a copy of the current worksheet into the generated component such that double-clicking on it opens that copy of the worksheet.

• 

savemodelica = truefalse

  

True means save the literal modelica code with the component (as the user wrote it); as a result, a subsequent opening of the component in the GUI will display the modelica code in the Modelica Code editor. The default is false.

• 

warning_only = truefalse

  

True means issue a warning rather than raise an error if there is an error while attaching model. The default is false.

Description

• 

SetComponent attaches a model to the linked MapleSim model. The model appears in the Components palette under the Definitions tab.

• 

The model parameter is either a string consisting of Modelica source code or a DynamicSystems[System] object.

Examples

Link to the MapleSim model.

AMapleSim:-LinkModel:

Assign the equations for a simple nonlinear resistor.

eqsvt=V1itk,vt=vptvnt

eqsvt=V1itk,vt=vptvnt

(1)

Use MapleToModelica to create Modelica code for the model.

withMapleSim:-Tools:

moMapleToModelicaeqs,comment=Nonlinear resistor, v = R1*i^k,class_name=nonlinear_resistor,import=Modelica.SIunits.*,parameters=V1::Voltage=1 &c voltage at one ampere,k::real=2 &c current exponent,connections=p::electrical=vpt,it,n::electrical=vnt,it,unfilled_pins=n,display:

model nonlinear_resistor "Nonlinear resistor, v = R1*i^k"
    import Modelica.SIunits.*;

    extends Maplesoft.Icons.CustomComponent;

    Modelica.Electrical.Analog.Interfaces.PositivePin p annotation (Placement(transformation(
        extent = {
            {-110, -10},
            {-90, 10}},
        rotation = 0)));
    Modelica.Electrical.Analog.Interfaces.NegativePin n annotation (Placement(transformation(
        extent = {
            {90, -10},
            {110, 10}},
        rotation = 0)));
    parameter Modelica.SIunits.Voltage V1 = 1 "voltage at one ampere";
    parameter Real k = 2 "current exponent";
    Modelica.SIunits.Current i;
    Modelica.SIunits.ElectricPotential vn;
    Modelica.SIunits.ElectricPotential vp;
    Real v;
equation
    v = V1 * i ^ k;
    v = vp - vn;
    n.i = -i;
    n.v = vn;
    p.i = i;
    p.v = vp;
end nonlinear_resistor;

Add the component to the linked MapleSim model.

A:-SetComponentmo

Create a DynamicSystems object and attach it as a component.

sysDynamicSystems:-DiffEquationks+ω,parameters=k=1,ω=1:

Reassign the systemname field of sys; the new name is used as the model name.

sys:-systemnamefilter:

A:-SetComponentsys:

See Also

DynamicSystems

MapleSim

MapleSim Embedded Component

MapleSim[LinkModel]

MapleSim[Tools][MapleToModelica]