Skip to main content

phynexis.parsim

Python: phynexis.parsim pybind module: pyparsim Header: src/parsim/parsim.hpp

Particle simulation framework. Provides node/edge/hyperedge graph structures, spatial indexing, operator-based simulation loop, and model factories for contact mechanics.

Module Status

Class / GroupStatusDoc
Schemas & BoundLayoutsdoneschemas
Graph (NodeSet, EdgeSet, HyperEdgeSet, ComputationalGraph)donegraph
Simulator, Context, OperatorSystemdonesimulator
Models & Utilsdonemodels-utils
Operatorsdoneoperators
Viewsdoneviews

Submodules

  • schemaNodeKinematicsSchema, NodeShapeSchema, NodeInertiaSchema, NodeBoundsSchema, NodeNodeLinkSchema, NodeGridLinkSchema, NodeDomainLinkSchema
  • graphComputationalGraph, NodeSet, EdgeSet, HyperEdgeSet, SetBase, ShapeStore
  • simulatorSimulator, Context, OperatorSystem, RuntimeState, DomainSystem
  • modelsRepulsionModel, LinearRepulsionModel, RepulsionModelFactory
  • utilsNodeGenerator, FieldSampler, SpatialIndex, UniformGridIndex
  • operatorsphases, integration, forces, interaction, output submodules

Quick Start

import phynexis
pm = phynexis.parsim

# Create a graph with nodes
g = pm.ComputationalGraph()
ns = g.nodes()

# Add a node (requires schema + bound layout)
schema = pm.NodeKinematicsSchema()
layout = pm.BoundLayoutNodeKinematicsSchema.make_bound(ns.field_manager(), schema)
ns.set_view(layout)

# Initialize node storage
ns.initialize()
print(ns.size()) # 0

See also