dseams#

Lua and Fennel library for the d-SEAMS C++ engine.

Read

Load a dump with require("dseams").

Quickstart
Classify

CHILL+ labels and HC / DDC cage flags.

Tutorial: Read a dump and classify
Embed

Host dseams_core.so from Lua, Fennel, or C.

Embed in a Lua host

About#

This repository is a library. There is no yodaStruct executable. Call require("dseams") from Lua, or (require :dseams) from Fennel. The engine CLI is seams in seams-core. Python is pydseams.

local dseams = require("dseams")
local cloud = dseams.read("water.lammpstrj")
print(dseams.chill_plus(cloud, {cutoff = 3.5}))

dseams.core is the compiled registrations (dseams_core.so). Helpers stay in Lua. require("yoda") still resolves to dseams.

Suite stack#

How the Lua library, the compiled module, and the rest of d-SEAMS relate:

        flowchart TB
  subgraph hosts["Hosts"]
    LUA[lua]
    FNL[Fennel]
    EMB["C / C++ embed"]
  end
  subgraph lib["this repository"]
    HELPERS["lua/dseams.lua"]
    CORE["dseams_core.so"]
  end
  subgraph engine["seams-core"]
    YDS[libyodaLib]
    SEAMS[seams CLI]
  end
  subgraph py["PydSEAMSlib"]
    PY[pydseams]
  end
  LUA --> HELPERS
  FNL --> HELPERS
  EMB --> CORE
  HELPERS --> CORE
  LC[linkcell]
  LC --> YDS
  CORE --> YDS
  SEAMS --> YDS
  PY --> YDS
    

Tip

require("dseams") loads the helpers. Those helpers call require("dseams_core"). Set LUA_PATH to the Lua files and LUA_CPATH to the directory that holds dseams_core.so.

Documentation structure#

This documentation follows the Diataxis framework.

Getting Started

The compiled-registration appendix is Compiled registrations, generated from Doxygen of lua_api.hpp.

License#

MIT. Cite the 2020 JCIM paper and the CITATION.cff in this tree. See How to cite.

Indices and tables#