把自己的一些学习oofem心得分享给大家:

主要内容:
[1]这是什么
[2]必备条件
[3]安装
[4]运行oofem和oofeg
[5]相关的链接

[1] 这是什么

下面的目录树包含OOFEM包的源代码。

OOFEM_TOP_DIR
|
|-- doc - 包含“用户指南User’s guide”,生成“参考手册Reference manual”的资源,
| documents 描述输入文件规范、元素和材料库以及其他有用的文档。
|
|-- src - 所有oofem模块的源文件
| |
| |-- oofemlib - OOFEM核心部分OOFEMlib模块的源代码。
| |
| |-- sm - 结构分析模块来源。
| |
| |-- tm - 源传输问题模块.
| |
| |-- fm - 流体力学模块的来源。
| |
| |-- dss - 包括直接稀疏求解器(DSS)的源代码,由R. Vondracek提供)
| |
| |-- main - 包含main()的源代码以及oofem、oofeg的一些全局函数的实现。
|
|
|-- tools - 几个实用程序的源代码。
|
|-- tests -包含几个测试,这些测试对于验证程序功能非常有用。
|
|-- bindings - 保存源文件,以生成到Python编程语言的OOFEM绑定。

[2] 必备条件

oofem需要CMake跨平台构建系统和支持STL的c++编译器(标准模板库)。

oofem包含到iml++库的接口。
它是由Roldan Pozo编写的用于求解对称和非对称线性方程组的现代迭代方法的c++模板库。
可以从http://math.nist.gov/iml++/下载。

图形化后处理器(oofeg)需要安装Petr Krysl (http://www.multires.caltech.edu/~pkrysl/)的ELIXIR和Ckit库。
它们提供了X-windows图形支持。

与OOFEM一起使用的Elixir版本可能与Petr Krysl维护的原始版本不兼容。
兼容的Elixir版本可以在oofem主页(http://ksm.fsv.cvut.cz/oofem/oofem.html)上找到。
Ckit库可以在相同的位置获得。

对分布式内存的并行支持需要安装MPI库。如果您没有,我们建议您使用Open MPI。
这是一个免费的、高性能的、可移植的MPI实现(http://www.open-mpi.org/)。

对于高性能的特征值求解器,oofem使用了SLEPc。
该工具包可以从SLEPc项目主页(http://www.grycap.upv.es/slepc)下载。

通过tinyXML2库支持XML解析器。CEMHYD3D模型需要这个库,
可以从它的git存储库(https://github.com/leethomason/tinyxml2)下载。

可以从源文件自动生成参考手册。您也可以使用它来生成类的文档。
为此,您必须安装doxygen文档系统
(http://sourceforge.net/projects/doxygen/)
和图形可视化工具包(http://www.research.att.com/sw/tools/graphviz/)

要从源文件构建元素库、材料库和oofem输入手册,需要使用latex和latex 2 html包。

由于其大小,已编译的参考手册本身不包括在发行版中。可以从oofem主页在线访问。

[3] 安装

UNIX快速说明:

0)解压缩源1)创建树外构建目录“mkdir -p ~/build/debug”
2)配置目标“cd ~/build/debug;
其中,PATH_TO_OOFEM_SOURCES是指向OOFEM源目录的路径,创建于步骤0(例如~/oofem-2.2)。
3)编译OOFEM“制造”
4)可选地运行测试“ctest”

额外的指令

你可以使用使用ncurses接口的ccmake来代替cmake,
或者GUI的cmake-gui。
对所有目标的列表使用make help命令。

您可以在OOFEM wiki上找到详细的安装(包括Windows上的安装)说明
(http://www.oofem.org/wiki/doku.php?id=installation)

要获得支持,请查看oofem wiki (www.oofem.org/wiki)和oofem论坛(www.oofem.org/forum)。

[4]运行oofem和oofeg

oofem程序在没有任何选项的情况下运行时打印出可用的选项。要运行特定的作业,可以输入

oofem -f input_file_name

要运行oofeg(图形后处理器),需要作业上下文文件
(由oofem创建,例如使用-context选项)。
要运行oofeg,请输入

oofeg -f input_file_name

有几个有用的oofeg键绑定:
快速查看

B1 = window
Ctrl B1 = pan
Ctrl B2 = zoom
Shift B2 = fit all (only active drawing window will be affected)
Ctrl Shift B1 = rotate
B3 = done

Selection

B1 = select
Ctrl B1 = select window
Shift B1 = select nearest point
(confirm by B1 or select next one by Shift B1)
B2 = accept
B3 = reject

[5]进一步的文档

请查阅oofem主页(http://www.oofem.org)以获得更多文档、手册和新版本。

面向对象的有限元代码:OOFEM相关推荐

  1. python面向对象大段代码_python面向对象部分简单整理

    面向对象 VS 面向过程 面向过程 面向过程的程序设计的核心是过程(流水线式思维) 优点: 极大的降低了写程序的复杂度 缺点: 一整个过程(流水线)只能解决一个问题,若问题更改,代码几乎要全部重写. ...

  2. 面向对象软件开发代码结构(2)

    使用封装降低信息的复杂度 封装是面向对象编程的核心思想之一. 封装的过程,是将大量的信息(过程.数据),凝缩成满足特定需求的接口的过程. 从数量上来说,好的封装必然是将大量的.与业务交互无关的实现细节 ...

  3. 面向对象软件开发代码结构(1)

    类内部结构 类内部架构实际上是一个小型的状态机,成员变量是状态变量,成员函数是处理机.一般提倡一个类实现一种特定的功能,这样可以降低实现的复杂性,状态机越简单,越利于实现. 实例间通信 软件的功能是多 ...

  4. python面向对象大段代码_python粗谈面向对象(一)

    面向过程编程vs函数式编程 面向过程编程 以计算对象的元素个数为例. str_1 = 'abcdefg'count=0for i in str_1: #统计字符串元素个数 count += 1list ...

  5. java面向对象电梯运行代码_面向对象编程总结——多线程电梯

    最近的三周面向对象的作业是电梯问题.主要是对多线程编程的一种训练.主要还是对生产者--消费者模型的使用的理解.作业分成了三个阶段,第一个阶段是FIFO调度策略的电梯.第二个阶段是可捎带的电梯设计,第三 ...

  6. 面向对象-第一个代码模型

    第一个代码模型:简单Java类编写(核心) 所谓简单Java类,只包含了最基本的属性与属性的设置和取得功能,在日后开发中都是基于简单Java类的应用,本次给出简单Java类开发的基本原则 1.类名称必 ...

  7. 面向对象——继承、代码块、final关键字

    继承 1. 继承中的属性 1.1 继承中不同名属性访问 ​ 子类可以直接调用父类中的非私有属性 1.2 继承中同名属性访问 ​ 在子类中定义了同名的成员变量,在子类中,根据就近原则来进行访问 clas ...

  8. 读书笔记:编写高质量代码--web前端开发修炼之道(二:5章)

    读书笔记:编写高质量代码--web前端开发修炼之道 这本书看得断断续续,不连贯,笔记也是有些马虎了,想了解这本书内容的童鞋可以借鉴我的这篇笔记,希望对大家有帮助. 笔记有点长,所以分为一,二两个部分: ...

  9. web前端培训分享:面向对象中类和对象的定义是什么?

    在学习web前端技术的时候,我们接触的最多的便是面向对象这一块,其实很多编程技术都有用到这个现象,下面我们就为大家详细的介绍一下面向对象中类和对象的定义是什么? web前端培训分享:面向对象中类和对象 ...

最新文章

  1. 京东裁员杀红眼了!说要给n+1,员工签字后,公司又反悔了!
  2. Cassandra 3.x官方文档(1)---关于Cassandra
  3. [转载]QQ空间技术架构之深刻揭密
  4. IText 生成页脚页码
  5. charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)
  6. java查询SQLServer遇到问题:对象名无效。
  7. LPC2478时钟模块详解
  8. UCI数据库使用说明
  9. PPT表格要怎样让设计秒变高级
  10. nicstat-网络流量统计利器
  11. 计算机内存条如何区分频率,Win7怎么看内存条频率,教您查看方法
  12. 0.《新概念51单片机C语言教程》(郭天祥)学习笔记
  13. 5.1.2 消费者的加入组和同步组
  14. #pragma DATA_SECTION的使用
  15. WPF实现组态软件-逼真的管道和速度可变流体(五)
  16. ARM Cortex-M3内核结构
  17. 实验 基本交换机设置
  18. Oauth2系列2:授权码模式
  19. VMware Esxi补丁包手工执行升级
  20. 1200万像素通过算法无失真扩展到1.92亿像素——加权概率模型收缩模型图像像素扩展算法

热门文章

  1. 局域网 文档 服务器,局域网时间服务器
  2. tr闭包_个人简历网页模板
  3. linux的usb驱动失败,linux2.6.24下usb驱动完成情况及问题解决
  4. 2022制冷与空调设备安装修理考试模拟100题模拟考试平台操作
  5. python爬虫学习之爬取全国各省市县级城市邮政编码
  6. 抓住中国势能 三星的“脱胎换骨”
  7. iOS仿今日头条顶部新闻分页
  8. ZZZ Project All 37 Product-国内最完整版
  9. VBS论坛自动灌水机代码
  10. 什么是横向课题和纵向课题?