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 without starting CUDA runtime.
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.4.tar.gz (492.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.4-py3-none-any.whl (557.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lcsim-0.1.4.tar.gz
  • Upload date:
  • Size: 492.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.4.tar.gz
Algorithm Hash digest
SHA256 30698483e63ecaadc620a6dbcff98598667175f1c0c51393e5ce9f57e08860c1
MD5 4a40c3c46332d10879e167580fa715c7
BLAKE2b-256 600d026061c75105eb41d79c0ed9350d24222989805c057ea11255524e16cdf2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lcsim-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 557.1 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f23ecd8bdcc83a331d145817a765eafae6ad02285bdc69913d39badfa59996dc
MD5 ed49898cdce86f1a3386c7a3efec1e8b
BLAKE2b-256 084f3f794d60cfdd0487564210840137751eda7acc5784cba9a4046726b5456c

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