Python火焰锋动力学和浅水表面波浪偏微分方程

🎯要点

🎯流图可视化正弦余弦矢量场 | 🎯解空间变化边界条件二维拉普拉斯方程 | 🎯解圆柱坐标系标量场 | 🎯解一维泊松方程 | 🎯解二维扩散方程 | 🎯解火焰锋的动力学偏微分方程 | 🎯解球对称几何偏微分方程 | 🎯解笛卡尔网格扩散方程 | 🎯解时间相关边界条件一维扩散方程 | 🎯解浅水表面波浪偏微分方程 | 🎯解空间耦合疾病传播偏微分方程模型 | 🎯化学自催化反应的理论模型 | 🎯解在空间扩散方程 | 🎯解量子力学波函数偏微分方程

📜微分方程 | 本文 - 用例

📜数学模型:Python流感常微分方程房室数学模型

📜图计算和算法:Python流感传播感染康复图模型计算和算法

📜水文模型:Python流体数据统计模型和浅水渗流平流模型模拟

在这里插入图片描述

🍇Python三个维度扩散方程

偏微分方程是具有多个独立变量、依赖于这些变量的未知函数以及未知函数关于独立变量的偏导数的方程。

通常样式为:
A ∂ 2 u ∂ x 2 + B ∂ 2 u ∂ x ∂ y + C ∂ 2 u ∂ y 2 + D ∂ u ∂ x + E ∂ u ∂ y + F u = G A \frac{\partial^2 u}{\partial x^2}+ B \frac{\partial^2 u}{\partial x \partial y}+ C \frac{\partial^2 u}{\partial y^2}+ D \frac{\partial u}{\partial x}+ E \frac{\partial u}{\partial y}+ F u= G Ax22u+Bxy2u+Cy22u+Dxu+Eyu+Fu=G
通过仅考虑前三个系数 A B 和 C,我们可以确定我们正在处理什么方程或我们正在解决什么问题。

如果 B 2 − 4 A C < 0 B^2-4 A C<0 B24AC<0,我们有一个椭圆偏微分方程,为拉普拉斯方程:
∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 = 0 \frac{\partial^2 u}{\partial x^2}+\frac{\partial^2 u}{\partial y^2}=0 x22u+y22u=0
该方程的两个导数是空间 x 2 x^2 x2 y 2 y^2 y2的导数,没有时间导数。

如果 B 2 − 4 A C > 0 B^2-4 A C>0 B24AC>0,则我们有双曲偏微分方程,为波动方程:
∂ 2 u ∂ t 2 = ∂ 2 u ∂ y 2 \frac{\partial^2 u}{\partial t^2}=\frac{\partial^2 u}{\partial y^2} t22u=y22u
如果 B 2 − 4 A C = 0 B^2-4 A C=0 B24AC=0,则我们有抛物线偏微分方程,为扩散方程:
∂ u ∂ t = ∂ 2 u ∂ y 2 \frac{\partial u}{\partial t}=\frac{\partial^2 u}{\partial y^2} tu=y22u
尽管计算机非常擅长数学,但它们不懂微分方程。为了告诉计算机求解微分方程,我们需要对方程进行离散化。即:
U = u ( x , y ) U = u ( x , y ) U=u(x,y)
x x x 表示的部分展开式为
u ( x + Δ x , y ) = u ( x , y ) + Δ x ∂ u ∂ x + ( Δ x ) 2 2 ∂ 2 u ∂ x 2 + … u(x+\Delta x, y)=u(x, y)+\Delta x \frac{\partial u}{\partial x}+\frac{(\Delta x)^2}{2} \frac{\partial^2 u}{\partial x^2}+\ldots u(x+Δx,y)=u(x,y)+Δxxu+2(Δx)2x22u+
通过丢弃二阶项,我们最终将得到一个非常近似的公式:
∂ u ∂ x ≈ u ( x + Δ x , y ) − u ( x , y ) Δ x \frac{\partial u}{\partial x} \approx \frac{u(x+\Delta x, y)-u(x, y)}{\Delta x} xuΔxu(x+Δx,y)u(x,y)
这是一个著名的欧拉方法,在常微分方程中可以看到。在某些有限差分中,它被称为前向差分。

📜流体力学电磁学运动学动力学化学和电路中欧拉法示例:Python重力弹弓流体晃动微分方程模型和交直流电阻电容电路

看一下下面的例子:
h = Δ x u i , j = u ( x i , y j ) u i + 1 , j = u ( x i + h , y j ) \begin{aligned} & h=\Delta x \\ & u_{i, j}=u\left(x_i, y_j\right) \\ & u_{i+1, j}=u\left(x_i+h, y_j\right) \end{aligned} h=Δxui,j=u(xi,yj)ui+1,j=u(xi+h,yj)
正向差分是:
( ∂ u ∂ x ) = 1 h [ u i + 1 , j − u i , j ] + O ( h ) \left(\frac{\partial u}{\partial x}\right)=\frac{1}{h}\left[u_{i+1, j}-u_{i, j}\right]+O(h) (xu)=h1[ui+1,jui,j]+O(h)
通过查看正向差分公式,我们注意到正向差分是通过当前步骤 u i , j u _{ i , j } ui,j 减去下一步 u i + 1 , j u _{ i +1, j} ui+1,j​ 得出的。直观上,我们可以想到反向差分。
( ∂ u ∂ x ) = 1 h [ u i , j − u i − 1 , j ] + O ( h ) \left(\frac{\partial u}{\partial x}\right)=\frac{1}{h}\left[u_{i, j}-u_{i-1, j}\right]+O(h) (xu)=h1[ui,jui1,j]+O(h)
中间差分:
u ( x + Δ x , y ) − u ( x − Δ x , y ) = 2 Δ x ∂ u ∂ x + ( Δ x ) 3 2 ∂ 3 u ∂ x 3 + … u(x+\Delta x, y)-u(x-\Delta x, y)=2 \Delta x \frac{\partial u}{\partial x}+\frac{(\Delta x)^3}{2} \frac{\partial^3 u}{\partial x^3}+\ldots u(x+Δx,y)u(xΔx,y)=xxu+2(Δx)3x33u+

∂ u ∂ x ≈ u ( x + Δ x , y ) − u ( x − Δ x , y ) 2 Δ x \frac{\partial u}{\partial x} \approx \frac{u(x+\Delta x, y)-u(x-\Delta x, y)}{2 \Delta x} xuxu(x+Δx,y)u(xΔx,y)

最终得到公式:
( ∂ u ∂ x ) i , j = 1 2 h [ u i + 1 , j − u i − 1 , j ] + O ( h 2 ) \left(\frac{\partial u}{\partial x}\right)_{i, j}=\frac{1}{2 h}\left[u_{i+1, j}-u_{i-1, j}\right]+O\left(h^2\right) (xu)i,j=2h1[ui+1,jui1,j]+O(h2)
一维扩散计算代码:

import numpy as np
from matplotlib import pyplot as pltL = 100x = np.linspace(0, 1, L)
u = np.zeros(L)u[L//2] = 1  
u[0] = 0
u[L-1] = 0for t in range(100):for i in range(1, L-1):u[i] += (u[i+1] - 2*u[i] + u[i-1])/4fig, ax = plt.subplots(figsize=(20,10))
ax.axis('off')
ax.scatter(x,u, linewidth=15, c=u, cmap='jet')
plt.show()

二维扩散计算代码:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import animation
import seaborn as sns
sns.set()T = 400
u = np.zeros((100,100))
u[30,20] = 1fig, ax = plt.subplots(figsize=(20,10))
ax.axis('off')
plot = ax.contourf(u, cmap='jet')
def ans(f):global u, plotfor j in range(100):for i in range(1,99):u[i,j] += (u[i+1,j] + u[i,j+1] + u[i-1,j] + u[i,j-1] - 4*u[i,j])/4for c in plot.collections:c.remove()plot = ax.contourf(u, cmap='jet')return plotanim = animation.FuncAnimation(fig, ans, frames=T)
plt.show()

👉参阅:计算思维 | 亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql Server配置

MySQL服务器mysqld有许多命令选项和系统变量&#xff0c;可以在启动时设置这些选项和变量来配置其操作。要确定服务器使用的默认命令选项和系统变量值&#xff0c;请执行以下命令&#xff1a; $> mysqld --verbose --help 该命令生成所有mysqld选项和可配置系统变量的列表…

计算机网络 MAC地址表管理

一、理论知识 1.MAC地址表&#xff1a;交换机使用MAC地址表来记录各MAC地址对应的端口&#xff0c;用于帧转发的目的。 2.老化机制&#xff1a;交换机会为每一条MAC地址表项设置老化时间&#xff0c;老化时间到期后未收到该MAC地址报文的表项将被删除&#xff0c;释放资源。 …

【自动驾驶】通过下位机发送的加速度、角速度计算机器人在世界坐标系中的姿态

文章目录 原始代码全局变量定义逆平方根函数四元数解算函数理论解释四元数加速度计数据归一化计算方向余弦矩阵的第三行计算误差计算并应用积分反馈应用比例反馈积分陀螺仪数据,更新四元数归一化四元数更新姿态数据整体流程原始代码 #define SAMPLING_FREQ 20.0f // 采样频率…

适用于轨道交通专用的板卡式网管型工业以太网交换机

是网管型 CompactPCI板卡式冗余环网交换机。前面板带有6个 10/100/1000Base-T(X)M12接口。后面的CPCI接口有 8个10/100/1000Base-T (X) 以太网接口。 是特别为轨道交通行业EN50155标准要求而设计的坚固型交换机。它同时具有以下特性&#xff1a; ● 支持2线以太网距离扩展端口&…

LeetCode 16.最接近的三数之和(C++)

链接 https://leetcode.cn/problems/3sum-closest/description/ 题目 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例1 输入&a…

五十四、openlayers官网示例LineString Arrows解析——在地图上绘制箭头

官网demo地址&#xff1a; LineString Arrows 这篇介绍了在地图上绘制箭头。 创建一个矢量数据源&#xff0c;将其绑定为draw的数据源并展示在矢量图层上。 const source new VectorSource();const vector new VectorLayer({source: source,style: styleFunction,});map.ad…

真实还原汽车引擎声浪——WT2003Hx语音芯片方案

PART.01 产品市场 WT2003Hx是一款高性能的MP3音频解码芯片&#xff0c;具有成本效益、低功耗和高可靠性等特点&#xff0c;适用于多种场景&#xff0c;包括但不限于汽车娱乐系统、玩具、教育设备以及专业音响设备等。在模拟汽车引擎声的应用中&#xff0c;这一芯片的特性被特…

物联网技术里的边缘计算是什么?

物联网离不开云计算&#xff0c;但云计算有时会有一些问题&#xff0c;比如带宽不足和可能出现的高延迟&#xff0c;这些都给实时数据处理带来了麻烦。为了解决这个问题&#xff0c;现在很多公司开始关注边缘计算这个技术。 那什么是边缘计算呢&#xff1f;简单来说&#xff0…

NumPy2.0近期更新导致用不了

问题 A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with ‘pybind11>2.12’. …

关于on_listWidget_currentItemChanged问题

今天遇到了一个问题&#xff0c;我子界面和主界面各有一个qlistwidget&#xff0c;然后点击item需要执行一些业务逻辑&#xff0c;在测试时发现软件崩溃&#xff0c;通过断点发现是主界面的槽被触发了。 为什么我点击的是子界面的qlistwidget&#xff0c;却也触发了主界面的槽…

五十三、openlayers官网示例Layer Spy解析——跟随鼠标透视望远镜效果、图层剪裁

官网demo地址&#xff1a; Layer Spy 这篇实现了鼠标跟随望远镜效果&#xff0c;鼠标移动时绘制一个圆形的剪裁区剪裁上层图层。 container.addEventListener("mousemove", function (event) {mousePosition map.getEventPixel(event);map.render();});container.a…

28.建议和纠错

创建ByteBuf建议 特别说明&#xff1a; 之前创建的ByteBuffer都是&#xff1a; ByteBuf buffer ByteBufAllocator.DEFAULT.buffer(10); //默认获取的是直接内存 这样创建只是自己写一些测试练习使用。 真正项目开发中&#xff0c;还是建议在handler中的创建&#xff1a;在服…

【windows|009】计算机网络基础知识

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 ​ &#x1f3c5;阿里云ACE认证高级工程师 ​ &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社…

SAP AI Copilot Joule有可能是对SAP顾问的王炸

本月初在奥兰多举行的SAP蓝宝石大会&#xff0c;按照惯例SAP蓝宝石大会是SAP宣传SAP最新战略和技术的大会&#xff0c;所以火热的AI话题是重中之重&#xff0c;包括请了黄仁勋来站台。刚开始我也没有太在意&#xff0c;认为会是一场普通的大会。对于AI&#xff0c;虽然很火但是…

将 Aira2 集成到 Go项目中

介绍 Aria2 简介 Aria2 是一个轻量级的、跨平台的命令行下载工具&#xff0c;具有强大的多连接、多协议支持&#xff0c;以及灵活的任务控制功能。它可以同时从 HTTP、HTTPS、FTP、BitTorrent 和磁力链接等来源下载文件&#xff0c;并支持断点续传&#xff0c;可以在下载过程…

代码评审——Java占位符%n的处理

问题描述 在软件开发项目中&#xff0c;特别是在处理动态内容生成与呈现至前端界面的过程中&#xff0c;正确运用占位符以确保文本完整性和数据准确性显得尤为重要。不当的占位符管理不仅可能导致语法错误或逻辑混乱&#xff0c;还会引发一系列隐蔽的问题&#xff0c;这些问题…

PHP序列化基础概念:深入理解数据存储与传输

PHP序列化是一个关键概念&#xff0c;它允许开发者将复杂的数据结构&#xff08;如对象、数组等&#xff09;转换为可存储或可传输的字符串格式。以下是关于PHP序列化基础概念的深入理解&#xff1a; 序列化的定义与目的 定义&#xff1a;序列化是将数据结构或对象状态转换为可…

ASP.NET Core 6.0 多种部署方式

IIS 环境准备和部署 安装并配置 IIS 安装 IIS&#xff0c;在搜索输入并打开 启用或关闭 Windows 功能。 配置IIS 需要配置 ASPNETCore 部署IS 程序包安装 &#xff08;ASP.NET Core Module v2&#xff09; Download .NET 6.0 (Linux, macOS, and Windows).NET 6.0 downloads…

人工智能如何助力人才招聘方式改变

尽管全球经济不稳定&#xff0c;但在当今的就业市场上&#xff0c;招聘顶尖人才仍然竞争激烈&#xff0c;企业很难找到优质人才。明智的人才招聘团队会将人工智能融入日常招聘流程当中&#xff0c;借助人工智能工具或智能招聘系统&#xff08;如大易招聘管理系统&#xff09;&a…

Kafka第一篇——内部组件概念架构启动服务器zookeeper选举以及底层原理

目录 引入 ——为什么分布式系统需要用第三方软件&#xff1f; JMS 对比 组件 架构推演——备份实现安全可靠 &#xff0c; Zookeeper controller的选举 controller和broker底层通信原理 BROKER内部组件 ​编辑 topic创建 引入 ——为什么分布式系统需要用第三方软件&#…