动力学.jl

动力学是用朱莉娅编写的计算流体动力学工具箱。基于微分规划,将机械模型和神经网络模型融合在一个统一的框架中进行求解。可以在CPU和GPU上同时进行1-3维数值模拟。

生态系统遵循模块化设计理念。根据具体的用例,将主模块划分为可移植组件,以减少LLVM引起的延迟即时编译器:

适用范围

从粒子传输的角度对流体动力学问题进行动力学建模和模拟。任何不同粒子的平流-扩散型方程,包括分子、光子、等离子体、中子等,都可以在这个框架内求解。特别关注了希尔伯特的第六个问题,即在两个粒子之间建立数值通道气体动力学理论例如波尔兹曼方程和连续介质力学,例如欧拉和纳维尔斯托克斯方程。当前支持的模型和方程的部分列表包括:

  • 线性玻尔兹曼方程
  • 非线性玻尔兹曼方程
  • 多分量玻尔兹曼方程
  • 福克-普朗克-朗道方程
  • 直接模拟蒙特卡罗
  • 对流扩散方程
  • 伯格方程
  • 欧拉方程
  • Navier-Stokes方程
  • 由渐近展开得到的扩展流体动力学方程
  • 磁流体动力学方程
  • 麦克斯韦方程组

设计理念

代码层次结构设计得尽可能直观和整洁。它致力于为动力学理论的教育应用提供友好的界面,并为科学研究提供丰富的功能。得益于Julia编程语言,我们提供不同级别的API,以允许用户专注于物理,并与Julia生态系统中的现有软件包合作。

有什么新功能?

有限体积法是一种行之有效的模拟守恒定律的方法。与现有的开源软件相比,例如。开放式泡沫,SU2公司夹紧装置,Kinetic通过以下几点保持新颖性:

  • 100%Julia堆栈不会遇到双语问题
  • 动力学理论和相空间方程的综合支持
  • 轻量级设计,确保二次开发的灵活性
  • 与科学机器学习紧密耦合

如何获得帮助?

如果你对使用Kinetic感兴趣,或者正在试图弄清楚如何使用它,请随时联系并提出问题。如果您有问题、建议或解决方案,请打开问题或拉取请求。