当前位置: 首页 > news >正文

/Users/yan/Downloads/boris_ImplicitDiffusion_1D_AD.jl

# Implicit steady-state diffusion code using a # residual approach and automatic differentiation using GLMakie using ForwardDiff function compute_q!(q, T, k, Δx) for i in eachindex(q) q[i] = -k[i]*(T[i+1] - T[i])/Δx end return nothing end function residual_T_implicit(Tnew, T, cp, rho, k, Δt, Δx) N = length(T) R = zeros(eltype(Tnew), N) q = zeros(eltype(Tnew), N-1) compute_q!(q, Tnew, k, Δx) for i in 2:length(T)-1 R[i] = cp[i]*rho[i]*(Tnew[i]-T[i])/Δt*0 + (q[i] - q[i-1])/Δx #R[i] = (q[i] - q[i-1])/Δx end # BCs # T[1] = 0.0 # T[end] = 1000.0 R[1 ] = Tnew[1 ] - 0.0 R[end] = Tnew[end] - 1000.0 return R end function main() L = 10000 # length of domain in m n = 100; # number of gridpoints nt = 1000; # number of time steps x = range(0,L, length=n) T = zeros(n) # temperature array Tnew= zeros(n) # new temperature array for PT iterations R = zeros(n) # residual array k = fill(3.0, n-1) # thermal conductivity [W/m/K] #k[1:50] .= 1.5 #k[51:end] .= 3.5 rho = fill(3000, n) # density cp = fill(1000, n) # heat capacity [W/kg/K] Δx = x[2] - x[1] # grid spacing Δt_stable = 0.5*(minimum(rho.*cp) * Δx^2)/ maximum(k) Δt = Δt_stable*1e6 #Δt = 3600*24*365.25*200 T[1] = 0.0 T[end] = 1000.0 Tnew .= T fig,ax,li = lines(x/1e3,T, axis=(xlabel="x [km]", ylabel="T [C]")) # ForwardDiff requires functions of the form R = res(x), or res!(R,x) # It cannot deal with functions like res(x,a,b,c,d), or res!(R, x,a,b,c,d) # So how do we solve this?? # => by using anonymous functions in julia # # res1 = x -> res(x,a,b,c,d) # res2 = (R,x) -> res!(R, x,a,b,c,d) # res1(x) res_T = Tnew -> residual_T_implicit(Tnew, T, cp, rho, k, Δt, Δx) for itime = 1:1 J = ForwardDiff.jacobian(res_T, Tnew) R = res_T(Tnew) ΔT = J\-R Tnew = T + ΔT T .= Tnew if itime % 100 == 0 lines!(ax, x/1e3,T, color=:black) end end lines!(ax, x/1e3,T, color=:black) display(fig) end main()
http://www.jsqmd.com/news/477407/

相关文章:

  • Compound 5| Compound的技术架构
  • AI提示词注入
  • Gemini PT-2D
  • 库早报|OPPO:无感折痕屏背后有两项3D打印技术;威拉里三期项目开工;五轴3D打印机TOP.E R1将亮相TCT亚洲展
  • 性价比高的铝方通哪个靠谱
  • 基于电压电流双闭环和模糊PID双环的VIENNA整流器仿真研究
  • 2026年,宁夏装修公司推荐哪家?业主实测top3家正规机构,装修小白不踩坑,附避坑指南! - 宁夏壹山网络
  • 电力弹簧主动配电网规划及优化运行调度策略探讨
  • 2026养发加盟项目怎么选?新手创业实用指南 - 品牌排行榜
  • 2026年七大闷声赚钱的AI技能
  • Deep Seek总结的APSW 和 SQLite 的关系
  • 部分视图 PartialView的详细介绍与经典用法
  • 一次性说清楚restTemplate如何使用1
  • 基于Zynq UltraScale+的FLASH固化问题记录
  • VSAR 软件 XCP/CCP 在线与离线测量操作指南
  • 矿用本安型全景雷达物位扫描仪的应用
  • AI重构小家电:恒享花有限公司与海尔在AWE以标准引领服务展示先行者的“新逻辑”与“慢功夫” - 博客湾
  • 基于 Anthropic SDK 实现 Token 统计与模型分流:原理、实践与代码示例
  • LangChain与LangGraph:让大模型开发更简单,小白也能轻松掌握(收藏必备)
  • IACheck助力食品接触材料检测报告审核:AI报告审核确保纸制品迁移量数据精准可靠
  • 马行为检测数据集470张VOC+YOLO格式
  • UniApp+Vue3集成DeepSeek AI聊天实战
  • 2026比表面积仪厂家推荐及核心技术解析 - 品牌排行榜
  • 收藏!985硕士斩获百度大模型岗,30k×16年薪近50万,小白/程序员必看
  • 求职招工招聘找活名片信息分类同城工地招工网站源码tp框架多端适配自定义样式模版切换.
  • 2026比表面积仪厂商技术实力盘点:聚焦精准分析解决方案 - 品牌排行榜
  • Openclaw小龙虾调研报告与实战
  • 建筑蓝色天棚检测数据集1184张
  • CY0256换电柜电源为您报价护航
  • 2026年多球面组合防腐防锈,优质厂家推荐,国内多球面组合排行技术实力与市场典范解析 - 品牌推荐师