Energy-Stable Scalar Auxiliary Variable Schemes for Gradient Flows: Long-Time Stability and Error Estimates
Zhaoqing Xu et al.
Journal of Computational Physics · under review
PhD Candidate · Computational Mathematics · University of South Carolina
我是 Zhaoqing Xu——在 UofSC 读计算数学博士,同时担任本科生课程 Instructor。 白天为 PDE 设计保结构、保能量的离散格式;夜里写点算法之外的东西:随笔、七言、 以及羽毛球飞行轨迹里的空气动力学。这个页面同时容纳这两半——用右上角的 Mode 切换视角。 正式学术信息见 Academic Site ↗。
➜ ~ whoami
computational mathematician / instructor / perpetual student
➜ ~ cat focus.now
Structure-Preserving Algorithms
➜ ~ python cfl_lab.py --scheme upwind
stable · ‖u‖∞ = 0.998 · energy preserved
§ 01 / Research & Math — 严谨的那一半
我的研究围绕数值分析展开:为偏微分方程设计高效且保结构的离散格式—— 让能量、辛结构、不可压约束这些连续世界的性质,在离散之后依然成立。
下方论文条目为占位模板,请替换为真实成果;完整列表见 www.zhaoqingxu.com ↗
2021.08 — 2027.05 current
PhD in Computational Mathematics
University of South Carolina · Instructor of Record
2017.09 — 2021.06
MS / BS in Mathematics
Southern University of Science and Technology (SUSTech)
Zhaoqing Xu et al.
Journal of Computational Physics · under review
Zhaoqing Xu et al.
Computer Methods in Applied Mechanics and Engineering
Zhaoqing Xu
In Proc. SIAM Conference on Computational Science and Engineering
§ 01.b / Math & Method — 硬核审美
好的数值格式不是"把导数换成差商"这么简单——它是把连续世界的对称性搬到网格上。 下面三块是我日常打交道的核心工具。 公式由 KaTeX 渲染;若 CDN 不可达,则回退为等宽 Unicode 文本。
算法思想 用平均向量场替代梯度,链式法则就退化成一个代数恒等式。于是 H(uₙ₊₁) = H(uₙ) 不是"近似成立",而是每一步严格成立——跑十万步也不会能量漂移。
算法思想 把时间导数放在半步中点上,对称性换来二阶精度 + A-稳定: 步长不再被 Δt ≲ Δx² 掐住脖子。 代价是每步解一个线性系统——这通常是划算的交易。
算法思想 梯度流的非线性项是稳定性分析的噩梦。SAV 把非线性能量藏进一个标量 ODE, 格式立刻变成线性、二阶,且修正能量严格耗散。相场、液晶、两相流都靠它。
§ 01.c / Live experiment — 在浏览器里积分一个 PDE
一维线性对流方程 ∂ₜu + a·∂ₓu = 0, 周期边界,高斯波包初值。拖动 Δt 改变 ν = aΔt/Δx, 看 CFL 条件 |ν| ≤ 1 被打破的瞬间。 纯 Canvas 手写,无第三方库。
按 Run 开始积分 · 默认 ν=0.60 稳定,把 Δt 推过 0.0040 就会跨过 CFL 极限
为什么值得玩 Upwind 在 0 ≤ ν ≤ 1 时单调稳定,但耗散——波包会越跑越矮; Lax–Wendroff 二阶、几乎不耗散,却在 ν > 1 时指数爆炸; FTCS 无论如何都不稳定。这就是数值格式的性格:精度、稳定性、单调性不可兼得。
§ 02 / Essays & Perspectives — 生动的那一半
算法之外,我也写跨界思考、技术杂谈与一些不成体系的哲学。 每篇都重写过好几遍——如果它值得被读,就值得被打磨。
同一个变换,在数学系叫收敛性分析,在信号系叫滤波,在图形学叫抗锯齿,在我姥姥眼里叫"把糊的照片修清楚"。 这篇文章想说的是一件小事:工具的抽象层级,决定了你能看见什么样的世界。
模型一秒能吐出三个证明思路,我却越来越难安静地想满二十分钟。 这不是自制力问题,是反馈周期被压缩后的认知代偿。我给自己开了三张处方。
一个软件把什么放在首屏,就是它认为你该在乎什么。 推而广之:你的仪表盘、你的笔记结构、你的日程表,都是你悄悄写给自己的哲学宣言。
一个局部截断误差更小、却慢慢漏能量的格式,跑一万个周期后会给你一条物理上根本不存在的轨道。 这是数值分析教给我的第一堂人生课:长期的结构正确,胜过短期的数值漂亮。
博客是出版物,花园是苗圃。允许自己种下永远长不大的种子, 反而让写作重新变成一件不需要辩护的事。
当前视角下没有文章。
§ 03 / Digital Garden & Fragments — 灵感切片
不设限的日常记录:一两句摘录、书影音、羽毛球里的空气动力学、 半夜写的七言、以及只对我自己有用的想法。它们会继续生长。
spark
数值格式的优雅,不在于误差有多小,
而在于它记住了连续世界忘记的事。
运动动力学随想
羽毛球大概是唯一一项空气阻力主导一切的球类:杀球初速可超 300 km/h,落地时不到 30。它的方程我百看不厌——
阻力与速度平方成正比、方向恒反向,于是球头总会自动翻向前方——一个不需要控制论的姿态稳定器。下次打球时我想用高速摄影量一下翻转时间常数。
七言 · 未完成
格点千行藏日月
差分一步渡关山
能量不随长夜散
灵感偏生乱码间
reading
重读《Gödel, Escher, Bach》第三章:"递归不是技巧,是宇宙讲笑话的方式。"我在页边写了整整一页,然后合上书出去走了很久。
Douglas Hofstadter · GEB
snippet · 八行辛积分器
# leapfrog (kick–drift–kick):辛的,能量不漂
def leapfrog(q, p, dt, n, grad_V):
for _ in range(n):
p -= 0.5 * dt * grad_V(q) # 半步踢
q += dt * p # 整步漂
p -= 0.5 * dt * grad_V(q) # 半步踢
return q, p
film
重看《Blade Runner 2049》。结论:雾是一种叙事装置——它替导演决定观众此刻能知道多少。
quote
The purpose of computing is insight, not numbers.— Richard Hamming
thought
复杂系统最迷人的地方:局部最优的叠加,往往产生全局的荒谬。每次读组织架构都像在读一篇寓言——也和读一个坏格式的稳定性分析很像。
teaching log
本周批了 43 份作业,第 7 题的错误高度集中在同一个符号上。学生不是不会——是被教材的记号误导了。下周我打算先把 ∂u/∂t 和 du/dt 的区别画成两张图,再讲格式。
Instructor of Record · 教学相长
on repeat
深夜推公式的固定配乐:Glenn Gould 的《Goldberg Variations》1981 版。慢得离谱,却刚好跟得上思路——速度是理解的敌人,节奏才是朋友。
seed
能不能把 SAV 的思路搬到神经 ODE 的时间离散化上?让训练过程也严格耗散某个"修正能量"……先记下来,等这轮 deadline 过去再碰。
lyrics · 草稿
我们把连续的世界切成格子,
却忘了格子之间,也有风。
误差不是失败,是世界拒绝被完全描述的方式。
《离散的风》· 副歌未定稿
花园共 12 条可见切片,另有 40+ 条私有草稿在慢慢发酵。
当前视角下没有切片。
§ 04 / Side Projects & Sandbox — 数字实验室
不为 KPI 做的东西:数值玩具、AI 尝试、可视化工具与开源碎片。 它们大多不完美,但每一个都教会了我一件事。
除 cfl-lab(本页 §01.c 可直接运行)外, 下方仓库链接均为占位——发布前请替换为真实地址,或删除对应卡片。
本页 §01.c 的实验台:约 200 行原生 JS + Canvas,实时积分一维对流方程,四种格式、可调 Δt,直接把 CFL 条件画给你看。
AI 论文速读器:把一篇 PDF 蒸馏成 claim / evidence / gap 三段结构,并标出作者没有明说的假设。
零依赖频域可视化:麦克风输入 → FFT → Canvas 水墨频谱。约 6 KB,gzip 后更小。
把一堆 Markdown 碎片编译成数字花园的静态生成器:双链、成熟度、RSS 一条龙。上面那面便签墙就是它喂的。
用马尔可夫链喂唐诗宋词生成"现代诗"。结果常常滑稽,偶尔惊人——这是我第一次认真对待随机性,也是数学与直觉的第一次和解。
深色优先的设计令牌集合(本站同款思路):颜色、间距、字号、动效曲线,全部用 CSS 变量表达。
当前视角下没有项目。
§ 05 / Contact — 一起聊点什么
学术合作、报告邀请、对某个格式的异议,或者只是想聊聊羽毛球与空气动力学——都欢迎。 我最喜欢那种"我读完了,但我不太同意"的邮件。