Message Boards Message Boards

6
|
17989 Views
|
38 Replies
|
7 Total Likes
View groups...
Share
Share this post:

[WSG21] Daily Study Group: System Modeler for Engineering

A new Daily Study Group on model-based systems engineering starts next week. Certified instructor @Ankit Naik will lead the group with assistance from MathCore engineers. See details about daily topics and sign up: https://wolfr.am/UoUvzCnD

POSTED BY: Jamie Peterson
38 Replies

Attending the Daily Study Group or watching the recordings and passing the two quizzes are the requirements to earn your certificate of completion. The deadline to pass quizzes in April 24, and certificates will be generated and sent to you by email after that date. Thanks to everyone who contributed to this Study Group!

POSTED BY: Jamie Peterson
Posted 3 years ago

Hello Ankit, or Sergio, I've completed Quiz1 and Quiz2. Was there anything else I needed to complete to finish the study group assignments ? Thanks for the Introduction to System Modeler. John Burgers.

POSTED BY: Updating Name
Posted 3 years ago

Ankit, it appears that the correct answer to problem 4 of the second quiz for the Daily Study Group for System Modeler for Engineering is actually 1.7 mol/l for G6P, but the automatic grader thinks the correct answer is 1.28 mol/l, which is not for G6P but for F6P. The problem requires the final concentration for G6P, not F6P. Thanks, Bob

POSTED BY: Robert Lyons

Yes, you are correct. The right answer is 1.7 mol/l. I will fix it tomorrow.

POSTED BY: Ankit Naik
Posted 3 years ago

Thank you, Ankit. Bob

POSTED BY: Robert Lyons
Posted 3 years ago

Dear Ankit,

Why if I carry out the following simulation command doesn't work

In[5]:= SystemModelPlot["WSMExercises.Ex3.MyModels.ElectricKettle"]

it complains with: "SystemModelPlot::nov: A list of variables to plot is required." But the simulation is correct because

In[8]:= SystemModelPlot["WSMExercises.Ex3.MyModels.ElectricKettle", "water.T"]

returns the correct plot. Even thought if I execute the solutions example

In[9]:= SystemModelPlot["WSMExercises.Ex3.Solutions.ElectricKettle"]

it is not mandatory to say "water.T" variable I don't understand why. Thanks for any clue. Regards,

POSTED BY: Gustavo Raush

Hi Gustavo,

My guess is that you have not saved your plot as a Model plot. You can do it by right-clicking on the plot and selecting "Add plot to model". You might also check the option "Default plot" while naming your plot and save the model.

POSTED BY: Ankit Naik
Posted 3 years ago

Apology for so many questions from me, perhaps one of the few newbies on the topic. Also was too busy to attend the thermal modellng session.

My question, the assignment asks to change the walls with "Ventilation" components. But I don't find such a component in "College thermal" nor by query of the packages which i've so far installed, Modellica, Modellica services, ModelPlug, Complex

Thanks for any tips.

POSTED BY: Updating Name

The "Ventilation" component is simply an instance of "ThermalConductor" component from the Modelica->Thermal->HeatTransfer->Components package.

Session recordings from the Study Group can be watched from the webinar landing pages. (Registration is required.).

POSTED BY: Ankit Naik

Can you help me understand In[23] failed? I tried both with and with out system model GUI launched, with the same result.

In[23]:= CreateSystemModel["WSMExercises.Ex7.MyModels.Wingnut", wingnut];

In[24]:= SystemModel["WSMExercises.Ex7.MyModels.Wingnut", "ModelicaDisplay"]

During evaluation of In[24]:= SystemModel::nomod: The model WSMExercises.Ex7.MyModels.Wingnut was not found.

Out[24]= SystemModel["WSMExercises.Ex7.MyModels.Wingnut", "ModelicaDisplay"]
POSTED BY: John Burgers

I suspect this issue is also related to the previous comment.

POSTED BY: Ankit Naik

This particular CreateSystemModel problem may be independent of the issue with the link to System Modeler. @John Burgers could you close all your wolfram applications, open Mathematica and run the following:

SystemModelSimulate["IntroductoryExamples.HelloWorld"]

Looking at the output might give us some information on whether there is a deeper issue with your setup not allowing us to run the executables that correspond to a built model. Then, can you run

CreateSystemModel["MyBall", Ball[]]

Does this return the unevaluated CreateSystemModel function call or does it return a SystemModel? My suspicion is that in your wingnut call, the symbol wingnut was somehow not set to the corresponding shape and the model was not created at all. So if this works, then it would be worth checking the wingnut shape was used properly in the original question. If this does return a SystemModel then could you try

SystemModel["MyBall","ModelicaDisplay"]

Conventionally, if the model exists, this should return a display, regardless of whether your link to System Modeler is working or not. Let us know how this goes.

POSTED BY: Sergio Vargas
SystemModelSimulate["IntroductoryExamples.HelloWorld"]

returns a SystemModelSimulationData object.

CreateSystemModel["MyBall", Ball[]]

returns a SystemModel object

SystemModel["MyBall","ModelicaDisplay"]

displays the Modellica text for it.

Does this mean that SystemModeler is installed so that It operates well on it's own?

SystemModeler[{"WSMExercises.Ex6.MyModels.Inerter"}]

returns with error SystemModel::nomod: The model WSMExercises.Ex6.MyModels.Inerter was not found.

Whereas,

SystemModeler["IntroductoryExamples.HelloWorld"]

successfully launches SystemModeler with that example.

Does this mean that the installation of SystemModeller isn't properly known to Mathematica, in a way that causes Mathematica to not find the files WSMExercises ... ?

POSTED BY: John Burgers

Then the most probable reason is that the model "Inerter" does not exist in the MyModels package of WSMExercises. This exercise is dependant on the notebook titled, "4. Create components using text (inerter)", where we create the inerter model and save it in the MyModels package of Exercise 5. Try running this instead:

SystemModeler["WSMExercises.Ex5.MyModels.Inerter"]
POSTED BY: Ankit Naik

Right, considering the results of your calls it seems that 1) your Mathematica and System Modeler are linked properly and 2) when you get messages of models not existing it's important to check that the model exists and that, in the case of library models, that the library has been loaded.

POSTED BY: Sergio Vargas

Should this command open a System Modeler (GUI) session?

SystemModeler[{"WSMExercises.Ex6.MyModels.Inerter"}]

SystemModeler::ncor: SystemModeler is a full graphical modeling and simulation environment available in the Wolfram SystemModeler product.

POSTED BY: John Burgers

Are you using Mathematica 12.2 as well? I suspect the Mathematica instance is not able to connect to System Modeler.

Try running this in a new Mathematica instance:

Needs["PacletManager`"];
PacletDirectoryLoad["/path/to/your/SystemModeler/Mathematica/"];
RebuildPacletData[]

and then run this:

SystemModeler[{"WSMExercises.Ex6.MyModels.Inerter"}]
POSTED BY: Ankit Naik

Confirm using 12.2 .

Successful exectution of :

Needs["PacletManager`"]; 
PacletDirectoryLoad[  "C:\\Program Files\\Wolfram Research\\SystemModeler 12.2\\Mathematica\\"];
RebuildPacletData[]

Not successful with SystemModeler[{"WSMExercises.Ex6.MyModels.Inerter"}]

Tried PackletFind["SystemModeler"] without success.

POSTED BY: John Burgers

Hi John,

Please drop me a mail at ankitn@wolfram.com and we can schedule a zoom meeting to troubleshoot this issue.

Thanks, Ankit

POSTED BY: Ankit Naik

Not clear to me what this means ...

Drag and drop the new Car dynamics graphic over the old one. The F1 car has changed its behavior.

Help > Documentation Center > Simulation Center - Plot Windows had nothing to say about this.

Help?

POSTED BY: John Burgers

"Drag and drop the new Car dynamics graphic over the old one. The F1 car has changed its behavior.": You need to drag the plot named "Car dynamics" present inside the Model Plots section in the Experiment Browser.

To create this plot, please refer to the notebook titled, "4. Create components using text (inerter)".

POSTED BY: Ankit Naik

Maybe that sentence is better understood after watching you in the lesson, which my good fortune didn't permit in these dreadfully busy times. Achieved the same graph as in the notebook by dragging "car dynamics" from the plot area of the "pinned" simulation ... onto the car dynamics graph created from the simulation with the inerter. Which seems different than the wording in the notebook.

POSTED BY: John Burgers

Thanks for pointing that out. I will correct it in the notebook.

POSTED BY: Ankit Naik

Ex 4 Pendulum. Not sure what you mean by "Add this as a model plot, calling it Pendulum angle." Does that mean Wolfram system Modeler Simulation Center > Plot > Add Plot to Model ... ?

POSTED BY: John Burgers

Yes

POSTED BY: Ankit Naik

Ex 4 Pendulum. Y(x) plot of pendulum.r[1], pendulum.r[2] results in horizontal line pendulum.r[2]=0 for range -222e-18< pendulum.r[1]<+222e-18. Is there an instruction in the training I missed?

POSTED BY: John Burgers

I can show it again during the review session today.

POSTED BY: Ankit Naik

Thanks, Was watching you in today's review session, I must have missed it. Model looks exactly like the exercise sheet 3. "Create components and animations Exercise 4 Pendulum" On simulation the animation shows a swinging pendulum Y[x] plot show nothing. time plot shows r2[t]=1 constant r1[t]=0 constant. What might be wrong?

POSTED BY: John Burgers
Posted 3 years ago

I think to have figured this out. By changing the position reference the plot looks like that of the lesson.

Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.world

POSTED BY: Updating Name

The "Component Properties" pop up window runs the height of my screen and beyond the screen bottom. Attempt to resize the window fail with the pop up disappearing resulting in system modeler "Model Center" lock up. The only solution I can find is a Task Manager stop process. Any suggestions?

POSTED BY: John Burgers

Can I know which version of System Modeler and which OS are you using?

POSTED BY: Ankit Naik
Posted 3 years ago

system modeler 12.2 build 9 OS Win 10.0 Thanks

POSTED BY: Updating Name
Posted 3 years ago

Hi Sergio - thanks. That was what i was looking for. RTFM helps more often than not.

POSTED BY: Ulf Schmidt

Hi Ulf, In these cases a good source of information is the library documentation. Check the documentation in Modelica.Mechanics.Translational.UsersGuide. Specifically, I can here point you to the online versions of the documentation, such as

https://reference.wolfram.com/system-modeler/libraries/Modelica/Modelica.Mechanics.Translational.UsersGuide.Overview.html

where you find

By convention in this library, the connector characterized as a filled green square is called flangea and placed at the left side of the component in the "design view" and the connector characterized as a non-filled green square is called flangeb and placed at the right side of the component in the "design view". The two connectors are completely identical, with the only exception that the graphical layout is a little bit different in order to distinguish them for easier access of the connector variables.

and in

https://reference.wolfram.com/system-modeler/libraries/Modelica/Modelica.Mechanics.Translational.UsersGuide.SignConventions.html

where you find information of the purpose of the arrow, which is basically to provide some help in establishing the signs of vector quantities and its relation to the physical system in which they are implemented.

POSTED BY: Sergio Vargas
Posted 3 years ago

There are different types of connectors in one domain (i.e. flangea resp flangeb in the mechanical translational domain). Could you please explain which connector has to be connected to which connector? For example: what is different when flangeb of a spring is connected to flangeb of a mass in comparison when flangeb of a spring is connected to flangea of a mass? There is also an arrow shown in the icons of Mechanics-Translational-Models. For example at the Mechanic-Translational-Model Spring and Mass and Damper and ElastoGap the arrow is always directed from a flangea to flangeb. What is the purpose or the concept behind this arrow?

POSTED BY: Ulf Schmidt
Posted 3 years ago

Hi Ankit, Can you provide a quick guide to obtaining and installing the requisite C++ compiler? What was on the Mathematica site wasn't easy enough for me. I'm not at all familiar with that. I presume it is free? Thank-you.

POSTED BY: Updating Name

Hi,

Can you tell me which version of System Modeler and which OS are you using?

Can you try to use the following reference: https://reference.wolfram.com/system-modeler/UserGuide/InstallationandSetup.html

Yes, the C++ compiler is free.

Regards, Ankit

POSTED BY: Ankit Naik

We are excited to host this!

If you are new to System Modeler or an experienced user (and want a refresher), then this study group is relevant for you.

I will be joined by my colleagues @Leonardo Laguna Ruiz and @Sergio Vargas.

POSTED BY: Ankit Naik
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract