Algorithm 快速有限元求解器

Algorithm 快速有限元求解器,algorithm,solver,Algorithm,Solver,什么是方程的快速解算器?我更喜欢开源实现,但如果有商业实现,那么我不介意为此付费 怎么样。当您购买它时,它有完整的源代码。这是一个相当大的项目,也许对你的需求来说太多了,但是请看 FEAP是一种通用有限元程序 元素分析程序 为研究和教育而设计 使用。完整程序的源代码 可使用进行编译 Windows(康柏或英特尔编译器), LINUX或UNIX操作系统,以及 基于MacOSX的苹果系统 它还有一个名为“免费提供”的个人版,包括源代码。这些版本之间的差异在中列出。Oops,这是一个问题 求解微分方程

什么是方程的快速解算器?我更喜欢开源实现,但如果有商业实现,那么我不介意为此付费

怎么样。当您购买它时,它有完整的源代码。这是一个相当大的项目,也许对你的需求来说太多了,但是请看

FEAP是一种通用有限元程序 元素分析程序 为研究和教育而设计 使用。完整程序的源代码 可使用进行编译 Windows(康柏或英特尔编译器), LINUX或UNIX操作系统,以及 基于MacOSX的苹果系统


它还有一个名为“免费提供”的个人版,包括源代码。这些版本之间的差异在中列出。

Oops,这是一个问题

求解微分方程通常从分析方程本身开始。众所周知,有些方程很难有效求解,例如有限边界问题。 所以,如果你有一个椭圆问题以外的问题,你可能会更好地为未来的艰难时刻做好准备

下一个重要而关键的部分是将连续问题转化为离散网格。通常,结果的精度会因生成此网格的不同方式而异。你在这里需要一些良好的经验


所以我想说,没有什么能比得上有限元方程的快速求解器。总之,在简要概述主题的同时,您也可以浏览一下页面。它列出了著名的FEM实现。

OpenFoam和Elmer是两个开源解算器。不确定Elmer,但我认为OpenFoam可能使用控制音量的方法。

“brad”?你的意思是“广泛”

你不能说你的问题是线性的还是非线性的。那会有很大的不同

解算器取决于方程的类型和问题的大小。对于椭圆PDE,您可以选择标准线性代数技术(如lu分解)、迭代方法(如逐次过松弛)或使内存消耗最小化的波前解算器

有些人喜欢把非线性稳态问题当作动力学问题来解决。其想法是创建“假”质量和阻尼矩阵,并使用显式时间积分收敛到稳态

有很多选择。标准线性代数是一个很好的起点


语言?java?

我使用OpenFOAM进行流体动力学研究。您可以使用MPI对其进行并行处理。如果你有一个克雷T3E它会很快! 它是开源的:D

代码Aster是一个开源FE代码


前处理和后处理通常由Salome完成,两者都源自EDF。

请查看Deal.II开源库:


它们还提供预装libs的VirtualBox映像

SolverBlaze使用英特尔数学内核库中的Pardiso稀疏解算器。它提供C++和.NET编程接口().< /p>你是否已经构建了矩阵?如果是这样,任何稀疏解算器都可以。我很喜欢使用GMRES方法。双共轭梯度也可以很好地工作,只要你使用一个稳定的版本。高斯XX方法在这里的收敛速度很差。最重要的是,使用一个好的预条件。或者至少使用哑预处理器(对角线部分通常工作良好)。Elmer是有限元,OpenFOAM是有限体积