機構システムのモデリング

機構システムは、エネルギーまたは情報のやり取りによって相互に作用する基本的なメカニカルエンティティで構成されていると考えることができます。例えば、シンプルな振り子システムは、回転ジョイントによって地面に接地されている剛体で構成されています。MotionSolveは、そのようなエンティティの物理をベースとした数学的モデル、およびそれらを複雑な機構システムの現実的なモデルにアセンブルする方法を提供します。そこでさらに、ユーザーはモデルをシミュレートして、その挙動について洞察を得ることができます。

MotionSolve内のメカニカルエンティティの基本セットは、下記の8つのタイプのモデリング要素から成っています:
Mass and inertia elements
質量および慣性情報により特徴付けられるエンティティ。これらのエンティティは、体積と、それらに関連付けされた空間的な広がりを有しています。
Constraints
これらの要素は、ボディの挙動を制限します。拘束条件は、代数方程式によって数学的に表現されます。これらの式を満足するには、システム全体が必要です。ボディ間の理想化された結合は、制約条件としてモデル化されます。
Forces
これらの要素は、ボディにフォースを適用します。フォースは、ボディ間のバネ、ダンパ、ブッシュといったフレキシブルな結合から生じている場合があります。これらも環境フォース、コントロールフォースおよび接触を表現するために使用することが可能です。
Sensors
これらの要素は、シミュレーション内の興味の対象のイベントおよびイベントへのユーザーの応答を定義するために使用されます。
Controllers
これらの要素は、機構システム内のコントローラロジックと制御則を表わすために使用されます。
Reference
これらの要素は、他の要素によって使用される特定のプロパティを作成するために使用されます。Reference_Markerという名の座標系がこの種の唯一のエンティティです。
Post
これらの要素は通常、シミュレーションに直接影響しません。これらはソルバーに、ポスト処理用として出力ファイルに情報を書き出させます。
User-subroutines
MotionSolveはオープンアーキテクチャー設計を有しており、本質的にユーザーによる拡張が可能です。ユーザーサブルーチンは、多くの異なる種類のユーザー定義の制約条件、フォース、センサー、コントローラなどを作成するために使用されます。ユーザーサブルーチンは、FORTRANまたはC/C++で書くことができます。これらはコンパイルし、シミュレーション中にソルバーが自動的に読み込む共有ライブラリ、またはDLL(dynamically linked library)にリンクされる必要があります。その後、必要に応じてDLL内の特定の関数をコールします。

これらの要素は、様々な機構システムをモデリングするために組み合わせることが可能な構築ブロックです。後続のトピックでは、各要素の概要を述べます。モデリング作業の例については、MotionSolveのチュートリアルをご参照ください。

下の一覧は、MotionSolveで使用されるモデリング要素を分類したものです。各種エンティティにMotionSolve XML言語名が使用されています。
要素タイプ
説明
Body Elements
Body_Point, Body_Rigid, Body_Flexible
Constraint Elements - Time Dependent
Motion_Joint, Motion_Marker
Constraint Elements - Time Independent
Joint and Constraint Primitives
Constant_Velocity, Cylindrical, Fixed, Free, Inline, Inplane, Orientation, Parallel_Axes, Perpendicular, Planar, Rack_Pinion, Revolute, Screw, Spherical, Translational, Universal
Higher Pair and Other Constraints
Constraint_Coupler, Constraint_Gear, Constraint_Mate, Constraint_UserConstr, Constraint_PTCV, Constraint_PTdCV, Constraint_PTSF, Constraint_PTdSF, Constraint_CVCV, Constraint_CVSF, Constraint_SFSF, Constraint_General
Force Elements
Force_Beam , Force_Bushing, Force_Contact, Force_Field, Force_FlexModal, Force_Gravity, Force_JointFriction, Force_MultiPoint, Force_PTDSF, Force_Penalty, Force_Scalar_TwoBody, Force_StateEqn, Force_SpringDamper, Force_Vector_OneBody, Force_Vector_TwoBody
Sensor Elements
Sensor_Event, Sensor_Evaluate, Sensor_Proximity
Controller Elements
Control_Diff, Control_PlantInput, Control_PlantOutput, Control_SISO, Control_StateEqn
Reference Elements
Reference_2DCluster, Reference_Array, Reference_DeformCurve, Reference_DeformSurface, Reference_FlexData, Reference_Marker, Reference_Matrix, Reference_ParamCurve, Reference_ParamSurface, Reference_Spline, Reference_String, Reference_Variable
Post-processing Elements
Post_Request, Post_Graphic, Post_UserAPI
その他の要素
JointInitialvel_Cyl, JointInitialvel_Rev, JointInitialvel_Trans
User Subroutines
モデリングサブルーチン
ARYSUB, CFFSUB, CNFSUB, COUSUB, COUXX, COUXX2, CURSUB, DIFSUB, DMPSUB, FIESUB, GCOSUB, GFOSUB, GSESUB, GSEXU, GSEXX, GSEYX, GSEYU, MARKER_READ, MATRIX_READ, MESSAGE_SUB, MOTSUB, POST_SUB, PTDSFSUB, RELSUB, REQSUB, SAVSUB, SENSUB, SEVSUB, SFOSUB, SPLINE_READ, STRING_READ, SURSUB, TUNSUB, UCOSUB, VARSUB, VFOSUB, VTOSUB, YFOSUB
ドライバーサブルーチン
CONSUB
Utility Subroutines
解析制御サブルーチン
ANALYS, DATOUT, MODIFY
データアクセスサブルーチン
ADD_MASS_PROPERTY, AKISPL, BODY_MASS_PROPERTY, CUBSPL, CUSFNC, ERRMES, FITSPL, FMIN_SLSQP, GET_FULL_MATRIX_DATA, GET_GRAVITY, GET_MATRIX_INFO, GET_POST_STATES, GET_SPARSE_MATRIX_DATA, GET_STEP_INFO, GETCPU, GETIDLIST, GETINM, GETINT, GETMOD, GETSLV, GETSTM, GETVER, GTARAY, GTCURV, GTINAM, GTONAM, GTSTRG, GTUNTS, MODFNC, MODINF, MODSET, NMODES, QUISPL, RELOAD_MODEL, RELPAR, SAVE_MODEL, SAVPAR, SET_ATTRIBUTE, SET_DAE_ERROR, SET_DAE_HMAX, SET_DISCRETE_INTERFACE, SET_GSE_ALGEBRAIC_EQN, SET_GSE_NONZERO_ENTRY, SUBTRACT_MASS_PROPERTY, SYSARY, SYSFNC, TIMGET, USRMES
セットアップサブルーチン
PUT_MARKER, PUT_SPLINE, UCOMAR, UCOVAR
一般サブルーチン
BISTOP, CHEBY, FORCOS, FORSIN, HAVSIN, IMPACT, ISTRNG, POLY, RCNVRT, RSTRNG, SHF, STEP, STEP5, STR2DBLARY, STR2INTARY, SWEEP, TCNVRT