Skip to main content

Lattice gas automata implemented in Python.

Project description

Lattice Gas Cellular Automata

This project focuses on the declarative implementation of the popular Lattice Gas Cellular Automata listed below. Models with checked names are implemented and ready to use.

  • HPP
  • FHP I
  • FHP II
  • FHP III

Currently, all the models are fully implemented, so feel free to test them.

Application GUI

Application window when the following commands were called:

lgca --model-name=HPP --pattern=wiki --steps=640 --run

HPP, obstacle, step 250 <

lgca --model-name=FHPII --pattern=obstacle --steps=250 --run

FHP II, obstacle, step 250 <

Installation

Install using pip (creating a Python virtual environment first is strongly recommended).

pip install lgca

Usage

To get some information about the application just run:

lgca --help

and You should see something like below.

pygame 2.5.2 (SDL 2.28.3, Python 3.12.7)
Hello from the pygame community. https://www.pygame.org/contribute.html
Usage: lgca [OPTIONS]

  Lattice Gas Cellular Automata [X] HPP [X] FHP I [X] FHP II [ ] FHP III

Options:
  -v, --value INTEGER RANGE       Content value.  [default: 0; 0<=x<=255]
  -n, --model-name [HPP|FHPI|FHPII|FHPIII|hpp|fhpi|fhpii|fhpiii]
                                  Model name.  [default: HPP]
  -w, --width INTEGER             Lattice window width.  [default: 300]
  -h, --height INTEGER            Lattice window height.  [default: 200]
  -s, --steps INTEGER             Number of steps.  [default: -1]
  -r, --run                       Run immediately.
  -d, --deterministic             Generate the same randomized result for the
                                  same params.  [default: True]
  -p, --pattern [wiki|random|alt|single|obstacle|test]
                                  Select initial state pattern.  [default:
                                  wiki]
  --help                          Show this message and exit.

So the sample usage can look like this

lgca --run

The above command should display the HPP model visualization, identical to the one on Wikipedia.

https://en.wikipedia.org/wiki/HPP_model

  • To start/stop the application just press the space button.
  • To reset app to the initial state press the S button.
  • To quit the app pres ESC button or quit the window.

Status

build status

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

lgca-0.1.7.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

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

lgca-0.1.7-py3-none-any.whl (47.0 kB view details)

Uploaded Python 3

File details

Details for the file lgca-0.1.7.tar.gz.

File metadata

  • Download URL: lgca-0.1.7.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for lgca-0.1.7.tar.gz
Algorithm Hash digest
SHA256 2ebd85e2e29ba2ed42b8bc5b80757d8507bf8304beef9f281d38cf7880a94a8c
MD5 16d90ec16554a01fbecc74bbf55e7588
BLAKE2b-256 eccb702b36767eca8b7266263d7df6df9c649c468ea72c8b5b5403830a4f05e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for lgca-0.1.7.tar.gz:

Publisher: python-publish.yml on siciarek/lgca

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lgca-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: lgca-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 47.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for lgca-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 75268f19e9cf6946f328a6da73b4837d2cb2790ce6f3ffad478c0317ff94740a
MD5 ae51f24ac85c0c18a23aefee17560ba0
BLAKE2b-256 d743f293b16fc0654ed8a0d03f6eb220b05281d9f88136da34035e5287a98d77

See more details on using hashes here.

Provenance

The following attestation bundles were made for lgca-0.1.7-py3-none-any.whl:

Publisher: python-publish.yml on siciarek/lgca

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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