开发意义
OpenSees体积小巧,计算方便,很受抗震领域学者欢迎。
其重要特点之一是开源(源代码托管在Github),这意味着若没有找到合适的材料、单元、算法或遇到程序其他问题时,
允许学者自行开发和完善。上篇对Steel02材料作了一个简单的介绍,后来的Steel4等材料都是在发现问题后改进形成(详见杂谈OpenSees中的Steel02材料)。结构抗震发展已久,涉及领域众多,但在今日科技迅猛发展之时愈是发现(产生)更多问题。
在这种背景下,OpenSees无疑方便了许多学者的研究工作。笔者近期对该程序的材料开发进行了探索,借此总结并与各位分享。
开发步骤
OpenSees材料可用C、C++、Fortran语言开发,相关的语言特点可网上都有介绍。个人还是十分惊叹C++的发展,现在C++20标准已出来。笔者采用的是C++,尝试开发一种单轴材料,下文均以此展开,具体步骤如下:
- 下载源代码,准备开发环境Microsoft Visual Studio,如图1示(注:需要Fortran中的数据连接库ifconsol.lib、libdecimal.lib、libifcoremt.lib、libifport.lib、libirc.lib、libmmt.