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
Method: detect
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 |
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 |
None
|
Returns:
| Type | Description |
|---|---|
Any
|
Return value from |
Examples:
adapter.write_trajectory(traj, "traj.xyz", {"precision": 8})