- 积分
- 1
- 注册时间
- 2011-4-19
- 仿真币
-
- 最后登录
- 1970-1-1
|
发现这个版更适合,不断更新中...
2012/6/13
好久没来了,最近完成一篇关于这个软件的论文(不得不写啊,论文也很重要),等发出来了贴给大家。
论文的主要内容都来自帮助文档
2012/4/8
更新源码和帮助文档:
FuturEye3.0
Scala语言版本: ScalaFEM0.1
2012/3/20
好久没来了,给大家汇报一下最近的情况吧,FutuEye3.0的用户手册在2.1的基础上进行了修改,增加了很多内容,不过还没写完,请稍等
另外,用Scala语言(与Java一样,都是基于JVM虚拟机的,支持面向对象和Functional编程,很适合用来开发专业领域的软件,语法可扩充)
又开发了ScalaFEM,是基于FuturEye3.0的基础上进行封装的。
下面给一个例子:求解如下问题
* -k*\Delta{u} + c*u*v = f in \Omega
* u=0, on \Gamma_D
* d*u + k*u_n = q on \Gamma_N
* where
* \Omega = [-3,3]*[-3,3]
* \Gamma_N = Right boundary
* \Gamma_D = Other boundary
* k = 1.0
* c = sqrt(x^2+y^2)
* f = -2.0*(x^2+y^2)+36.0
* d = 1.0
* q = 1.0
方程的弱形式在ScalaFEM中可以写成
val laplace = new PDE
val k = C1
val c = sqrt(X*X+Y*Y)
val f = -2.0*(X*X+Y*Y)+36.0
val d = C1
val q = C1
laplace.integrate(LHS, Inner) {
(u,v) => (grad(u, "x","y") dot grad(v, "x","y")) + c*u*v
}.integrate(LHS, Border) {
(u,v) => d*u*v
}.integrate(RHS, Inner) {
(u,v) => f*v
}.integrate(RHS, Border) {
(u,v) => q*v
}
可以看到,已经很接近数学表达式了。完整的代码在30#楼。
开篇:
Futureye是一个用面向对象方法开发的FEM工具包。它将FEM中的“数学”理论与Java中的对象紧密关联,实现了有限元计算过程。其他类似面向对象的FEM软件几乎都是“大对象”,“粗抽象”,很难精细控制有限元形函数、单元、网格等,不利于新方法的研制和测试。Futureye目前可以求解所有FEM的基本问题以及基于PDE的反问题。现在软件代码已经超过5万多行,有兴趣的请联系我,可以共同学习、研究。 项目地址:http://code.google.com/p/futureye/
该项目为MIT授权。我的邮箱:nkliuyueming@gmail.com
上几个图:
==Plane Elastic==
==Stokes Equation==
==Benchmark of Navier-Stokes Equations==
==Numerical Optimization for Inverse Problems==
==Inverse Problem: Near-Infrared Diffusion Optical Tomography (DOT)==
|
|