this is a post image

CFD and Machine Learning Part 2: A Slightly More Complex Model - Chapter 4. A Single Variable -Study on Dataset Size

Abstract In the previous article, it was introduced that both SK-Learn polynomial regression and neural networks can yield good results for the model used in this study. However, it is generally believed that neural networks require larger datasets. In this chapter: Different-sized datasets are generated using CFD (Computational Fluid Dynamics) and fitted using both methods. The performance of polynomial regression and neural network models is evaluated on different datasets. Dataset Previously, we selected a dataset containing 21 computed results....

2024-04-13 · 3 min · Xue Chao
this is a post image

CFD与机器学习(2)一个稍微复杂一点的模型:4.单变量研究-数据集大小研究

摘要 在前面文章中介绍了本研究的模型使用SK-Learn多项式回归和神经网络都可以得到好的结果,但是通常我们认为,神经网络对于数据集的大小要求会更高一点,在本章中: 利用CFD产生不同大小的数据集,使用两种方法进行拟合, 评估了多项式回归和神经网络模型在不同数据集下的表现。 数据集 前面我们选用了包含21个计算结果结果的数据集。我们可以将D的步长进行调整,而产生更多的数据集,比如,我们可以产生包含11组数据的数据集,也可以产生包含101组数据的数据集,当然还有其他的数据集。 11组数据的数据集中,heat部件的温度与D的关系如下图所示: 101组数据的数据集中,heat部件的温度与D的关系如下图所示: 371组数据的数据集中,heat部件的温度与D的关系如下图所示: Dataset11的研究 Dataset11多项式回归 使用了4阶多项式回归训练模型,在测试集中预测的准确度如下图所示: R2 score: 0.9628717222035422 Mean Squared Error: 0.010903528174133134 Mean Absolute Error: 0.0893634062848226 Dataset11神经网络模型 使用了与上一文章中一样的7层隐藏层的神经网络模型,在测试集中预测的准确度如下图所示: R2 score: 0.35997135381363976 Mean Squared Error: 0.19054323 Mean Absolute Error: 0.3524933 Dataset21的研究 Dataset21多项式回归 使用了4阶多项式回归训练模型,在测试集中预测的准确度如下图所示: R2 score: 0.9814169221431929 Mean Squared Error: 0.004181097720090528 Mean Absolute Error: 0.06277254235435378 Dataset21神经网络模型 使用了与上一文章中一样的7层隐藏层的神经网络模型,在测试集中预测的准确度如下图所示: R2 score: 0.22970822906625143 Mean Squared Error: 0.00063205796 Mean Absolute Error: 0.02298813 Dataset38的研究 Dataset38多项式回归 使用了4阶多项式回归训练模型,在测试集中预测的准确度如下图所示: R2 score: 0.9801750123259995 Mean Squared Error: 0....

2024-04-13 · 1 min · Xue Chao
this is a post image

CFD and Machine Learning Part 2: A Slightly More Complex Model - Chapter 3. A Single Variable - Preliminary Study of Neural Networks

Abstract In the previous article, the accuracy of the model in this study using SK-Learn was introduced. In this chapter: The dataset from the previous chapter was fitted using neural networks, The results were compared with those obtained using SK-Learn, The performance of the neural network model on this dataset was evaluated. Model The model has already been introduced in the previous article. In the earlier article, only one parameter was selected as a variable, while other parameters were kept constant....

2024-04-06 · 3 min · Xue Chao
this is a post image

CFD与机器学习(2)一个稍微复杂一点的模型:3.单变量研究-神经网络初步研究

摘要 在前面文章中介绍了本研究的模型在使用SK-Learn模型的准确度,在本章中: 对上个章节中的数据集使用神经网络进行拟合, 将结果与SK-learn的结果进行了对比, 评估了神经网络模型在该数据集下的表现。 模型 模型在上篇文章已经做过介绍。 在之前的文章中,只选取一个参数作为变量,其他的参数为恒定值。我们在原始模型上增加了一个变量,D,用来描述heat部件的横向位置。为了更加适应神经网络模型对于数据集的要求,我们选用了包含21个计算结果结果的数据集。 heat部件的温度与D的关系如下图所示: 神经网络研究 在之前的文章,既“CFD与机器学习(1)一个简单的模型”,我们使用了一个‘神经网络结构为1个输入层,7个隐藏层,1个输出层’,该神经网络很好的拟合了一个模型用于处理我们的那个简单的模型的物理现象。 那么,神经网络的结构是该如何确定呢?一共要多少个层才算合适?每个层该如何确定神经元的个数呢?在工程领域,比如我们这个稍微复杂一点的传热模型所使用的变量该如何选择神经网络的结构呢? 我们会在后面的章节中进行探索,试图得到一点点对于工程数据使用神经网络的一点心得。 sk-learn多项式回归 前一章我们使用了4阶多项式回归训练模型预测的效果非常好,其准确度如下图所示: 其真实结果和预测结果的D vs T分布如下图所示: 神经网络 我们然后使用神经网络进行一下拟合。神经网络模型主要采用了线性连接和ReLU激活函数。通过引入激活函数来模拟非线性的现象。 我们使用一个之前的那个神经网络,既有7个隐藏层的神经网络对同样的数据集进行训练和预测。其准确度如下图所示: 其真实结果和预测结果的D vs T分布如下图所示: 我们可以看出,神经网络在该数据集下的表现也非常好。 结论 本章通过对一个稍微复杂一点的传热和对流模型中的一个参数作为变量,我们使用神经网络,对该数据集进行研究,并且与多项式回归进行一个对比。可以看出神经网络的回归精度也是非常高的。一个足够复杂的神经网络可以模拟出来足够复杂的物理现象。 在下一章中,我们准备对比一下多项式回归和神经网络对于数据集大小要求的研究。

2024-04-06 · 1 min · Xue Chao
this is a post image

CFD and Machine Learning Part 2: A Slightly More Complex Model - Chapter 2. A Single Variable(SK-Learn)

Abstract In the previous article, the model used in this study was introduced. In this chapter: To explore from the most fundamental and simplified perspective, one of the eight variable parameters of the model was selected for study. Different value ranges were defined to study the variable’s behavior across various ranges. Sweep calculations were performed to obtain the dataset. The analysis of the dataset is based on a physical understanding of the phenomena described by the model....

2024-03-30 · 7 min · Xue Chao
this is a post image

CFD与机器学习(2)一个稍微复杂一点的模型:2.单变量研究(SK-Learn)

摘要 在前面文章中介绍了本研究的模型,在本章中: 为了从最基础,最简化的角度来进行探索,选取模型8个可变化的参数中的1个作为变量进行研究, 同时为了研究变量在不同的取值范围的表现,约定了不同的取值范围, 使用sweep计算来获得数据集, 希望通过对该模型描述的物理现象出发,对数据集进行基于物理理解的分析, 然后再进行机器学习,使用不同的模型进行拟合, 来评估不同回归模型在不同数据集下的表现。 模型 模型在上篇文章已经做过介绍,如下图所示: 该换热模型的可变参数一共有如下8个: H ——plate的宽, L ——plate的长, W ——plate的厚, H2 ——heat的宽, L2 ——heat的长, TH ——resist的厚, v_air ——空气的进口速度, heat ——heat的发热量。 单变量研究 在本章中,我们只选取一个参数作为变量,其他的参数为恒定值。该模型的截面如下图所示: 该模型所反映的物理现象我们上个文章已经介绍:“从heat这个部件发出一定的热量,大部分热量首先经过具有较小导热系数的resist,传递到plate上面,然后经过plate与air的对流换热散发到air中去,heat还有较少部分热量通过heat顶面与air直接对流换热。” 如果忽略resist部件与空气的对流交换,以及忽略一些三维传热,并且假设heat部件温度均布(由于该部件的导热率非常大),我们使用热路图来表示这个模型的传热过程,如下图所示: v_air作为变量的研究 首先,我们将空气的速度v_air作为变量进行研究。根据上面的热路图,v_air的改变,主要影响了空气与固体的对流换热系数,根据牛顿冷却定律:Q = h * A * (Ts - Tf),物体表面的温度与对流换热系数的倒数,既1/h成正比。 使用软件计算该模型在不同空气流速下的情况,heat部件的温度与空气速度有如下关系: 上图反映的是空气的速度在[2.5,20]m/s的范围内,heat部件的平均温度的变化。在这个关系中,我们明显看出来我们最开始利用牛顿冷却定律的分析是与仿真结果吻合的。随着空气速度的增大,空气与固体的对流换热系数也增加,进而其倒数变小,最终使得heat部件的温度呈现一种非线性的反比例关系。 如果空气速度范围为[8,12]m/s,heat部件的温度变化如下图所示: 从上面可以看出,一个变量在不同的取值范围内,该变量与结果变量之间的线性关系强烈程度是不同的。 heat部件的横向位置作为变量的研究 上面我们看了热点温度和冷却空气的关系,呈现了反比例关系,为了产生更为复杂的数据,我们在原始模型上增加了一个变量,D,用来描述heat部件的横向位置,如下图红圈处所示: 既heat部件在垂直于冷却空气流速的方向上有一个位置变化,其距离plate的侧边的距离为D,下图为3个不同的D的模型的示意图。 我们只将该模型中D作为唯一的变量,其他的参数保持不变,计算了多个不同D的案例,最终形成了相应的数据集。 heat部件的温度与D的关系如下图所示: 在该模型中,只有参数D为变量,影响heat部件的温度的主要因素是D的大小,既heat部件的相对位置。如果heat部件的位置比较靠近边缘,那么从下图截面的温度分布我们可以看出,heat部件的有一侧比较靠近边缘,其与plate的换热受该侧plate的温度分布梯度影响,从而造成该侧的导热效果的降低,进而推高了heat部件的温度。 随着D的逐渐增大,heat部件向中间移动,改善了其侧面的传热能力,因此heat部件位于中间位置的时候,其温度最低。下图为heat部件位于中间位置的温度分布图。 heat部件的横向位置作为变量的数据集的机器学习研究 Scikit-learn线性回归 首先我们利用Scikit-learn的线性拟合方法对该数据集进行拟合,首先要强调的是,我们已经知道参数D与heat部件的温度T之间不是线性关系。但是,我们还是试一试。 model=LinearRegression() model.fit(X_train,y_train) 我们使用该参数作为变量通过CFD软件扫描计算得到的数据集作为研究对象,使用SK-learn的线性回归进行训练,其训练模型预测的准确度如下图所示: 其真实结果和预测结果的D vs T分布如下图所示: 我们可以明确的看出,由于该模型从物理现象的角度,D和T的关系是非线性的,因此不能使用线性拟合来进行训练数据。 Scikit-learn多项式回归 由于从物理现象我们已经得知,D和T的关系不是线性关系,我们从上面的结果可以看出,D和T大概是一个抛物线形式的关系,那我们可以利用Scikit-learn的多项式回归对该数据集进行训练。 首先我们使用2阶的多项式,因为我们刚刚猜测D和T的关系大概是抛物线的关系。 model = make_pipeline(PolynomialFeatures(degree=2), LinearRegression()) model.fit(X_train,y_train) 其训练模型预测的准确度如下图所示:...

2024-03-30 · 1 min · Xue Chao
this is a post image

CFD and Machine Learning Part 2: A Slightly More Complex Model - Chapter 1. Introduction

Abstract In this project: A slightly more complex model was designed, with two physical phenomena: heat transfer and convection. The model’s geometric parameters and physical boundary conditions can be altered within certain ranges. This article provides a detailed description of the model. The model includes multiple adjustable parameters, and to study the behavior of specific variables across different ranges, distinct value ranges were established. The sweep study was conducted using the Design Manager feature of Star-CCM+....

2024-03-24 · 3 min · Xue Chao
this is a post image

CFD与机器学习(2)一个稍微复杂一点的模型:1.介绍

摘要 本项目: 设计了一个包含传热和对流两种物理现象的稍微复杂一点的模型, 该模型的形状尺寸参数和物理边界条件设置都可以在一定的范围内改变, 在这篇文章中对该模型进行了详细的描述, 该模型有着多个可变化的参数参数,同时为了研究特定变量在不同的取值范围的表现,约定了不同的取值范围, 使用Star-CCM+的Design Manager功能进行sweep研究, 使用java编程和Design Manager的sweep功能,计算了不同变量个数的dataset, 可以在后面的机器学习中进行试验, 希望通过对该模型描述的物理现象出发,对数据集进行基于物理理解的分析, 然后再进行机器学习,使用不同的模型进行拟合, 来评估不同拟合模型在不同数据集下的表现, 本章首先对该研究模型进行介绍。 软硬件资源 软硬件资源同之前文章中介绍。 模型 我们这次建立了一个稍微复杂一点的模型如下图所示: 模型由4部分构成: air heat plate resist air:流体域,进口速度为变量,温度为恒定。 heat:发热体,材料属性设置为铜,与plate之间有一个厚度为TH的resist,其长宽高分别是尺寸变量。 plate:不发热,材料属性设置为铁,其长宽为尺寸变量,其高度与heat保持一致。 resist: 不发热,材料属性中导热系数较小,Kresist=0.3 W/m-K. 该模型比之前的模型稍微复杂了一点,增加了heat与plate两个部件中的resist,主要描述的就是从heat这个部件发出一定的热量,大部分热量首先经过具有较小导热系数的resist,传递到plate上面,然后经过plate与air的对流换热散发到air中去,heat还有较少部分热量通过heat顶面与air直接对流换热。 该换热模型的变量一共有如下8个: H ——plate的宽, L ——plate的长, W ——plate的厚, H2 ——heat的宽, L2 ——heat的长, TH ——resist的厚, v_air ——空气的进口速度, heat ——heat的发热量。 下一步的准备 通过建立一个稍微复杂一点的传热和对流模型,可以对该模型有两条路线的研究: 使用机器学习的方法,以数据为出发点,探索数据之间的关系; 或者从物理现象出发,以物理学为出发点,探索数据之间的关系。 后面我们准备从简单到复杂,一点一点的分别从两个角度对该模型进行研究,更能清晰准确的理解和认识CFD和机器学习之间的关系。

2024-03-24 · 1 min · Xue Chao
this is a post image

CFD and Machine Learning Part 1: A Simple Heat Transfer Model

Abstract This project: Designed a simple model that includes both heat transfer and convection phenomena, where the shape, size parameters, and physical boundary conditions can be altered within a certain range Conducted a sweep study using the Design Manager feature of Star-CCM+. Utilized Java programming and the sweep functionality of Design Manager to compute 183,750 cases. Saved the input and output data of this model into a single dataset. Allowed for experiments in future machine learning....

2024-02-10 · 6 min · Xue Chao
this is a post image

CFD与机器学习(1)一个简单的模型

摘要 本项目: 设计了一个包含传热和对流两种物理现象的简单模型,该模型的形状尺寸参数和物理边界条件设置都可以在一定的范围内改变, 使用Star-CCM+的Design Manager功能进行sweep研究, 使用java编程和Design Manager的sweep功能,计算了183,750个算例, 将该模型的输入和输出数据保存成一个单独的数据集, 可以在后面的机器学习中进行试验, 最终通过对数据集进行机器学习,得到了一个神经网络模型,可以用来进行预测任意该模型在不同参数下的热表现。 验证了如果有足够的数据,就可以通过机器学习与工程应用结合进行研究,得出有价值的成果。 软硬件资源 软件: Star-CCM+ 3D-CAD Automation Design Manager Java Jupyter Notebook pandas numpy matplotlib pytorch 硬件: PC 6核以上CPU 8G RAM 独立显卡 模型 模型如下图所示: 模型由3部分构成: heat plate air heat:发热体,材料属性设置为铜,与plate紧密连接在一起,之间没有热阻。其长宽高分别是尺寸变量。 plate:不发热,材料属性设置为铁,其长宽为尺寸变量,其高度与heat保持一致。 air:流体域,进口速度为变量,温度为恒定。 该简单的模型主要描述的就是从heat这个部件发出一定的热量,大部分通过与plate接触传到到plate上面,然后经过plate与air的对流换热散发到air中去,heat还有较少部分热量通过heat顶面与air直接对流换热。 该换热模型的变量一共有如下7个: H ——plate的宽,范围为[50,150]mm L ——plate的长,范围为[50,150]mm W ——plate的厚,范围为[5,20]mm H2 ——heat的宽,范围为[5,20]mm L2 ——heat的长,范围为[5,20]mm v_air ——空气的进口速度,范围为[5,20]m/s heat ——heat的发热量,范围为[1,20]w 数据集 该数据集可以在如下地址下载。 该数据集的名称解释如下: Design# :Star-CCM+中的设计编号 “Name” :Star-CCM+中的DM单次计算顺序 “T_d” :空气的进出口温差 “T_inlet (C)” :空气进口温度 “T_outlet (C)” :空气出口温度 “energy_out” :根据空气进出口温差计算的空气通过对流带走的热量 “heatT (C)” :heat的平均温度 “mass (kg/s)” :空气的质量流量 “Performance” :DM对单次设计的性能评价,我们只是通过Sweep功能来收集数据,该项没有意义。 “H (mm)” :plate的宽 “H2 (mm)” :heat的宽 “L (mm)” :plate的长 “L2 (mm)” :heat的长 “W (mm)” :plate的厚 “Wair (mm)” :为模型中air的高度,设置为常量 “heat” :heat的发热量 “v”:空气的进口速度 机器学习 将数据集导入notebook并且做一些处理,选取我们主要的输入和输出:...

2024-02-10 · 2 min · Xue Chao