Skip to main content

LCSim - liquid crystal simulator.

Project description

LCSim

Liquid crystal simulation tools and command-line utilities.

Installation

LCSim is published on PyPI. For regular use, install it as a uv tool. Detailed OS-specific instructions:

The default dependency set is intentionally light: it is enough for the lcsim dispatcher and shared Python code, but not for running simulations, opening the GUI, viewing files, or rendering videos. Install one profile for the workflow you actually use. Do not install every extra at once: CUDA profiles conflict by design. For every runtime mode in one environment, use all-cu (all-cu13) or all-cu12. For one mode, use a convenience profile such as run-cu13 or gui-cu13. For a mixed environment, choose one low-level GPU extra such as gpu-cu13 and add non-conflicting feature extras (sad, gui, view, render, run-notify) around it.

Recommended PyPI tool installs:

# All runtime modes, recommended CUDA 13 profile.
uv tool install 'lcsim[all-cu]'

# Batch simulation, recommended CUDA 13 profile.
uv tool install 'lcsim[run-cu13]'

# Interactive GUI, recommended CUDA 13 profile.
uv tool install 'lcsim[gui-cu13]'

# New TopoVec-based renderer for SAD/TopoVec state files.
uv tool install 'lcsim[render]'

# Saved-file viewer with LCSIM scenes and TopoVec scenes.
uv tool install 'lcsim[view]'

# Optional Telegram notifications for `lcsim run`.
uv tool install 'lcsim[run-cu13,run-notify]'

# Combined run + GUI environment with one shared GPU profile.
uv tool install 'lcsim[gpu-cu13,sad,gui]'

all-cu and all-cu13 install the CUDA 13 runtime, TopoVec CUDA backend, lcsim run, lcsim gui, lcsim view, lcsim render, run notifications, optics, and legacy renderer Python dependencies. all-cu12 keeps the lcsim runtime on the CUDA 12 family and omits TopoVec's CUDA 13-only CUDA backend. Legacy lcsrender still needs a system ffmpeg executable on PATH.

For one-off execution without installing persistent commands:

uvx --from 'lcsim[run-cu13]' lcsim run --help
uvx --from 'lcsim[gui-cu13]' lcsim gui --help

From a repository checkout, use the same extras with uv sync --extra ... and run commands with uv run ....

Command-line tools

The primary public entry point is now lcsim:

lcsim --help
lcsim run --help
lcsim gui --help
lcsim view --help
lcsim render --help

Typical usage:

# Run an off-screen simulation.
lcsim run --preset consym --history HISTORY.json --period 10 --output --sad

# Open the interactive viewer.
lcsim gui

# View a saved simulation state; read-only Settings appear beside Data Sources.
lcsim view run.sad

# Render a SAD file with simulation-time video sampling.
lcsim render run.sad --scene "Jones RGB" --output run.mp4 --fps 25

Legacy commands remain available as compatibility wrappers, but they print a deprecation notice:

  • lcsrun: use lcsim run ... for new workflows.
  • lcsgui: use lcsim gui ... for new workflows.
  • lcsrender: legacy renderer; use lcsim render ... for the new renderer.
  • lcsoptics: optional optics utility. Install the optics extra if you want to use it.

Legacy lcsrender requires a system ffmpeg executable on PATH; the new lcsim run path writes SAD and leaves video generation to lcsim render.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lcsim-0.1.5.tar.gz (555.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lcsim-0.1.5-py3-none-any.whl (624.0 kB view details)

Uploaded Python 3

File details

Details for the file lcsim-0.1.5.tar.gz.

File metadata

  • Download URL: lcsim-0.1.5.tar.gz
  • Upload date:
  • Size: 555.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for lcsim-0.1.5.tar.gz
Algorithm Hash digest
SHA256 95db17cc8c4e2ccab17c20aeef5a49a0d9d08c38415df3906828dd90462ddba7
MD5 d2c353542d34dc2792ae1dba5a9fa9aa
BLAKE2b-256 41a0df32259f8ea1c38a01300ba7190051a1c8cae3156749c8a66bede152d861

See more details on using hashes here.

File details

Details for the file lcsim-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: lcsim-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 624.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for lcsim-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 033d217ef6366c08dd2177fd099daaa5e91c2ddc88ac17f3987e8d6963ea8356
MD5 184abac5360b5b1769ebc9bc705cf0d4
BLAKE2b-256 c707947910d897258c37fa3e6e8670d30125b8397f64cea64ff307ce70be96d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page