CFD2D是用于Linux的开源软件,用于求解任意二维域内的无量纲不可压缩Navier-Stokes方程(NSE),该二维域刻在具有Dirichlet和“不做任何事情”边界条件的单位正方形中。 空间离散化基于有限元方法(FEM),使用近似均匀的三角形网格。 提供了两种FE空间选择,分别是所谓的MINI元素和Taylor-Hood元素。 第一个元素由具有速度气泡的三次气泡函数的连续分段线性组成,第二个元素由连续分段线性组成。 在这两种情况下,都通过分段线性来近似压力场。 固定和时间相关的制度都支持。 提供了基本的绘图工具。 GMRES和CG迭代算法用于求解线性系统。 软件“ Triangle”用于网格生成。
2021-12-04 22:44:41 373KB 开源软件
1
CSP规则V2.1 基于模式的有限约束满足问题的通用求解器 1.什么是CSP规则? 有限的二进制约束满足问题(CSP)由一组有限的变量(以下称为CSP变量)定义,每个变量都具有一个有限的域。 问题是要为每个变量在其域中找到一个值,以使这些值满足一组预定义的二进制约束。 一个典型的流行例子是数独。 CSP-Rules是有限二进制CSP的基于常规模式(或基于规则)的求解器。 它包括拉丁方求解器,数独求解器,Futoshiki求解器,Kakuro求解器,地图着色问题的求解器,Hidato求解器,Numbrix求解器和Slitherlink求解器。 2.解决CSP的[PBCS]或CSP-Rules方法 在CSP-Rules方法中,将CSP-Variable的可能值称为候选者,并且通过两个候选者之间的直接矛盾链接(或简称为链接)来表示二进制约束。 CSP规则与CSP解决方法具有内在的联系,在我的《
1
具有完全GPU支持和O(1) - 内存反向传播的可区分ODE求解器
2021-12-03 11:33:18 677KB Python开发-机器学习
1
SATNet• 使用可区分的可满足性求解器桥接深度学习和逻辑推理。 这个软件库包含源代码重现实验中ICML 2019纸由, ,和。 什么是SATNet SATNet是可微分(平滑)的最大可满足性(MAXSAT)求解器,可以集成到较大的深度学习系统的循环中。 该(近似)求解器基于快速坐标下降法来求解与MAXSAT问题相关的半定程序(SDP)。 SATNet如何运作 SATNet层将已知MAXSAT变量的离散或概率分配作为输入,并通过权重为S的MAXSAT SDP弛豫输出未知变量的分配猜测。 下图显示了该层正向通过的示意图。 为了获得后向通行证,我们通过SDP松弛来进行分析区别(有关更多详细信息,请参见本文)。 实验概述 我们表明,通过将SATNet集成到端到端学习系统中,我们可以以最少的监督方式学习挑战性问题的逻辑结构。 特别是,我们表明我们可以: 使用单比特监督学习奇偶校验功能(传
2021-12-02 17:49:35 275KB Python
1
此提交是应请求编写的 - 作为处理线性最小二乘问题的工具,受可能存在秩不足的线性等式约束。 (当然,它也可以处理满秩约束的问题。)如果出现秩不足约束系统,它会测试约束的一致性。 我向 LSE 添加了一些其他功能: - 它允许最小二乘问题的多个右手边,当然完全矢量化。 - 可以提供重量。 - 您可以选择最小二乘解算器,反斜杠或 pinv。 LSE 解决问题(对于未知向量 x) argmin 范数(A*x - b) 受约束 C*x = d 例如,考虑随机系统A = rand(10,3); b = rand(10,1); 具有秩亏约束集C = [1 1 1;1 1 1]; d = [1;1]; X = lse(A,b,C,d) X = 0.5107 0.57451 -0.085212 验证是否满足约束 C*X 回答= 1 1 当指定 \ 时,列旋转用于从约束系统中消除变量,
2021-12-01 16:01:26 5KB matlab
1
二维稳态求解器,基于 SIMPLE 算法。 使用 10x10 交错网格。 采用盖子驱动的腔边界条件,但右手边的速度不为零。 如果您发现任何错误,请联系。 您可以根据自己的喜好添加任何可视化图。 轮廓非常粗糙(因为它是一个 10x10 的网格)。 网格可以做得更细,以获得更好的可视化。
2021-11-30 21:40:19 6KB matlab
1
一个简单的有限体积工具该代码是化学/石油工程师开发一种简单的工具来求解对流扩散方程的一般形式的结果: α∂ϕ /∂t+∇。(uϕ)+∇。(-D∇ϕ)+ βϕ =γ 在1D,1D轴对称(径向),2D,2D轴对称(圆柱)和3​​D域上的简单均匀/非均匀网格上。 该代码在整个或部分边界上接受Dirichlet,Neumann和Robin边界条件(可通过更改以下方程式中的a,b和c来实现): a∇ϕ.n + bϕ = c。 它还接受周期性边界条件。 该代码的主要目的是为那些试图使用数学模型,以1D形式数值求解模型,将其与解析解进行比较,并以最少的数量将其数字代码扩展至2D和3D的人员提供方便的工具。一维代码中的修改。 离散方案包括*中心差异*对流条件的迎风方案*具有许多通量限制器的对流项的TVD方案首先,进入“ Test”文件夹并运行测试脚本。 一些微积分函数(散度,梯度等)和求平均技术(算术平
2021-11-30 18:11:24 1.98MB matlab
1
是一个高性能预和求解器的库,具有多种网格方法,可在大型并行计算机上求解大型稀疏线性方程组。 有关文档,请参见我们的。 要安装HYPRE,请参阅文档或文件 。 HYPRE发行历史的概述可以在文件中。 我们感谢用户的反馈。 请在上提交评论,建议并报告问题。 另请参见 。 执照 HYPRE根据MIT许可证和Apache许可证(2.0版)的条款进行分发。 用户可以选择任一个许可证。 所有新的贡献都必须在MIT和Apache-2.0许可下进行。 有关详细信息,请参见 , , 和 。 SPDX-License-Identifier:(Apache-2.0或MIT) LLNL代码778117
2021-11-30 14:28:59 6.72MB library hpc math-physics radiuss
1
IKFastPy-UR3 IKFast Python软件包 适用于UR3机械手的OpenRave IKFast逆运动学求解器上的Python包装器。 这是轻量级的Python包装程序,覆盖了为UR5机械手生成的 C ++可执行文件(包括e系列XML文件)。 IKFast “以解析方式求解机器人逆运动学方程并生成优化的C ++文件”,以实现更快的运行速度(有关IKFast的更多信息,请参见)。 IKFast可以与UR机械手上的 speedj命令一起使用,以进行实时运动规划,该运动用于创建右侧所示的视觉伺服演示(正在进行的深度学习闭环抓取项目的一部分)。 为什么选择speedj ? 请参阅此UR。 注意:可以此软件包以支持其他机器人手臂。 档案文件 ur3.robot.xml-描述UR3机械手运动学的定制OpenRave XML文件。 如果更改机械臂或工具中心点(TCP)的位置,请进行修改
2021-11-29 16:24:35 4.79MB C++
1
可微分ODE解算器的PyTorch实现该库提供了在PyTorch中实现的常微分方程(ODE)解算器。 使用adjoint方法支持所有求解器的反向传播。 对于使用,可微分ODE解算器的PyTorch实现此库提供了在PyTorch中实现的常微分方程(ODE)解算器。 使用adjoint方法支持所有求解器的反向传播。 有关在深度学习应用程序中使用ODE求解器的信息,请参见[1]。 由于求解器是在PyTorch中实现的,因此完全支持该存储库中的算法以在GPU上运行。 安装pip install torchdiffeq示例示例被放置在示例目录中。
2021-11-29 14:26:53 8.09MB Python Deep Learning
1