Coder Social home page Coder Social logo

bkimo / pyplane Goto Github PK

View Code? Open in Web Editor NEW

This project forked from m-squared96/pyplane

0.0 0.0 0.0 16.55 MB

An open source replacement to the traditional DFIELD and PPLANE applications for solving systems of ODEs

License: GNU General Public License v3.0

Python 100.00%

pyplane's Introduction

PyPLANE

An open source replacement to the traditional DFIELD and PPLANE applications for solving systems of ODEs

Alt Text Alt Text

About

PyPLANE is an open source Python application used for the visualisation and (numerical/graphical) solving of systems of ODEs. PyPLANE is released under the GPL-3.0

Installing Pyplane

PyPLANE is available on the Snap Store for Linux

Get it from the Snap Store

Quick Start

If you are using Linux and have installed via the Snap store PyPLANE should appear in your application. If you use Windows or Mac instead, or don't use the Snap store on Linux, you can clone the repository from GitHub and run the top-level run.py file using Python 3. Note that you will need to have installed the following Python libraries for this method:

  • NumPy
  • SymPy
  • SciPy
  • Matplotlib
  • PyQt5

The code snippet below will set up a Python environment to run PyPLANE in isolation without affecting the global Python install. The required libraries listed above will also be installed:

Linux

Ensure that git, and Python3 and the corresponding venv package (python3-venv on Ubuntu) are installed. Then clone the PyPLANE repository and set up the virtual environment as follows.

$ git clone https://github.com/m-squared96/PyPLANE
$ cd PyPLANE/
$ python3 -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt

PyPLANE can then be launched using:

$ cd /path/to/PyPLANE
$ source env/bin/activate
$ python3 ./run.py

One way or another, you should now have launched PyPLANE!

Quick User Guide

The Phase Space Plot

The phase space plot on the right hand side of the application GUI can be interfaced directly with the mouse. By double-clicking on the plot a trajectory is plotted, with the click-coordinates used as an initial condition.

Furthermore, nullclines and fixed points can be toggle on/off from the Edit menu.

Editing the System

One of PyPLANE's main features is its ability to analyse both one- and two-dimensional systems. To change the number of dimensions select the appropriate option from the Dimensions menu.

On the one-dimensional interface, the only dependent variable is x, with the independent variable being t. For two dimensions the dependent variables are x and y.

In the text box(es) in the top left of the screen, the user can define the expressions used for the system's derivative(s). Any symbols in the text boxes should conform to one of the points below:

  • Mathematical operators/functions (i.e. +,-,*,/,sin,cos etc.);
  • References to the dependent or independent variables (t,x,y);
  • References to parameters;

Parameters are constants which can take any value; they can be edited in the text boxes provided below the axes limits. Any constant parameters referenced in the derivative definitions should be defined in the boxes provided.

pyplane's People

Contributors

m-squared96 avatar mjancen avatar tweakimp 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.