【数据分析】基于Koopman理论与谱模型降阶思想的多种湍流自然流动与工程流动的随机数据驱动降阶模型附matlab代码

发布时间:2026/5/15 16:19:07

【数据分析】基于Koopman理论与谱模型降阶思想的多种湍流自然流动与工程流动的随机数据驱动降阶模型附matlab代码 ​✅作者简介热爱科研的Matlab仿真开发者擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。完整代码获取 定制创新 论文复现点击Matlab科研工作室 关注我领取海量matlab电子书和数学建模资料个人信条做科研博学之、审问之、慎思之、明辨之、笃行之是为博学慎思明辨笃行。 内容介绍一、引言湍流是自然界和工程领域中普遍存在的复杂流动现象对其进行准确模拟和分析对于理解物理过程、优化工程设计至关重要。然而直接数值模拟DNS湍流需要巨大的计算资源在实际应用中往往难以实现。因此发展高效的降阶模型成为湍流研究的重要方向。基于 Koopman 理论与谱模型降阶思想的数据驱动降阶模型为解决这一难题提供了新的途径。二、Koopman 理论基础一Koopman 算子定义二Koopman 模态分析构建观测函数选择合适的观测函数 φ(x)例如速度分量、涡量等物理量的函数。通过对观测函数在不同时刻系统状态上的取值构建 Koopman 矩阵的近似表示。特征值与特征函数计算利用数据驱动的方法如 Dynamic Mode DecompositionDMD计算 Koopman 算子的近似特征值和特征函数。DMD 通过对数据矩阵进行奇异值分解等操作快速估计 Koopman 模态。这些模态反映了湍流流动中的各种动态模式如大尺度涡旋结构的演化、小尺度耗散过程等。三谱降阶与模型构建结合谱降阶方法将 Koopman 模态分析与谱降阶思想相结合利用 POD 等方法对 Koopman 模态进行进一步筛选和降维。POD 可以帮助我们找到对系统能量贡献最大的 Koopman 模态组合去除那些对系统动态影响较小的模态从而构建更加精简的降阶模型。降阶模型推导基于保留的 Koopman 模态推导降阶模型的动力学方程。通过将原始湍流系统的动力学投影到由这些模态张成的低维空间得到关于投影系数 z(t) 的常微分方程组。这些方程描述了降阶模型在低维空间中的演化能够以较小的计算成本近似模拟原始湍流系统的主要动态特性。⛳️ 运行结果 部分代码function [T,G,Y_0] SLICK(A, dt, nt_train, gamma1, gamma2, t_remove, shift, varargin )%% Stochastic Low-dimensional Inflated Convolutional Koopman model (SLICK)% Inputs:%% A: Convolutional expansion coeffcients obtained from tcoeffs(...)% dt: Time step% nt_train: Size of the training set% gamma 12: Ridge parameters for L2 regularization% t_remove: Removal of the first few snapshots; not necessary% shift: Starting point of the training set% Outputs:%% T: State transition matrix% G: De-whitening filter% Y_0: All the inflated state vectors% Reference:% [1] T. Chu, O. T. Schmidt, Stochastic reduced-order Koopman model% for turbulent flows. (Under preparation)% [2] T. Chu, O. T. Schmidt, A stochastic SPOD-Galerkin model for% broadband turbulent flows. Theoretical and Computational Fluid% Dynamics 35, no. 6 (2021): 759-782.% T. Chu (tchu72gatech.edu), O. T. Schmidt (oschmidtucsd.edu)% Last revision: 16-Sept-2024 Tianyi Chu tchu72gatech.edu%%Nf size(A,1);M_n size(A,2);nt size(A,3);if nargin 8data_type varargin{1};elsedata_type real;endif strcmpi(data_type,real)nDFT (Nf-1)*2;elseif strcmpi(data_type,complex)nDFT Nf;end%% Koopman approach for convolutional coordinates, Eqns(2.24-2.25)X reshape( permute(A(:,:,(1:nt_train-nDFT-1)nDFT/2),[2 1 3]),[],nt_train-nDFT-1);Y reshape( permute(A(:,:,(2:nt_train-nDFT)nDFT/2),[2 1 3]),[],nt_train-nDFT-1);K_0 Y*(X/(X*Xgamma1*speye((Nf)*M_n)) ) ;K1 (K_0-eye(length(K_0)))/dt;%% temporal derivativesB zeros(M_n*(Nf),nt);dbdt zeros(M_n*(Nf),nt);dadt zeros(M_n*(Nf),nt);A_1 reshape(permute(A,[2 1 3]),[],size(A,3));for it1:ntdisp([computing B from data at time step num2str(it) / num2str(nt)])if itnt-1dadt(:,it) (A_1(:,it1)-A_1(:,it))/(dt);B(:,it) (A_1(:,it1)-A_1(:,it))/(dt)-K1*A_1(:,it);dbdt(:,it) (A_1(:,it2)A_1(:,it)-2*A_1(:,it1))/(dt^2)-K1*(A_1(:,it1)-A_1(:,it))/(dt);elseif itntdadt(:,it) (3*A_1(:,nt)A_1(:,nt-2)-4*A_1(:,nt-1))/(2*dt);B(:,it) (3*A_1(:,nt)A_1(:,nt-2)-4*A_1(:,nt-1))/(2*dt)-K1*A_1(:,nt);dbdt(:,it) (-A_1(:,it)-A_1(:,it-2)2*A_1(:,it-1))/(dt^2)-K1*(3*A_1(:,nt)A_1(:,nt-2)-4*A_1(:,nt-1))/(2*dt);endend%% Inflated Koopman approach. Eqns(3.1-3.4) 参考文献Tianyi Chu Oliver T. Schmidt. 2025 Stochastic reduced-order Koopman model for turbulent flows.Proc. R. Soc. A. 481 (2323): 20250270. See here.更多免费数学建模和仿真教程关注领取

相关新闻