aPriori Documentation
  • 👋Welcome to aPriori
  • Getting started
    • What is aPriori?
    • Installation
    • Quickstart
  • Fundamentals and usage
    • aPriori Fundamentals
      • Data Formatting
      • Cut a 3D scalar
      • Filter a 3D scalar field
      • Initialize a DNS field
      • Data visualization
      • Cut a DNS field
      • Filter a DNS field
    • Machine Learning Tutorials
      • Data-Driven Closure for Turbulence-Chemistry interaction
      • Dynamic Data-Driven Smagorinky Closure for LES
  • API guide
    • Field3D
      • Field3D.build_attributes_list
      • Field3D.check_valid_attribute
      • Field3D.compute_chemical_timescale
      • Field3D.compute_kinetic_energy
      • Field3D.compute_mixing_timescale
      • Field3D.compute_residual_kinetic_energy
      • Field3D.compute_residual_dissipation_rate
      • Field3D.compute_reaction_rates
      • Field3D.compute_reaction_rates_batch
      • Field3D.compute_strain_rate
      • Field3D.compute_tau_r
      • Field3D.compute_velocity_module
      • Field3D.cut
      • Field3D.filter_favre
      • Field3D.filter
      • Field3D.find_path
      • Field3D.plot_x_midplane
      • Field3D.plot_y_midplane
      • Field3D.plot_z_midplane
      • Field3D.print_attributes
      • Field3D.update
    • Scalar3D
      • Scalar3D.is_light_mode
      • Scalar3D.reshape_3d
      • Scalar3D.reshape_column
      • Scalar3D.reshape_line
      • Scalar3D.cut
      • Scalar3D.filter_gauss
      • Scalar3D.plot_x_midplane
      • Scalar3D.plot_y_midplane
      • Scalar3D.plot_z_midplane
    • Mesh3D
  • BIBLIOGRAPHY
Powered by GitBook
On this page
  • Purpose of the Project
  • Why should you use DNS data?
  • Why should you use aPriori?
  1. Getting started

What is aPriori?

PreviousWelcome to aPrioriNextInstallation

Last updated 8 months ago

Purpose of the Project

aPriori is a Python package used to process Direct Numerical Simulations (DNS) data. The project aims to help make large datasets more accessible to everyone, both to those who come from the field of Combustion and Fluid Dynamics, and who come from other fields.

Why should you use DNS data?

With the rise of Data Science, large datasets have become increasingly valuable for researchers. The vast amount of information they contain offers various opportunities in many fields of science and engineering. In the field of Fluid Dynamics, DNS are highly accurate numerical simulations that resolve all the scales of the turbulence spectrum. They provide immense potential for applications like training machine learning models or conducting in-depth analyses of turbulence and chemical patterns. However, handling DNS data presents challenges due to its sheer size and the variety of storage formats used by different researchers. Typically, those who run these simulations have access to advanced computational resources, which may not be available to others looking to analyze the data. One of the primary difficulties in working with DNS datasets is the risk of running out of memory.

Why should you use aPriori?

This package makes working with this complex data extremely intuitive. It also solves the problem of running out of memory and other issues that are typically encountered when working with large datasets. Instead of storing the files in variables, thus allocating memory in the system, this library allows working with pointers to the file location. In this way, each file containing the scalar variables is only read when needed, so the Random Access Memory (RAM) of your system will not be overloaded. Performing complex chemistry computations on the dataset can be as simple as writing a couple of lines of code:

>>> from aPriori.DNS import Field3D

>>> my_field = Field3D('your/folder/with/data')
>>> my_field.compute_source_terms() #computing the reaction rates for every specie

>>> my_field.plot_z_midplane('R_O2') #Plotting the reaction rate of hydrogen

This snippet will finally give the following output: