Coder Social home page Coder Social logo

ardiste3 / nonholonomics Goto Github PK

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

A collection of tools to used to evaluate dynamical systems with nonholonomic constraints.

License: GNU Affero General Public License v3.0

Python 100.00%
lagrange-multipliers lagrangian-mechanics nonholonomic nonholonomic-constraints nonholonomic-lagrange-equations

nonholonomics's Introduction

Nonholonomics

GitHub Issues

See the AUTHORS file for the list of authors. Currently we only have one. It gets lonely so join the team!

License: New GNU License (see the LICENSE file for details) covers all files in the nonholonomics repository unless stated otherwise.

See the CONTRIBUTING file for ways to contribute.

Nonholonomics aims to become a central location for all things nonholonomic! We aim to centralize common methods for easy access and easy manipulation. Currently, the methods of solving nonholonomic systems in python are restricted to self built programs of by making use of Sympy's Lagrange multiplier method.

Currently, nonholonomics is still in development. We have implemented a module to evaluate the nonholonomic Lagrange equations. This is a first step in producing modules to be tested.

We also have a module for plotting purposes. In dynamics, we often plot the states of the system. The functions contained in this module aim to make this quick and easy.

We have made a handful of examples for users to get familliar with. The examples are located in the examples directory and are simply numbered to keep naming short and easy.

For a complte example using a holonomic linear system, take a look at example1.py for an indepth look at how to use most of the methods and classes.

Example2.py and example3.py compare the implementation of constraints. The current program will handle systems with and with out nonholonomoic constraints.

Example4.py shows the program can evaluate a nonlinear system. In this case it is the pendulum. There are comments to make the system linear to compare the results.

We are working on implementing support for Lagrange multipliers and the principal of virtual power. If you would like to help please check out the contributing documentation.

Download

The recommended installation method is through pip, we are not on pypi yet, we use test.pypi until our first launch.

to in install from test.pypi, use:

$ pip install -i https://test.pypi.org/simple/ nonholonomics

You can also get the latest version of nonholonomics from <https://test.pypi.org/simple/ nonholonomics>

To get the git version do

$ git clone https://github.com/ardiste3/nonholonomics

For other options (tarballs, debs, etc.), please wait patiently or email your request in.

Contributing

We welcome contributions from anyone, even if you are new to open source.

Clean

To clean everything (thus getting the same tree as in the repository):

$ git clean -Xdf

which will clear everything ignored by .gitignore, and:

$ git clean -df

to clear all untracked files. You can revert the most recent changes in git with:

$ git reset --hard

WARNING: The above commands will all clear changes you may have made, and you will lose them forever. Be sure to check things with git status, git diff, git clean -Xn, and git clean -n before doing any of those.

Bugs

Our issue tracker is at https://github.com/ardiste3/nonholonomics/issues. Please report any bugs that you find. Or, even better, fork the repository on GitHub and create a pull request. We welcome all changes, big or small, and we will help you make the pull request if you are new to git.

Brief History

This started out as project in graduate school.

nonholonomics's People

Contributors

ardiste3 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.