Giter Site home page Giter Site logo

awesome-scientific-computing's Introduction

No Maintenance Intended

See https://github.com/tapyu/awesome-scientific-computing instead

Awesome Scientific Computing

Awesome

A curated list of awesome articles, software libraries and resources on Scientific Computing

Items marked with Open-Source Software are open-source software and link to the source code. Items marked with Freeware are free (as in free beer).

Table of Contents


Astrodynamics

Software Tools

  • poliastro - Astrodynamics Python Library. Open-Source Software
  • MONTE - Astrodynamics Python library. Freeware

Computational Fluid Dynamics

  • OpenFOAM - C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems. Open-Source Software

Blog Posts

Learning

  • CFDPython - A sequence of IPython notebooks featuring the "12 Steps to Navier-Stokes".

Communities

  • CFD Online - Free community for everyone interested in Computational Fluid Dynamics.
  • SimScale - Cloud-based CAE platform that lets you seamlessly simulate, share, and collaborate.

Signal Processing

Notebooks

Flight Mechanics

Software Tools

  • PyFME - Python Flight Mechanics Engine. Open-Source Software
  • Aerospace Blockset™ - Simulink® extension with blocks for modeling and simulating aircraft, spacecraft, rocket, and propulsion systems, as well as unmanned airborne vehicles.

Linear Algebra

Learning

Nuclear Physics

Notebooks

Python

Use of Python in multiple Scientific Computing areas

Learning

Blogs

Meteorology

Datasets

  • Wind Atlas of Spain - Numerical weather prediction system to predict the long-term wind resource.

Chemical Engineering

Communities

  • CAChemE - Engineering students group to promote Free Software and encourage the use of computing in Chemical Engineering. (Spanish)

Structural Analysis

Notebooks

Numerical Aerodynamics

Learning

Data Analysis

Software Tools

  • xlwings - Replace your VBA code with Python. Open-Source Software

Machine Learnig

Learning

Blog Posts

Datasets

  • UCI - UC Irvine Machine Learning Repository.
  • kaggle - A data science competition platform enables users to find and publish open datasets, explore and build models in a web-based data science environment, work with other data scientists and machine learning engineers.

Control Systems

Software Tools

  • python-control - Basic operations for analysis and design of feedback control systems. Open-Source Software

Communication Systems

Software Tools

  • GNU Radio - Free software development toolkit that provides signal processing blocks to implement software-defined radios and signal processing systems. Freeware
  • proxmark3 - Swiss-army tool of RFID, allowing for interactions with the vast majority of RFID tags on a global scale.
  • HackRF - A low cost, open source Software Defined Radio platform.

Learning

Marine Engineering

Software Tools

  • FreeCAD-Ship - FreeCAD module to provide a complete set of naval architect tools. Open-Source Software

Microscopy

Scanning Probe Microscopy

Software Tools

  • NTMDTRead - a library reading the proprietary file format of NT-MDT scanning probe microscopes and Raman spectrometers.

Quantum Mechanics

Software Tools

  • QuTiP - Quantum Toolbox in Python. Open-Source Software

Visualization

Software Tools

  • Mayavi - 3D scientific data visualization and plotting in Python. Open-Source Software
  • ParaView - Build visualizations to analyze their data using qualitative and quantitative techniques. Open-Source Software
  • VisIt - Interactive, scalable, visualization, animation and analysis tool. Open-Source Software

Finite Element Method

Software Tools

  • Fenics Project - Automated scientific computing, with a particular focus on automated solution of differential equations by finite element methods. Open-Source Software
  • SfePy - Solving systems of coupled partial differential equations (PDEs) by the finite element method in 1D, 2D and 3D. Open-Source Software

Blogs

  • Finit3element - Web page on the finite element method (FEM) and its applicantions. (Spanish)

Finite Volume Method

Software Tools

  • FiPy - A Finite Volume PDE Solver Using Python. Open-Source Software

Chemistry

Software Tools

  • PyMOL - A molecular visualization system. Open-Source Software

Numerical Simulation

Software Tools

  • SALOME - Generic platform for Pre- and Post-Processing for numerical simulation. It is based on an open and flexible architecture made of reusable components. Open-Source Software

⬆ back to top

Contribute

Your contributions are always welcome! Please submit a pull request to add a new resource to the list. See CONTRIBUTING.md for more advice.

REMEMBER: this is a list of resources that you consider essential but people may not know.

License

Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.

awesome-scientific-computing's People

Contributors

astrojuanlu avatar kolanich avatar pablordrrbl avatar tapyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-scientific-computing's Issues

Proposal: Split the table of contents between scientific programming languages and field of knowledge

Dears,

I've notice that this awesome list of scientific computing goes beyond the theoretical knowledge and also contains information about scientific programming languages. At the moment, there is only Python, which is kinda lost among the other scientific topics. I would like to contribute with the contents with the programming language that I am use for science (Python, Matlab, Julia, and R). However, it seems a little tangled if put a new topic among other purely theoretical topic (e.g., Linear Algebra).

Shouldn't it better to split the table of contents between scientific programming languages and field of knowledge? In that way we could separate the theoretical topics from contents that concerns the programming language itself.

Proposal: Make a PR to add awesome-scientific-computing to the main awesome list

i.e. https://github.com/sindresorhus/awesome
Here is a copypasta of the checklist

I have read and understood the contribution guidelines and the instructions for creating a list.

  • This pull request has a descriptive title.
  • For example, Add Name of List, not Update readme.md or Add awesome list.
  • The entry in the Awesome list should:
    • Include a short description about the list project/theme. It should not describe the list itself.
    • Example: - Fish - User-friendly shell.
    • Be added at the bottom of the appropriate category.
  • The list I'm submitting complies with these requirements:
    • Has been around for at least 30 days.
    • That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
    • It's the result of hard work and the best I could possibly produce.
    • Non-generated Markdown file in a GitHub repo.
    • The repo should have the following GitHub topics set: awesome-list, awesome, list. I encourage you to add more relevant topics.
    • Not a duplicate.
    • Includes a succinct description of the project/theme at the top of the readme. (Example)
    • Only has awesome items. Awesome lists are curations of the best, not everything.
    • Includes a project logo/illustration whenever possible.
      • Placed at the top-right of the readme. (Example)
      • The image should link to the project website or any relevant website.
      • The image should be high-DPI. Set it to maximum half the width of the original image.
    • Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
    • Has the Awesome badge on the right side of the list heading,
    • Has a Table of Contents section.
      • Should be named Contents, not Table of Contents.
      • Should be the first section in the list.
    • Has an appropriate license.
      • That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
      • If you use a license badge, it should be SVG, not PNG.
    • Has contribution guidelines.
      • The file should be named contributing.md. Casing is up to you.
    • Has consistent formatting and proper spelling/grammar.
      • Each link description starts with an uppercase character and ends with a period.
      • Example: - AVA - JavaScript test runner.
      • Drop all the A / An prefixes in the descriptions.
      • Consistent naming. For example, Node.js, not NodeJS or node.js.
    • Doesn't include a Travis badge.
    • You can still use Travis for list linting, but the badge has no value in the readme.
  • Go to the top and read it again.

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.