How pkua007/rampack works
RAMPACK is a command-line Monte Carlo particle-system simulator with configuration preview, shape inspection, trajectory operations, and in-run or post-run analysis. The principal workflow is CLI mode selection, PYON parameter loading, packing construction, Monte Carlo evolution, observable collection, and trajectory/snapshot output. The README documents hard/soft interactions, particle moves, triclinic isobaric relaxation, wall handling, and analysis capabilities; source excerpts confirm dispatch, preview behavior, and selected observable implementations. Casino and trajectory internals were not sampled, so their finer wiring is represented only at the documented subsystem level.
Main entry points: Simulation.cpp Simulation engine · Main.cpp Mode dispatcher · IO.cpp Parameter loading · PreviewMode.cpp Initial preview
Components 23
Command modes
- Mode dispatcher
src/Main.cpp - Monte Carlo mode
src/frontend/modes/CasinoMode.cpp - Initial preview
src/frontend/modes/PreviewMode.cpp - Shape preview
src/frontend/modes/ShapePreviewMode.cpp - Trajectory mode
src/frontend/modes/TrajectoryMode.cpp
System model
- Parameter loading
src/frontend/IO.cpp - PYON parser
src/pyon/Parser.cpp - Shape traits
src/core/ShapeTraits.h - Particle packing
src/core/Packing.cpp - Lattice initialization
src/core/lattice/Lattice.cpp - Shape geometry
src/core/ShapeGeometry.cpp - Interaction models
src/core/Interaction.cpp
Simulation and analysis
- Simulation engine
src/core/Simulation.cpp - Move samplers
src/core/MoveSampler.h - Box relaxation
src/core/VolumeScaler.h - Observable collection
src/core/ObservablesCollector.cpp - Analysis measures
src/core/observables
Trajectory and output
- Trajectory recorders
src/core/SimulationRecorder.h - Trajectory players
src/core/SimulationPlayer.h - Snapshot formats
src/core/io/RamsnapWriter.cpp - Trajectory formats
src/core/io/RamtrjIO.cpp
Other components
- CLI user
- Output files
Connections 29
- CLI user → Mode dispatcher: selects mode
- Mode dispatcher → Monte Carlo mode: dispatches
- Mode dispatcher → Initial preview: dispatches
- Mode dispatcher → Shape preview: dispatches
- Mode dispatcher → Trajectory mode: dispatches
- Initial preview → Parameter loading: loads parameters
- Shape preview → Parameter loading: loads input
- Shape preview → Shape traits: matches shape
- Parameter loading → PYON parser: parses input
- Parameter loading → Shape traits: builds traits
- Initial preview → Particle packing: creates packing
- Lattice initialization → Particle packing: populates
- Shape traits → Shape geometry: provides geometry
- Monte Carlo mode → Parameter loading: loads configuration
- Monte Carlo mode → Simulation engine: runs sampling
- Simulation engine → Move samplers: uses moves
- Simulation engine → Interaction models: evaluates energy
- Simulation engine → Box relaxation: scales box
- Simulation engine → Observable collection: collects measurements
- Observable collection → Analysis measures: updates measures
- Simulation engine → Trajectory recorders: records snapshots
- Initial preview → Snapshot formats: writes preview
- Shape preview → Output files: writes shape preview
- Snapshot formats → Output files: writes snapshot
- Trajectory recorders → Trajectory formats: encodes frames
- Trajectory formats → Output files: writes trajectory
- Trajectory mode → Trajectory players: operates on trajectory
- Trajectory players → Trajectory formats: reads frames
- Trajectory players → Output files: exports results