MapleSim Questions and Posts

These are Posts and Questions associated with the product, MapleSim

Dear all

I solve an optimization problem ( minimization or maximization) using lagrangeMultiplier theorem 

The objective function is f:=(x,y,z) =x*y+y*z;

The constraints are: x*y=1  and y^2+z^2=1;

Using a numerical method I get the follwing point 

x = 1.41421356249703, y = .707106781124551, z = .707106781248575

How can I confirm that this point is a minumum or maximum

Maybe I must use Hessian matrix or something else.

Which condition must be introduced to know the type ( maximum or minumum) this point.

Many thanks for your help


I have a system of equation as

Hi all

I have a system of equation:

sys := [x+y, 2*x+y^2];

How can I convert the previous system to this function using maple


then how can I compute the gradient of F.


Many thanks.




Determine the extrema corresponds to a local minimum, maximum or



obj := 2*x^2+2*x*y+3*y^2;
  cts := [x+y = 2];
    Minimize(obj, cts);

    Maximize(obj, cts);

Maple display that there is no maximum, i d'ont understand why the maximum does not exist.

Many think




Dear Community,


I tried to run a very simple dumped oscillator in MapleSim. Upon running however I do not get any result plots. Nothing appears in the result window :-/ Could you pls. have a short look at it?

Tx in advance,

best regards



I can't undersand, how I can create linear actuator model in MapleSim and to add it in 3D-visualized project. (Like this, for example:

Can anyone share an example of such task or explain to me?

It is possible without electric motor and transmission.
An example of translational motion with a certain force will suffice.

Thank you in advance for your cooperation!

where i can change the value?

I am trying to expand the ridgid beam model to flexible beam model to 1.) use fixed walled end to calulate cantilever deflection from a constant load, and visualize deflection; and then 2.) incorporate a compliant walled joint (rotary joint) with stiff rotational spring. To get angles of rotation; and finally simulate a periodic force and calc/plot all reactions/theta(t).


There is a video on line of a round beam with fixed-fixed ends and a translating weight with deflection visulized, but only a you tube vid can be found of this set-up.   It is close to what I need.


Lastly, if anyone knows how to send the diagram to maple as in A:=MapleSim:-___()

This method to transfer from Sim to maple with diagram and current session(#?) was done in a tutorial vid from MapleSim session. I am using Maple/MapleSim 2017 which is difficult to follow changes in workspace and commands from vids/tutorials.

PS. I have connected through opening a new worksheet and explicitly opening by filename. 

I have modeled a delta type parallel manipulator for performing CPR operation.

The model does 100 compressions per minute with a vertical displacement of 4-5 cm, which is the requirement of the CPR.

A rigid body is attached to the end effector and I need to model a human chest using a spring damper system.

The exists a spring-damper block in the 1D Mechanical translation category. I have previosly modeled a spring damper mechanical system using these blocks but I have never tried connecting these to a Multibody.

The spring and damper coefficients of a human chest are k=8350 N/m and c=500 Ns/m.

My model is here:

Can you help me model the human chest?




I would like to ask, if somebody knows whether the CAD Toolbox is included in the students version and if not how much is it?


I am trying to model a parallel manipulator but I am receiving an error message

State variable'diff(diff(`Main.R41.theta`(t),t),t)' does not appear in dynamic or constraint equations.

I tried changing the Revolute joint 41 but the same error is repeated. 

You can find my model here: ParalelManipulator_v2.msim

Can you help me solve this issue? Thank you in advance!

Hello everyone,

I have modeled a parallel manipulator using MapleSim 6.4 and it is giving me an error.


The types of joint are shown by the visual below. Note that in my model I have used a universal joint or two coinciding revolute joints instead of a speherical joint.

Hello everyone,

I know that it is possible to obtain the DH parameters of a robot manipulator model in the MapleSim environment.

I was wondering if it is possible to obtain the Jacobian matrix of a robot manipulator from the MapleSim model?

Thank you,


I am working on a model in MapleSim which is giving me the error "DSN/RunSimulation: internal error: condition iteration failure: unable to solve Tarjan form at initial point."

Are there any general tips on what in a model could cause this error?

The Railway Challenge is a competition designed by the Institute of Mechanical Engineers (IMechE), aimed at engaging young engineers with the rail industry.  The challenge, now in its seventh successive year, brings together teams of university students, as well as apprentices and graduates working in industry across the world to test their business knowledge, design ability and technical skills in a live test environment.

The Railway Challenge at Sheffield (RCAS) is an extracurricular student-led activity within the Mechanical Engineering department at the university of Sheffield, that designs, codes and manufactures a 10 1/4 inch gauge miniature locomotive to compete in the IMechE’s  Railway Challenge.  The locomotive is assessed in accordance with a set of strict rules and a detailed technical specification, such as traction, ride comfort, and a business case. The locomotives are tested live at a competition, which takes place in June at the Stapleford Miniature Railway in Leicestershire, where several categories of winners and an overall Railway Challenge champion is crowned.

The team consists of around twenty members, and students studying Mechanical Engineering and even cross discipline can get involved as soon as they come to the University, getting into to the design of components within the suspension or braking systems for example, before proceeding to manufacture and test; allowing the students to experience all the stages of an engineering product as well as skills gained by working in the team such as effective communication, time management and financial planning.

Last year the team was granted a sponsorship from Maplesoft, and as a result, huge improvements were made within the team. Overall the team jumped from finishing in 7th place to in the summer winning the maintainability challenge and finishing in 4th place overall – mostly down to the electronics working for the first year ever!


Using Maplesoft’s donation the team switched form a central CRIO control system to a distributed network using I2C protocols and Arduino hardware. This did away with some of the electrical teething problems the team has suffered in previous years. It also introduced our Mechanical Engineers to coding that they would otherwise not do in their course.

This year Maplesoft have again sponsored RCAS. The team is hoping to use the licenses to perform their structures calculations in an easy way to keep track of them for use in the design report. They are also hoping to use MapleSim for dynamics modelling, to assist with suspension design, and designing any electronics or control elements, such as filter design and motor control.


I'm writting a Modelica External component which use a C function, like this :

model SAMS.BlockUdpReceiver
    parameter Integer relativeSockId = 0 "Relative socket id (0..10)";
    parameter Integer stateUdp = 2 "state of receiver 1=receive data from udp ; 2=state from recorder config file";
    parameter Real step_time = 0.05 "sample time in second";
    parameter Integer nbDouble = 3 "number of double value to send";

    function udpReceiveDataMapleSim
        input Integer relativeSockId;
        input Integer stateUdp;
        input Real step_time;
        input Real currentTime;
        input Integer nbDouble;
        output Real dataToReceived[nbDouble];
    external "C"udpReceiveDataMapleSim(SAMS.BlockUdpReceiver.udpReceiveDataMapleSim.relativeSockId, SAMS.BlockUdpReceiver.udpReceiveDataMapleSim.stateUdp, SAMS.BlockUdpReceiver.udpReceiveDataMapleSim.step_time, SAMS.BlockUdpReceiver.udpReceiveDataMapleSim.currentTime, SAMS.BlockUdpReceiver.udpReceiveDataMapleSim.nbDouble, SAMS.BlockUdpReceiver.udpReceiveDataMapleSim.dataToReceived)
            annotation (
                Library = "F:/SAMSSVN/workspaceMaple/SamsLibrary/x64/Debug/SamsDll.dll",
                __Maplesoft_callconv = "stdcall");
    end udpReceiveDataMapleSim;

    Modelica.Blocks.Interfaces.RealOutput dataReceived[nbDouble] annotation (Placement(
        visible = true,
            origin = {120, 50},
            extent = {
                {-20, -20},
                {20, 20}},
            rotation = 0),
            origin = {110, 50},
            extent = {
                {-10, -10},
                {10, 10}},
            rotation = 0)));
    when {initial(), sample(0, step_time)} then
        dataReceived = udpReceiveDataMapleSim(relativeSockId, stateUdp, step_time, time, nbDouble);
    end when;

    annotation (
        Diagram(coordinateSystem(extent = {
            {-100, -100},
            {100, 100}})),
        experiment(__Maplesoft_engine = 2),
end SAMS.BlockUdpReceiver;

I want MapleSim to call C function at initial() time and with a sampled period of step_time.

But, the function is called at each simulation step (here at 0.4 ms)

for demonstrate it, I print a log file each time the function is called.
this is a part of the result :

id Receiver =11 ; CurrentTime = 0.151200 while t_step=0.002000
id Receiver =11 ; CurrentTime = 0.151200 while t_step=0.002000
id Receiver =11 ; CurrentTime = 0.151200 while t_step=0.002000

id Receiver =11 ; CurrentTime = 0.151600 while t_step=0.002000
id Receiver =11 ; CurrentTime = 0.151600 while t_step=0.002000
id Receiver =11 ; CurrentTime = 0.151600 while t_step=0.002000

id Receiver =11 ; CurrentTime = 0.152000 while t_step=0.002000
id Receiver =11 ; CurrentTime = 0.152000 while t_step=0.002000
id Receiver =11 ; CurrentTime = 0.152000 while t_step=0.002000

Why C function is called so many time (3 times in a step), and why is called for each simulation step (0.4ms) instead of each 2 ms ?

Maybe I make a bug in my Modelica code ? or not ?

thanks for any reply.


1 2 3 4 5 6 7 Last Page 1 of 31