ワンクリックで
system-create
Create and configure a PyChrono ChSystem, gravity, contact method, and solver.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create and configure a PyChrono ChSystem, gravity, contact method, and solver.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Quaternion creation, component access, and Euler angle conversion in PyChrono
Run the time-stepping loop, collect data, and post-process results with matplotlib or CSV.
Irrlicht visualization — visual shapes (mesh, line, spring), materials, GUI overlays, path rendering, and collision debug.
Create rigid bodies with mass, geometry, collision shapes, and visual assets.
Enable contact detection using the correct contact material for NSC or SMC systems.
Apply custom forces/torques to rigid bodies via accumulators, and impose prescribed motion or force between two bodies using ChLinkMotor classes. Covers axis-aware force/torque application and paired internal reactions.
| name | system_create |
| description | Create and configure a PyChrono ChSystem, gravity, contact method, and solver. |
| compatibility | pychrono >= 8.0 |
| metadata | {"domain":"mbs"} |
Create and configure a PyChrono multi-body simulation system (ChSystem), set gravity, choose contact method, and configure the solver.
Use at the top of every MBS simulation script, before creating any bodies or links.
sys.SetGravityY() # shorthand: (0, -9.81, 0)
sys.SetGravitationalAcceleration(chrono.ChVector3d(0, -9.81, 0)) # explicit form
sys.SetGravitationalAcceleration(chrono.ChVector3d(0, 0, 0)) # disable gravity
Call only when bodies have collision shapes and contact is needed. For pure MBS (joints and motors only, no contact), omit — it adds overhead and can cause instability.
# When contact/collision is needed:
sys.SetCollisionSystemType(chrono.ChCollisionSystem.Type_BULLET)
# Pure MBS (no contact): do NOT call SetCollisionSystemType
solver_max_iter = int # max solver iterations
sys.SetSolverType(chrono.ChSolver.Type_PSOR)
sys.GetSolver().AsIterative().SetMaxIterations(solver_max_iter)
# Alternative:
solver = chrono.ChSolverPSOR()
solver.SetMaxIterations(solver_max_iter)
sys.SetSolver(solver)
import pychrono.core as chrono
import pychrono.irrlicht as chronoirr
solver_max_iter = int # max solver iterations
# NSC system with gravity and collision
sys = chrono.ChSystemNSC()
sys.SetGravityY()
sys.SetCollisionSystemType(chrono.ChCollisionSystem.Type_BULLET)
sys.SetSolverType(chrono.ChSolver.Type_PSOR)
sys.GetSolver().AsIterative().SetMaxIterations(solver_max_iter)
# SMC system (no gravity, for spring demo)
sys = chrono.ChSystemNSC()
sys.SetGravitationalAcceleration(chrono.ChVector3d(0, 0, 0))