원클릭으로
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))