Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
MapleSim[RunSimulation] - MapleSim モデルのシミュレーション
使い方
RunSimulation(MCodeStr, MName, duration, opts)
パラメータ
MCodeStr
-
string; シミュレートするモデルの Modelica ソースファイル名または Modelica コード
MName
string; シミュレートするモデルの名前
duration
(省略可) Or(realcons,realcons..realcons); シミュレーションの時間
opts
(省略可) option = value 形式の式; RunSimulation のオプションを指定
モデルの説明
RunSimulation コマンドは、MapleSim モデルをシミュレートします。指定されたモデルのシミュレーション結果 (dsolve/numeric の呼び出しによる算出にしたがう) を表示するプロットを返します。
MCodeStr パラメータは、シミュレーショングラフとして表示したい MapleSim モデルの Modelica ソースを指定します。これを行うには、既存の MapleSim モデルを Modelica ファイル (.mo) にエクスポートして Modelica ソースファイル名を指定するか、あるいは Modelica コードを含む文字列を作成します。
Modelica コードを含む文字列を作成する場合は、is_immediate 入力オプションを true に設定する必要もあります。一方、Modelica ソースファイル名を指定する場合は、is_immediate オプションを false に設定します。
Modelica ファイルへの MapleSim モデルのエクスポートについて詳しくは、Exporting a Model to a Modelica File を参照してください。
MName パラメータは、シミュレートするモデルまたはサブシステムを指定します。最上位モデルでも、あるいはモデル内に定義されたサブシステムでもシミュレート可能です。
duration パラメータは、シミュレーション時間を秒単位で指定します。このパラメータが type/realcons のものである場合、開始時間は 0 で、duration の値は終了時間となります。デフォルト値は 0..10 秒です。
オプション
シミュレーションのオプション
abserr = positive
適応型ソルバを使用してシミュレーションを実行する際の、正常な積分ステップを実施するための絶対許容誤差の限度。このオプションの値は、adaptiveStepSolver オプションが true に設定されている場合に指定可能です。
adaptiveStepSolver = truefalse
シミュレーションのサンプリング周期を求めるために dsolve/numeric で適応型ソルバを使用するか、あるいは固定ステップ型ソルバを使用するかを指定します。このオプションを false に設定すると、固定ステップ型ソルバが使用されます。シミュレーション中、サンプリング周期は一定のステップサイズです。ステップサイズを指定するには、stepsize オプションを使用します。また、maxfun オプションは無視されます。このオプションを true に設定すると、適応型ソルバが使用されます。シミュレーション中、ソルバによって算出されるサンプリング周期は変動します。デフォルト値は true です。
evenlyspaced = truefalse
シミュレーショングラフで時間サンプルを一定間隔にするかどうかを指定します。このオプションを false に設定すると、特定の設定に対応する各部分区間の開始時間および終了時間が、グラフに含められます。デフォルト値は false です。
maxfun = nonnegint
積分器による関数呼び出しの最大数。詳しくは、dsolve[maxfun] を参照してください。値 0 は無制限に相当します。adaptiveStepSolver が true に設定されている場合、このオプションは無視されます。デフォルト値は 2*10^6 です。
mbaumgarte = list(nonnegative,nonnegative)
mbaumgarte キーワードパラメータは、システムのマルチボディ部分に適用される Baumgarte 拘束安定化パラメータ ([, ]) を指定します。この値が 0 より大きい場合、位置レベルの拘束がマルチボディシステムから除かれて、Baumgarte 安定化加速拘束に置換されることにより、マルチボディ DAE から純粋な ODE へ効果的に変換されます。デフォルト値は [0,0] です。
method = ck45, ck45_dae, rkf45, rkf45_dae, rosenbrock, または rosenbrock_dae
dsolve/numeric で積分に使用するソルバを指定します。デフォルトは ck45_dae です。
minpoints = posint
シミュレーショングラフにプロットするサンプルの最小数。evenlyspaced が false の場合、この値はグラフに表示されるサンプルの厳密な数です。他方の場合、部分区間の境界にあるサンプルも含められます。デフォルト値は 200 です。
relerr = positive
適応型ソルバを使用してシミュレーションを実行する際の、正常な積分ステップを実施するための相対許容誤差の限度。このオプションの値は、adaptiveStepSolver オプションが true に設定されている場合に指定可能です。
stepsize = positive
固定ステップ型ソルバを使用してシミュレーションを実行する際の、サンプリング周期の一定のステップサイズ。このオプションの値は、adaptiveStepSolver オプションが false に設定されている場合に指定可能です。
stiffsolver = truefalse
シミュレーション結果を計算するのに使用する DAE ソルバ。このオプションを true に設定すると、stiff DAE ソルバ (Rosenbrock 法) が使用されます。このオプションを false に設定すると、non-stiff DAE ソルバ (rkf45 法) が使用されます。デフォルト値は false です。
入力オプション
is_immediate = truefalse
このオプションを true に設定した場合、パラメータ MCodeStr は Modelica ソースコードを含む文字列です (すなわち、単に .mo ファイルの名前ではありません)。デフォルト値は false です。
use_library = truefalse
このオプションを true に設定した場合、Modelica ライブラリがロードされた後にソースコードが解析されます。指定の Modelica ソースでライブラリのコンポーネントを使用していないなら、このオプションを false に設定してシミュレーション結果の生成を高速化できます。
簡約化オプション
simplify = truefalse または tryhard
システムの方程式をどの程度処理してから返すかを指定します。
false - 簡約化を行わずに方程式を返します。
true - システム内の冗長な変数および方程式を取り除いて、システムモデルを簡約化します。
tryhard - 冗長な変数を削除し、システムの指数を減少させます。デフォルト値は tryhard です。
出力オプション
output = symbol または list
出力のタイプを指定します。この値は、以下の記号のいずれかでも、あるいはそれらの記号のリストでも構いません。リストを指定した場合、該当する記号がそれらの記号の値に置換されたリストが返されます。デフォルト値は plot です。
plot - プロット形式でシミュレーション結果を生成します。環境変数 _EnvMapleSimReturnPlots が true に設定されていない限り、plot の戻り値は NULL です。_EnvMapleSimReturnPlots が true に設定されている場合、対応する値は一連のプロット構造 (output = plot の場合) か、またはプロット構造のリスト (plot が output に割り当てられたリストの 1 要素である場合) となります。
datapoint - データ値の配列としてシミュレーション結果を生成します。システムモデルに指定された 1 プローブごとに、1 列のデータ値があります。returnTimeData オプションを true に設定すると (下記参照)、返されるデータ配列の 1 列目に、追加の時間データを生成することができます。
returnTimeData = truefalse
output=datapoint と併用すると、出力される配列の 1 列目として時間データが追加されます。デフォルト値は true です。
アプリケーションと例題
with(MapleSim):
MapleSim 例題のディレクトリに配置された Modelica ファイル、BouncingBall.mo を実行します。シミュレートするモデルの名前は Main です。
mofile := StringTools:-Join([kernelopts('mapledir'), "toolbox", "MapleSim", "data", "examples", "BouncingBall.mo"], kernelopts('dirsep'));
RunSimulation(mofile, "Main", 0..10);
Modelica ソースファイルを文字列として作成し、is_immediate オプションを使用します。モデルの名前は test です。
modelica := " model test annotation(probes={x,y}); // specify the signals to plot Real x,y; equation // Create a delayed ramp. y = if time < 1 then 0 else time-1; der(x) = y; end test;":
RunSimulation(modelica, "test", 0..5, is_immediate);
関連項目
MapleSim
Download Help Document