System Class¶
Overview¶
High-level interface for molecular dynamics system analysis
Methods¶
box_boundaries()
¶
box_boundaries(self: smolsat._smolsat_core.System, frame: int) -> Annotated[list[smolsat._smolsat_core.Coordinate], FixedSize(2)]
Get box boundaries at given frame
box_size()
¶
box_size(self: smolsat._smolsat_core.System, frame: int) -> smolsat._smolsat_core.Coordinate
Get box size at given frame
center_of_mass()
¶
center_of_mass(self: smolsat._smolsat_core.System, frame: int, use_unwrapped: bool = True) -> smolsat._smolsat_core.Coordinate
Calculate center of mass of entire system
density()
¶
density(self: smolsat._smolsat_core.System, frame: int = 0) -> float
Calculate system density at given frame
displacement()
¶
displacement(self: smolsat._smolsat_core.System, coord1: smolsat._smolsat_core.Coordinate, coord2: smolsat._smolsat_core.Coordinate, frame: int = 0) -> smolsat._smolsat_core.Coordinate
Calculate displacement vector between two coordinates
distance()
¶
distance(self: smolsat._smolsat_core.System, coord1: smolsat._smolsat_core.Coordinate, coord2: smolsat._smolsat_core.Coordinate, frame: int = 0) -> float
Calculate distance between two coordinates
gyration_tensor()
¶
gyration_tensor(self: smolsat._smolsat_core.System, particles: list[smolsat._smolsat_core.Particle], frame: int, use_unwrapped: bool = True) -> numpy.ndarray[numpy.float64[3, 3]]
Calculate gyration tensor for particle set
has_periodic_boundaries()
¶
has_periodic_boundaries(self: smolsat._smolsat_core.System) -> bool
Check if periodic boundaries are enabled
molecule_type_names()
¶
molecule_type_names(self: smolsat._smolsat_core.System) -> list[str]
Get list of all molecule type names
molecules_by_type()
¶
molecules_by_type(self: smolsat._smolsat_core.System, type_name: str) -> list[smolsat._smolsat_core.Molecule]
Get molecules by type name
num_frames()
¶
num_frames(self: smolsat._smolsat_core.System) -> int
Get number of frames
num_molecules()
¶
num_molecules(self: smolsat._smolsat_core.System) -> int
Get number of molecules
num_particles()
¶
num_particles(self: smolsat._smolsat_core.System) -> int
Get number of particles
particle_type_names()
¶
particle_type_names(self: smolsat._smolsat_core.System) -> list[str]
Get list of all particle type names
particles_by_type()
¶
particles_by_type(*args, **kwargs) Overloaded function.
- particles_by_type(self: smolsat._smolsat_core.System, type: int) -> list[smolsat._smolsat_core.Particle]
Get particles by type ID
- particles_by_type(self: smolsat._smolsat_core.System, type_name: str) -> list[smolsat._smolsat_core.Particle]
Get particles by type name
select_molecules()
¶
select_molecules(self: smolsat._smolsat_core.System, predicate: Callable[[smolsat._smolsat_core.Molecule], bool]) -> list[smolsat._smolsat_core.Molecule]
Select molecules using predicate function
select_particles()
¶
select_particles(self: smolsat._smolsat_core.System, predicate: Callable[[smolsat._smolsat_core.Particle], bool]) -> list[smolsat._smolsat_core.Particle]
Select particles using predicate function
set_periodic_boundaries()
¶
set_periodic_boundaries(self: smolsat._smolsat_core.System, enabled: bool) -> None
Enable/disable periodic boundaries
time()
¶
time(self: smolsat._smolsat_core.System, frame: int) -> float
Get time at given frame
trajectory()
¶
trajectory(self: smolsat._smolsat_core.System) -> smolsat._smolsat_core.Trajectory
Get underlying trajectory