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