Skip to content

Adapter Engine Utility

Adapt LAMMPS logs/dumps into ReaxKit canonical domain data models.

This adapter resolves LAMMPS run files, parses dump/log content through shared handlers, and maps extracted arrays/tables into engine-agnostic models. It focuses on ingestion/export wiring rather than analysis logic.

Usage context

  • Engine resolution: Registered under "lammps" for adapter detection.
  • Data ingestion: Builds trajectory and simulation models from dump/log files.
  • Export fallback: Writes canonical trajectories to XYZ files.

Class: LAMMPSAdapter

Bases: EngineAdapter

Adapter scaffold for LAMMPS trajectory formats.

Method: detect

Score whether a path likely refers to a LAMMPS run location.

Parameters:

Name Type Description Default
path str | Path

Candidate file or directory path.

required

Returns:

Type Description
float

Detection score in [0.0, 1.0].

Examples:

score = LAMMPSAdapter().detect("dump.lammpstrj")

Method: required_input_files

Return likely LAMMPS input files for a requested target data type.

Parameters:

Name Type Description Default
data_type type

Requested canonical data-model class.

required
args dict

Adapter runtime arguments (unused in this mapping).

required

Returns:

Type Description
tuple[str, ...] | None

Candidate file names or None if unconstrained.

Examples:

files = adapter.required_input_files(TrajectoryData, {})

Method: load_trajectory

Load trajectory coordinates/types from a LAMMPS dump file.

Parameters:

Name Type Description Default
args dict

Adapter arguments used to resolve dump file location.

required
reporter callable | None

Progress callback passed to dump handler.

None

Returns:

Type Description
TrajectoryData

Canonical trajectory payload with positions, labels, and iterations.

Examples:

traj = LAMMPSAdapter().load_trajectory({"dump": "dump.lammpstrj"})

Method: load_simulation

Load simulation thermo series from log.lammps content.

Parameters:

Name Type Description Default
args dict

Adapter arguments used to resolve log and optional dump paths.

required
reporter callable | None

Reserved for interface consistency (unused here).

None

Returns:

Type Description
SimulationData

Canonical simulation-level thermo and scalar time-series payload.

Examples:

sim = LAMMPSAdapter().load_simulation({"log": "log.lammps"})

Method: load_connectivity

Load connectivity payload for LAMMPS runs.

Parameters:

Name Type Description Default
args dict

Adapter runtime arguments.

required
reporter callable | None

Progress callback placeholder.

None

Returns:

Type Description
ConnectivityData

Placeholder empty connectivity matrix for current scaffold behavior.

Examples:

conn = LAMMPSAdapter().load_connectivity({})

Method: load_connectivity_trajectory

Load connectivity and trajectory together as one composite object.

Parameters:

Name Type Description Default
args dict

Adapter arguments forwarded to component loaders.

required
reporter callable | None

Progress callback forwarded to component loaders.

None

Returns:

Type Description
ConnectivityTrajectoryData

Composite payload containing connectivity and trajectory models.

Examples:

combo = LAMMPSAdapter().load_connectivity_trajectory({"dump": "dump.xyz"})

Method: write_trajectory

Write trajectory data to multi-frame XYZ using shared generator.

Parameters:

Name Type Description Default
data TrajectoryData

Canonical trajectory payload to export.

required
out_path str | Path

Destination XYZ file path.

required
args dict | None

Optional settings; supports precision.

None

Returns:

Type Description
Any

Return value from write_xyz_trajectory.

Examples:

adapter.write_trajectory(traj, "traj.xyz", {"precision": 8})