Bayesian optimization based on Gaussian processes (BO-GP) for CFD simulations.

Related tags

Machine LearningBO_GP
Overview

BO-GP

Bayesian optimization based on Gaussian processes (BO-GP) for CFD simulations.

The BO-GP codes are developed using GPy and GPyOpt. The optimizer is non-intrusive and can be linked to any CFD solver.

Reference:

Y. Morita, S. Rezaeiravesh, N. Tabatabaeia, R. Vinuesaa, K. Fukagata, P. Schlatter, Applying Bayesian Optimization with Gaussian Process Regression to Computational Fluid Dynamics Problems, Journal of Computational Physics, 2021.

Exmaple: Turbulent boundary layer (TBL) with non-zero pressure gradient.

See Section 5 in the above reference. The flow is simulated using OpenFOAM.

Questions/Remarks:

Questions can be forwarded to [email protected], [email protected], and [email protected].

List of included files and folders:

  • driver_BOGP.py: main driver for running the example, i.e. BO-GP of pessure-gradient TBL simulated by OpenFOAM.

  • gpOptim/: Bayesian optimization codes based on Gaussian processes, using GPy and GPyOpt.

    • workDir/
      • gpList.dat
    • gpOpt.py
  • OFcase/: OpenFOAM case folder

    • system/
      • yTopParams.in (written in main_pre.py, used by blockMeshDict & controlDict).
      • blockMeshDict
      • controlDict
      • decomposeParDict
      • fvSchemes
      • fvSolution
    • 0/
      • U,p,k,omega,nut
      • *_IC files (use inflow.py to make these files).
    • constant/
      • polyMesh/ (not included)
      • transportProperties
    • jobscript
    • OFrun.sh
  • OFpost/: Post-processing the results of OFcase.

    • main_post.py
  • OFpre/: Pre-processing the OFcase

    • main_pre.py: creating yTopParams.in using the latest parameter sample.
    • inflow/inflow_gen.py: Creating inflow conditions for RANS of TBL with pressure gradient using DNS data for the TBL with zero-pressure gradient.
  • figs/: To save figures produced when running the optimization.

    • make_movie.sh: make movie in png/ from pdf files.
  • data/: Created when running the BO-GP.

  • storage/: Created when running the BO-GP.

Settings & inputs (to run the example):

  • In driver_BOGP_example.py: U_infty, delta99_in, Nx, Ny, Nz, t, loop params, path, beta_t etc.
  • /gpOptim/gpOpt.py: number of parameters, range of parameters, tolerance, GP kernel, xi, etc.

Requirements:

  1. python3.X
  2. numpy
  3. matplotlib
  4. GPy
  5. GpyOpt
  6. OpenFOAM v.7 (or v.6)
  7. bl_data/ in OFpre/inflow/ (DNS data from here)

How to test the example for different settings:

  • To change the structure of the geometry

    • create the new inflow from precursor using OFpre/inflow/inflow_gen.py (precursor results required)
    • update the blockMeshDict
    • update the driver accordingly
  • To change the number of prosessors used for the OpenFOAM simulation

    • update nProcessors in the driver
    • update decomposeParDict
    • update jobScript
  • To change the parameterization of the upper wall

    • change qBound in gpOpt.py
    • update blockMeshDict
  • To change beta_t (target pressure-gradient parameter beta)

    • change beta_t in the driver
  • When you clone this repository and get errors, please try run:

    • mkdir data
    • mkdir storage
    • mkdir OFcase/constant/polyMesh/
Owner
KTH Mechanics
KTH Mechanics
This project impelemented for midterm of the Machine Learning #Zoomcamp #Alexey Grigorev

MLProject_01 This project impelemented for midterm of the Machine Learning #Zoomcamp #Alexey Grigorev Context Dataset English question data set file F

Hadi Nakhi 1 Dec 18, 2021
CD) in machine learning projectsImplementing continuous integration & delivery (CI/CD) in machine learning projects

CML with cloud compute This repository contains a sample project using CML with Terraform (via the cml-runner function) to launch an AWS EC2 instance

Iterative 19 Oct 03, 2022
Katana project is a template for ASAP 🚀 ML application deployment

Katana project is a FastAPI template for ASAP 🚀 ML API deployment

Mohammad Shahebaz 100 Dec 26, 2022
Time series changepoint detection

changepy Changepoint detection in time series in pure python Install pip install changepy Examples from changepy import pelt from cha

Rui Gil 92 Nov 08, 2022
mlpack: a scalable C++ machine learning library --

a fast, flexible machine learning library Home | Documentation | Doxygen | Community | Help | IRC Chat Download: current stable version (3.4.2) mlpack

mlpack 4.2k Jan 01, 2023
Model Agnostic Confidence Estimator (MACEST) - A Python library for calibrating Machine Learning models' confidence scores

Model Agnostic Confidence Estimator (MACEST) - A Python library for calibrating Machine Learning models' confidence scores

Oracle 95 Dec 28, 2022
Python/Sage Tool for deriving Scattering Matrices for WDF R-Adaptors

R-Solver A Python tools for deriving R-Type adaptors for Wave Digital Filters. This code is not quite production-ready. If you are interested in contr

8 Sep 19, 2022
An easier way to build neural search on the cloud

Jina is geared towards building search systems for any kind of data, including text, images, audio, video and many more. With the modular design & multi-layer abstraction, you can leverage the effici

Jina AI 17k Jan 01, 2023
Time Series Prediction with tf.contrib.timeseries

TensorFlow-Time-Series-Examples Additional examples for TensorFlow Time Series(TFTS). Read a Time Series with TFTS From a Numpy Array: See "test_input

Zhiyuan He 476 Nov 17, 2022
TensorFlowOnSpark brings TensorFlow programs to Apache Spark clusters.

TensorFlowOnSpark TensorFlowOnSpark brings scalable deep learning to Apache Hadoop and Apache Spark clusters. By combining salient features from the T

Yahoo 3.8k Jan 04, 2023
PyTorch extensions for high performance and large scale training.

Description FairScale is a PyTorch extension library for high performance and large scale training on one or multiple machines/nodes. This library ext

Facebook Research 2k Dec 28, 2022
monolish: MONOlithic Liner equation Solvers for Highly-parallel architecture

monolish is a linear equation solver library that monolithically fuses variable data type, matrix structures, matrix data format, vendor specific data transfer APIs, and vendor specific numerical alg

RICOS Co. Ltd. 179 Dec 21, 2022
A Python-based application demonstrating various search algorithms, namely Depth-First Search (DFS), Breadth-First Search (BFS), and A* Search (Manhattan Distance Heuristic)

A Python-based application demonstrating various search algorithms, namely Depth-First Search (DFS), Breadth-First Search (BFS), and the A* Search (using the Manhattan Distance Heuristic)

17 Aug 14, 2022
A data preprocessing and feature engineering script for a machine learning pipeline is prepared.

FEATURE ENGINEERING Business Problem: A data preprocessing and feature engineering script for a machine learning pipeline needs to be prepared. It is

Pinar Oner 7 Dec 18, 2021
A machine learning toolkit dedicated to time-series data

tslearn The machine learning toolkit for time series analysis in Python Section Description Installation Installing the dependencies and tslearn Getti

2.3k Dec 29, 2022
icepickle is to allow a safe way to serialize and deserialize linear scikit-learn models

icepickle It's a cooler way to store simple linear models. The goal of icepickle is to allow a safe way to serialize and deserialize linear scikit-lea

vincent d warmerdam 24 Dec 09, 2022
Apache Spark & Python (pySpark) tutorials for Big Data Analysis and Machine Learning as IPython / Jupyter notebooks

Spark Python Notebooks This is a collection of IPython notebook/Jupyter notebooks intended to train the reader on different Apache Spark concepts, fro

Jose A Dianes 1.5k Jan 02, 2023
Made in collaboration with Chris George for Art + ML Spring 2019.

Deepdream Eyes Made in collaboration with Chris George for Art + ML Spring 2019.

Francisco Cabrera 1 Jan 12, 2022
ClearML - Auto-Magical Suite of tools to streamline your ML workflow. Experiment Manager, MLOps and Data-Management

ClearML - Auto-Magical Suite of tools to streamline your ML workflow Experiment Manager, MLOps and Data-Management ClearML Formerly known as Allegro T

ClearML 4k Jan 09, 2023
Optimal Randomized Canonical Correlation Analysis

ORCCA Optimal Randomized Canonical Correlation Analysis This project is for the python version of ORCCA algorithm. It depends on Numpy for matrix calc

Yinsong Wang 1 Nov 21, 2021