{"id":1401,"date":"2019-03-08T01:55:24","date_gmt":"2019-03-08T09:55:24","guid":{"rendered":"https:\/\/blogs.plm.automation.siemens.com\/t5\/Simcenter-Blog\/Make-your-Simcenter-Amesim-model-real-time-compatible\/ba-p\/574581"},"modified":"2026-03-26T05:54:54","modified_gmt":"2026-03-26T09:54:54","slug":"make-your-simcenter-amesim-model-real-time-compatible","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/simcenter\/make-your-simcenter-amesim-model-real-time-compatible\/","title":{"rendered":"Make your Simcenter Amesim model\u00a0real-time compatible"},"content":{"rendered":"<p><H3><EM>\u00abA good model is a judicious trade-off between realism and simplicity.\u201d <\/EM>[Anu Maria, <a href=\"http:\/\/acqnotes.com\/Attachments\/White%20Paper%20Introduction%20to%20Modeling%20and%20Simulation%20by%20Anu%20Maria.pdf\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Introduction to modeling and simulation<\/A>]<\/H3><\/p>\n<p><P><span class=\"lia-inline-image-display-wrapper lia-image-align-right\" style=\"width: 400px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Make-your-Simcenter-Amesim-model-real-time-compatible-4.jpg\" alt=\"Make-your-Simcenter-Amesim-model-real-time-compatible.jpg\" title=\"Make-your-Simcenter-Amesim-model-real-time-compatible.jpg\" \/><\/span>This statement perfectly highlights the challenge of choosing the right level of modeling \/ assumptions when starting a new simulation study.&nbsp;It is particularly true when you want to reach real-time capability for doing <STRONG>virtual sensing<\/STRONG>, <STRONG>IIOT on edge<\/STRONG>, <STRONG>model-based system testing<\/STRONG>&nbsp;or simply want to have your model <STRONG>running faster<\/STRONG>.<\/P><\/p>\n<p><P>In this blog post, we provide you with some tips on how to make your Simcenter Amesim models run faster.<\/P><\/p>\n<p><P>This can be done through the following best practices:<\/P><br \/>\n<UL><br \/>\n<LI>Avoid generating implicit variables<\/LI><br \/>\n<LI>Avoid useless states variables<\/LI><br \/>\n<LI>Define the best simulation run parameters<\/LI><br \/>\n<LI>Avoid useless discontinuities<\/LI><br \/>\n<LI>Save only useful variables<\/LI><br \/>\n<LI>Condition&nbsp;correctly your maps<\/LI><br \/>\n<\/UL><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2>Avoid generating implicit variables<\/H2><br \/>\n<P>Implicit variables are generated by the solver whenever there is an <STRONG>algebraic loop<\/STRONG> in the system. An algebraic loop occurs when there is no order in which the submodels can be called such that all the inputs of each submodel are known when the submodel is called.<\/P><br \/>\n<P>Example: ? = (?, ?)<\/P><\/p>\n<p><P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 957px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Simcenter-Amesim-model-reduction1-1.png\" alt=\"Simcenter-Amesim-model-reduction1.png\" title=\"Simcenter-Amesim-model-reduction1.png\" \/><\/span><\/P><\/p>\n<p><P>The solution to remove an implicit loop can be to include a time constant within the loop (inertia, first order lag, inductor \u2026) or to remove the calculation of the variable generating the algebraic loop.<\/P><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2>Avoid useless states variables<span class=\"lia-inline-image-display-wrapper lia-image-align-right\" style=\"width: 182px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Simcenter-Amesim-model-reduction2-1.png\" alt=\"Simcenter-Amesim-model-reduction2.png\" title=\"Simcenter-Amesim-model-reduction2.png\" \/><\/span><\/H2><br \/>\n<P>The computation time is directly impacted by the number of states N. For a standard problem to solve within Simcenter Amesim, Adams&#8217; method is used where CPU = k*N. When backward differential formulae method is used, CPU=k1*N + k2*N\u00b2.<\/P><\/p>\n<p><P>The solution to reduce the number of states variables is to <STRONG>group hydraulic volumes, mechanical masses or electric resistances<\/STRONG>.<\/P><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2>Define the best run parameters<\/H2><br \/>\n<P>Usually, the higher the tolerance of the integrator is, the higher the simulation time is.<span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 902px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Simcenter-Amesim-model-reduction3-1.png\" alt=\"Simcenter-Amesim-model-reduction3.png\" title=\"Simcenter-Amesim-model-reduction3.png\" \/><\/span><\/P><\/p>\n<p><P>The solution is to <STRONG>minimize the tolerance parameter<\/STRONG> without compromising the simulation results accuracy.<\/P><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2>Avoid useless discontinuities<\/H2><br \/>\n<P>A discontinuity appears when a variable is suddenly jumping from one value to another (switch from laminar to turbulent flow, friction stick-slip, hysteresis\u2026). This causes a restart of the solver to manage the interpolation between the two values.<span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 875px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Simcenter-Amesim-model-reduction4-1.png\" alt=\"Simcenter-Amesim-model-reduction4.png\" title=\"Simcenter-Amesim-model-reduction4.png\" \/><\/span><\/P><\/p>\n<p><P>The solution for avoiding useless discontinuities can be to <STRONG>disable the discontinuity handling<\/STRONG> of tabulated submodels (when possible) or to <STRONG>add damping<\/STRONG>.<\/P><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2>Save only useful variables<\/H2><br \/>\n<P>Simulation results are written in a data file all along the simulation and by default all submodels variables are saved (the frequency of the results saving is set by the user in Run Parameters\u2019 Print interval).<span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 911px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Simcenter-Amesim-model-reduction5-1.png\" alt=\"Simcenter-Amesim-model-reduction5.png\" title=\"Simcenter-Amesim-model-reduction5.png\" \/><\/span><\/P><\/p>\n<p><P>The solution for reducing the number of saved data is either to <STRONG>save only the required variables<\/STRONG> or to <STRONG>increase the print interval<\/STRONG> (for the complete simulation or dynamically during the simulation).<\/P><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2>Condition correctly your maps<\/H2><br \/>\n<P>Maps imported from experimental data can typically be quite noisy or contain discontinuities.<span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 773px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Simcenter-Amesim-model-reduction6-1.png\" alt=\"Simcenter-Amesim-model-reduction6.png\" title=\"Simcenter-Amesim-model-reduction6.png\" \/><\/span><\/P><\/p>\n<p><P>The solution to properly condition your maps is either to <STRONG>disable the discontinuity handling<\/STRONG>, use an <STRONG>appropriate data sample<\/STRONG> or <STRONG>filter the noisy signals<\/STRONG>.<\/P><br \/>\n<P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 318px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Simcenter-Amesim-model-reduction7-1.png\" alt=\"Simcenter-Amesim-model-reduction7.png\" title=\"Simcenter-Amesim-model-reduction7.png\" \/><\/span><\/P><\/p>\n<p><H2>&nbsp;<\/H2><br \/>\n<H2>Print out our step-by-step process&nbsp;<\/H2><br \/>\n<P>Most of the information above are explained in the <a href=\"https:\/\/www.plm.automation.siemens.com\/media\/global\/en\/Siemens-PLM-Make-your-Simcenter-Amesim-model-real-time-compatible-infographic-75909-A5_tcm27-55206.pdf\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">infographic<\/A> below, for the particular case of reaching real-time capacity:<\/P><br \/>\n<P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 474px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Make-your-Simcenter-Amesim-model-real-time-compatible-infographic-1.png\" alt=\"Make-your-Simcenter-Amesim-model-real-time-compatible-infographic.png\" title=\"Make-your-Simcenter-Amesim-model-real-time-compatible-infographic.png\" \/><\/span><\/P><\/p>\n<p><P>Finally, a dedicated&nbsp;hands-on workshop can be organized on-site to walk you through the process.<\/P><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2>Need more information?<\/H2><br \/>\n<P>Contact your local Siemens PLM team or ask a question on our <a href=\"https:\/\/community.plm.automation.siemens.com\/t5\/System-Simulation-Forum\/bd-p\/Simcenter_1D_forum\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">System Simulation Forum<\/A>.&nbsp;<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00abA good model is a judicious trade-off between realism and simplicity.\u201d [Anu Maria, Introduction to modeling and simulation]<br \/>\n &nbsp;<br \/>\n &nbsp;<br \/>\n     This statement perfectly highlights the challenge &#8230;<\/p>\n","protected":false},"author":40174,"featured_media":1429,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[16],"industry":[],"product":[590],"coauthors":[],"class_list":["post-1401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-system-simulation","product-simcenter-amesim"],"featured_image_url":"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/6\/2019\/09\/Make-your-Simcenter-Amesim-model-real-time-compatible-infographic-1.png","_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/posts\/1401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/users\/40174"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/comments?post=1401"}],"version-history":[{"count":10,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/posts\/1401\/revisions"}],"predecessor-version":[{"id":1430,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/posts\/1401\/revisions\/1430"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/media\/1429"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/media?parent=1401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/categories?post=1401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/tags?post=1401"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/industry?post=1401"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/product?post=1401"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/simcenter\/wp-json\/wp\/v2\/coauthors?post=1401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}