Git Product home page Git Product logo

keyfi's Introduction

keyfi logo

keyfi

keyfi is a python package for key feature identification via dimensionality reduction, unsupervised clustering, and feature correlation in high-dimensional datasets. Although the methodology of keyfi is widely applicable, it has been implemented to analyze the data generated by high-fidelity CFD simulations of turbulent and reacting flow.

Background

The keyfi project aims to create a way of visualizing high-dimensional CFD data. In turbulent reacting flow simulations, the large number of intrinsic variables (three spatial coordinates and velocity components, temperature, pressure, chemical species...) and derived variables (i.e. equivalence ratio) make understanding the data and their relationship complex. This complexity can be seen from images like the one presented below, extracted from a 3D LES simulation.

Instantaneous view of the turbulent mixing and chemistry interaction in a jet in counterflow reactor for the oxidation of NOx by O3

State-of-the-art neighbour-graph-type dimensionality reduction techniques, along with unsupervised clustering and feature correlation methods allow the uncovering of relevant relationships that drive the underlying physics.

Installation

These instructions will get you a copy of the project up and running on your local machine for usage, development and testing purposes. Please note that only Linux environments have been tested in the current implementation but the code should work independently of the OS.

Open a terminal window and clone this repository by writing:

git clone https://github.com/marrov/keyfi

In order to use keyfi several Python 3 packages are required. Creating a brand new Conda environment for this is recommended. This can be done easily with the provided environment.yml file as follows:

conda env create -f environment.yml
conda activate keyfi

After executing these commands a new Conda environment named keyfi will be created with all necessary packages. The environment is self-contained so as to not influence other local python installations and avoid conflicts with previously installed packages.

Now you can install the keyfi package into this newly created environment that contains all requirements by moving into the main folder and using the pip install command as follows:

pip install -e .

You can test out your installation by running the example as outlined in the next section.

To deactivate this environment simply type:

conda deactivate

Tutorials

In the tutorials folder you will find several Jupyter notebooks that will walk you through the usage of keyfi. You will find tutorials for:

Authors

keyfi's People

Contributors

armadillan avatar marrov avatar wwiiwwiiww 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.