输入参数设计的核心理念 BOUT++框架通过模块化设计实现了物理问题研究与数值计算的解耦。这一设计允许研究人员专注于物理模型的构建,仅需修改example目录下的模块即可开展研究,具体实现方式如下: 核心库独立编译: libbout++.a(主功能库) libpvode.a(数值求解器) libpvpre.a(预处理模块) 物理模块动态编译:用户物…
eigenbox代码 原eigenbox的代码如下: int init(bool restarting) { solver->add(f, "f"); solver->add(g, "g"); return 0; } int rhs(BoutReal t) { mesh->communicate(f); ddt(g) = D2DX…
本文章主要解答的问题是,为什么度规$g_{ij},g^{ij}$可以表达一个曲线坐标系的细节,以及与$\nabla$算符相关的表达式是如何在曲线坐标中推导和表达出来的。
曲线坐标系
如下图所示,为一个曲线坐标系在某一点的几何形式:
其中数学定义为…
安装时的依赖 尽管文档bout5官网文档 对于BOUT5.1.1的python依赖并没有作要求,但是CMake在检测到系统存在python时会尝试使用一些包,如果没有这些包则会报错。报错内容是: ModuleNotFoundError: No module named 'jinja2' 此时需要手动安装python环境,推荐miniconda或an…