仿真器 (Simulator)#
- class genesis.engine.simulator.Simulator(scene: Scene, options: SimOptions, coupler_options: BaseCouplerOptions, tool_options: ToolOptions, rigid_options: RigidOptions, mpm_options: MPMOptions, sph_options: SPHOptions, fem_options: FEMOptions, sf_options: SFOptions, pbd_options: PBDOptions)[source]#
A simulator is a scene-level simulation manager, which manages all simulation-related operations in the scene, including multiple solvers and the inter-solver coupler.
- Parameters:
scene (gs.Scene) – The scene object that the simulator is associated with.
options (gs.SimOptions) – A SimOptions object that contains all simulator-level options.
coupler_options (gs.CouplerOptions) – A CouplerOptions object that contains all the options for the coupler.
tool_options (gs.ToolOptions) – A ToolOptions object that contains all the options for the ToolSolver.
rigid_options (gs.RigidOptions) – A RigidOptions object that contains all the options for the RigidSolver.
mpm_options (gs.MPMOptions) – An MPMOptions object that contains all the options for the MPMSolver.
sph_options (gs.SPHOptions) – An SPHOptions object that contains all the options for the SPHSolver.
fem_options (gs.FEMOptions) – An FEMOptions object that contains all the options for the FEMSolver.
sf_options (gs.SFOptions) – An SFOptions object that contains all the options for the SFSolver.
pbd_options (gs.PBDOptions) – A PBDOptions object that contains all the options for the PBDSolver.
- process_input(in_backward=False)[source]#
setting _tgt state using external commands note that external inputs are given at step level, not substep
- save_ckpt()[source]#
This function refreshes the gpu memory (copy the last frame to the first frame in the local memory), and then saves the checkpoint. This function is called every substeps_local steps, which means it’s called only once per step when requires_grad is True.
- property dt: float#
The time duration for each simulation step.
- property substeps#
The number of substeps per simulation step.
- property scene#
The scene object that the simulator is associated with.
- property gravity#
The gravity vector.
- property requires_grad#
Whether the simulator requires gradients.
- property n_entities: int#
The number of entities in the simulator.
- property entities#
The list of entities in the simulator.
- property substeps_local#
The number of substeps stored in local memory.
- property cur_substep_global#
The current substep of the simulation.
- property cur_substep_local#
The current substep of the simulation in local memory.
- property cur_step_local#
The current step of the simulation in local memory.
- property cur_step_global#
The current step of the simulation.
- property cur_t#
The current time of the simulation.
- property coupler#
The coupler object that manages the inter-solver coupling.
- property solvers#
The list of solvers in the simulator.
- property active_solvers#
The list of active solvers in the simulator.