Coder Social home page Coder Social logo

pgml-flow-field's Introduction

PGML for flow field prediction

This repo presents a physics-guided machine learning (PGML) framework for in-cylinder engine flow field prediction from the work "Swirl-induced Motion Prediction with Physics-guided Machine Learning Framework Utilizing Spatio-temporal Flow Field Structure" (Published at International Jounral of Numerical Methods for Heat & Fluid Flow). It is empowered by AutoGluon v0.8.2 and realized in Python. This proposed physics-guided machine learning framework is capable to deal with extremely complicated in-cylinder flow field with very high prediction accuracy, suggesting the idea that a better incorporation between spatial and temporal information could work well on simple machine learning models compared with large, complicated deep neural networks.

The source code for ML our model training, prediction, and distillation is published in this GitHub repo. If you are interested to further expand our idea on other flow dataset, please cite our coming paper. License: GNU General Public License v3.0

Engine Parameters

Category Value
Engine speed [rpm] 800
Bore [mm] 86
Stroke [mm] 94.6
Clearance volume [cm3] 49.96
Displacement [cm3] 549.51
Intake Valve Open [º ATDC] -362/-362 (Primary/Secondary)
Intake Valve Close [º ATDC] -144/-132 (Primary/Secondary)
Exhaust Valve Open [º ATDC] 131
Exhaust Valve Close [º ATDC] 372

CAD: Crank Angle Degree

ATDC: After Top Dead Center

Computational Resources

Item Value
CPU Intel i9-13900K
# Cores 24 (8 P-core + 16 E-core)
# Threads 32
Peak Memory Usage 252.8MB
Total Training Time ≈25 hours
Prediction Time per Flow Field ≈45 seconds

Repo Guidelines

Training

Training source code arranged to Python Jupyter Notebook:

./Training-Revised-Edition.ipynb

Complete training data and well-trained ML models are published but could be available on request.

Prediction

Training source code arranged to Python Jupyter Notebook:

./Prediction-Revised-Edition.ipynb

Distillation

Since we are using ensemble learning algorithm, the distillation process could select well-performed meta-model during the model stacking process. This process could help trim down the size of the model and improve prediction efficiency.

Training source code arranged to Python Jupyter Notebook:

./Distillation.ipynb

Dataset

Item Value
Swirl Ratio High = 5.68
Medium = 1.33
Low = 0.55
# Cycle 100 : 1~100, {70,80,90} published in the repo
CAD Range -300 CAD (intake) ~ -60 CAD (late compression)
Training Dataset Low SR, Cycle = {1,2,..,9,11,...,19,21,...,91,...99}, # Cycle = 90
Test Dataset Low SR, Cycle = {10, 20, ..., 90}, # Cycle = 10
Medium SR, Cycle = {10, 20, ..., 90}, # Cycle = 10
High SR, Cycle = {10, 20, ..., 90}, # Cycle = 10

Note: we only publish cycle 70, 80, 90 for result validation. Other data could be made available on request. It is also encouraging to test the SIMPLI-field on other flow field scenario.

Result

The result of Cycle 70, 80, 90 for three swirl ratio conditions are published. Each cycle contains the result consecutively predicted from -300 CAD to -60 CAD. For each prediction result we present:

  • x/y: the raw data from the experiment (e.g. "2-raw.dat") and simulation (e.g. "2.dat");
  • SI: the structural index evaluation of data
  • MI: the magnitude index evaluation of data
  • Raw: Input-output comparison. The flow field on the left is the input flow field and that on the right is the output.

Note: The red vectors come from prediction and green vectors come from experiments.

Citation

Zhou, Z., Zhao, F. and Hung, D. (2024), "Swirl-induced motion prediction with physics-guided machine learning utilizing spatiotemporal flow field structure", International Journal of Numerical Methods for Heat & Fluid Flow, Vol. ahead-of-print No. ahead-of-print. https://doi.org/10.1108/HFF-07-2023-0358

Examples

./result/sr_C6_01/Cycle-090/-260CAD_ATDC/SI/2.png SI

./result/sr_C6_01/Cycle-090/-260CAD_ATDC/MI/2.png MI

./result/sr_C6_01/Cycle-090/-260CAD_ATDC/Raw/2.png MI

pgml-flow-field's People

Contributors

ziming-zh avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

ji-fda-lab

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.