Giter Site home page Giter Site logo

dominiksabat / lattice-gas-automata Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 53 KB

This Java program implements the Lattice Gas Automata (LGA) algorithm, a computational model that simulates gas and fluid flows. This implementation showcases the versatility of LGCA, providing a tool to study fluid and gas dynamics and collective behaviors in biological systems.

Java 100.00%

lattice-gas-automata's Introduction

Lattice Gas Automata (LGA)

Key Features:

LGA Simulation:
This program employs Lattice Gas Automata principles to model fluid flows. Each lattice cell represents a discrete space where fluid particles interact based on predefined rules, simulating the dynamic behavior of the fluid.

Initialization with Particle Configurations:
Users can initialize the simulation by setting the lattice with an initial configuration of fluid particles. This step establishes the starting conditions for the LGCA simulation, influencing the subsequent flow dynamics.

Fluid Flow Dynamics:
The LGA evolves over multiple iterations, capturing the dynamic movement of fluid particles. The simulation considers local interactions and collisions, leading to the emergence of macroscopic fluid flow patterns.

Obstacle Interactions:
The presence of obstacles in the lattice introduces collision dynamics, causing fluid particles to reflect upon encountering obstacles. This feature enhances the realism of the simulation by mimicking real-world interactions with obstacles.

Gas Source:
Introducing an additional feature, the program includes a gas source that injects particles into the lattice at specified intervals. This allows users to study the impact of a continuous gas source on fluid flow patterns and behavior within the lattice structure.

Sample Results:

Example 1:

Fixed amount of particles.
Size: 375x375

Initial State:
obraz

Iteration 350:
obraz

Iteration 700:
obraz

Iteration 2000:
obraz

Example 2

No fixed amount of particles, source spawns new particles every iteration
Size: 375x375

Initial State:
obraz

Iteration 350:
obraz

Iteration 700:
obraz

Iteration 2000:
obraz

Iteration 8000:
obraz

Iteration 50000:
obraz

Compatibility:

  • The program is developed in Java Swing, ensuring compatibility across different platforms.

lattice-gas-automata's People

Contributors

dominiksabat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.