国产CAE的涅槃-岩土行业高性能离散元软件MatDEM

2023-11-04

作者 | 刘春博士 

 一、导读

2019年9月11日ANSYS公司公开宣称:“收购LSTC公司,一举获得其旗下拥有LS-DYNA(结构&流体&电磁的多物理场求解器)、LS-PrePost(前后处理器)、LS-OPT/LS-TASC(参数优化/拓扑优化求解器)”。这是ANSYS公司继2005年收购显示算法为核心的CDI公司(旗下的AUTODYN、ASAS、AQWA和AutoReaGas等软件工具)后的又一世界顶级CAE产品的收购。

这种已经伴随了50多年的仿真软件CAE的发展史。软件大鳄们在不断并购,造就了今天ANSYS、西门子、达索、MSC、奥汰尔和ESI等商业软件在国内驰骋江湖,诸侯争霸的局面。

随着“中兴事件”的爆发国人开始对自主核心技术的焦虑和思考。而国产cae软件得到了国家前所未有的关注和重视。今天就让我们来认识一款国产土木行业CAE软件-高性能离散元软件MatDEM

二、高性能离散元软件MatDEM

矩阵离散元MatDEM软件的英文含义是Fast GPU Matrix computing of DiscreteElement Method。软件名取其核心Mat和DEM,即矩阵离散元MatDEM。MatDEM基于矩阵离散元法,计算迅速,其为整个软件的基础与核心。

MatDEM采用创新的GPU矩阵计算法和三维接触算法,实现了每秒1400万次三维单元运动计算(二维4000万),计算单元数和计算速度达到了国外商业软件PFC的30倍(150万单元)。

软件实现了自动堆积建模,分层赋材料,节理面和荷载设置,丰富的后处理功能和二次开发等。研究生通过简单学习即可完成地质和岩土工程大规模离散元模拟。

三、MatDEM模块有哪些?

MatDEM软件目前包括四个主模块。

1、MatDEM主程序(Main):基于Matlab语言,提供完善的二次开发功能。可修改已有的标准示例,通过命令建立复杂的离散元模型。已提供滑坡,岩爆,撞击作用,桩土作用,滚刀破岩等一系列示例。每个模拟通常包括三个文件,一百多行的代码。

MatDEM采用完全面向对象的方式来组织数据,且数值模拟过程中所有数据均可随时查看。同时,导入保存的数据可以继续计算。

具有完善的后处理功能,包括数十种图件的自动生成,动画制作等。

2、MatDEM模拟箱(Box):可建成各类地质和工程模型,如地质灾害、构造过程、隧道开挖等。包括“几何建模”,“材料设置”,“数值计算”,“结果显示”四部分。这个模块对应着主程序中二次开发代码user_BoxModel1-3三个文件。为说明方便,采用3万单元三维模型进行演示。

具体介绍如下:

① 几何建模: 自动生成一定粒径分布的颗粒,并堆积和压实。通过团簇模型建立不同形态的颗粒。通过可重叠的压力板施加真三轴围压。

② 设置材料: 目前岩土体离散元的接触关系和微宏观模型还需要进一步的深入研究,是非常好的研究课题。

③ 分组赋材料: 通过导入Excel表中的折线图来切割划分不同的层和组,并赋相应材料力学性质。

④ 连接编辑: 通过导入Excel表中的折线图来设置裂隙、节理和软弱面等。

下图为3万单元二维模型和节理面。颗粒单元未显示,仅显示胶结连接。绿色线段代表胶结,空白为节理。

⑤ 荷载和计算: 按组施加荷载,包括体力(重力),锁定坐标(自由度),初速度,位移和应力边界等。通过二次开发命令集定义复杂的荷载和时间过程,完成数值模拟。

自动选择CPU计算和GPU计算。采用的GPU是四年前的产品。采用创新的离散元矩阵计算法,单颗GPU的速度达到了CPU的30倍(目前70倍),可实现大规模离散元模拟。

3、MatDEM试验室(Lab):MatDEM_Lab主界面,目前可实现常规三轴,固结和单轴压缩试验,进一步将增加扭剪和环剪试验。

用于研究岩土体的微宏观力学性质。下图中右下方命令行处可见,MatDEM每秒完成310万次颗粒三维运动计算(目前已达到1400万)。三维模拟单元数量上限150万,二维450万。这个模块对应着主程序中二次开发代码

user_AxialNew1-3三个文件。

二维情况下,MatDEM每秒完成770万次颗粒运动计算(目前2000万+)。二维模拟单元数量上限500万。

4、MatDEM后处理(Post-processing):提供非常完善的后处理功能,可自动生成各类场图,过程曲线和模拟动画(具体见程序帮助)。

点击完整阅读全文

​​​​​​​国产CAE的涅槃-岩土行业高性能离散元软件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

国产CAE的涅槃-岩土行业高性能离散元软件MatDEM 的相关文章

  • 循环-13. 求特殊方程的正整数解(15)

    本题要求对任意给定的正整数N 求方程X2 Y2 N的全部正整数解 输入格式 输入在一行中给出正整数N lt 10000 输出格式 输出方程X2 Y2 N的全部正整数解 其中X lt Y 每组解占1行 两数字间以1空格分隔 按X的递增顺序输出
  • Comparable接口对list的多条件排序

    版权声明 本文为博主原创文章 未经博主允许不得转载 https blog csdn net xiaoyanghapi article details 52496325 普通的类要实现排序 必须实现Comparable接口 并重写Compar

随机推荐

  • python生成exe文件运行闪退解决方法

    python生成exe文件运行闪退解决方法 使用pyinstaller生成 exe文件 pyinstaller F filename py 用python写了一个程序 在python下运行是正常的 但是生成exe文件后运行闪退 我当时怀疑是
  • 一文讲透缓存方案及常见问题——进阶篇

    前文有提到 缓存其中一种实施方式是利用硬件的读取速度的差异来做缓存加速 但是更高速的存储介质往往受限于成本 价格贵 或硬件限制 CPU缓存物理大小 其容量相较硬盘要小很多 再加上根据二八原则 热点数据可认为只占20 因此无论是处于实用还是成
  • 第九课:面向对象-类和对象

    第九课 面向对象 类和对象 一 面向对象简介 1 数据存储方面 1 变量 只能存储一个 如果内容多了 存储起来需要定义n个变量 麻烦 2 数组 可以存储一组相同数据类型的数据 3 数据类型相同 如果用数组存储一个人的信息 比较丰富的信息的话
  • 计算机系统基础课程实验课bomb--phase_4

    首先还是栈指针减24 应该也是为了存储多个值 然后和phase 3一样 把输入的值放在了 rcx和 rdx 输入格式也和phase 3一样 如图 然后将返回值与2作比较 如果不等于2就爆炸 所以只能输入两个数字 然后将第一个输入值d1与14
  • Layout布局中Button被拉伸解决方法

    问题描述 从一个项目中复制Layout布局到新的项目后 UI界面的Button总是被拉伸变大 网上找了许多资料 对Button属性各种设置却也未果 甚是郁闷 效果图如下 复制到另一项目后 gt 复制的布局代码
  • java中四种引用类型

    在JDK 1 2以前的版本中 若一个对象不被任何变量引用 那么程序就无法再使用这个对象 也就是说 只有对象处于可触及 reachable 状态 程序才能使用它 从JDK 1 2版本开始 把对象的引用分为4种级别 从而使程序能更加灵活地控制对
  • Java连接MySQL、Oracle加载多个不同版本的驱动

    Java连接MySQL Oracle加载多个不同版本的驱动 连接MySQL以下步骤 加载驱动 通过DriverManager getConnection String url String user String password 方法尝试
  • 解决git 出现 Your account has been blocked问题

    场景 前同事离职 所用电脑上的git账户被屏蔽 如何更换为自己的账户继续使用该本地库 解决 重新本地生成SSH密钥 将ssh rsa贴入自己服务器账户下的SSH Keys中即可
  • 大型网站后台架构的Web Server与缓存

    1 1 Web server Web server 用来解析HTTP协议 当web服务器接收到一个HTTP请求时 会返回一个HTTP响应 例如送回一个HTML页面 为了处理一个请求 web服务器可 以响应一个静态页面或者图片 进行页面跳转
  • 三万字机器学习项目整理(基础到进阶)

    如果你是学生 计算机领域的工作者 我强烈建议你学习 掌握机器学习 我不敢说它是最简单的 机器学习的确很简单 但是掌握机器学习一定是性价比最高的 本文用浅显易懂的语言精准概括了机器学习的相关知识 内容全面 总结到位 剖析了机器学习的what
  • 自定义类型:结构体

    C语言之自定义类型 结构体 文章目录 C语言之自定义类型 结构体 前言 1 结构体 1 1 结构体声明 1 1 1 一般格式 1 1 2 特殊结构体声明 1 2 结构的自引用 1 3 结构体变量的定义和初始化 1 4 结构体内存对齐 1 4
  • 数据库复杂sql如何编写入手

    前言 说到数据库我想大家都不陌生 对主流的数据库都会基本使用 但是要写好sql完成复杂的sql编写是需要对数据库原理 sql脚本语法有一定的了解的 但是对于开发人员来说 平常都是在curd写一些业务代码 数据库接触的也不是那么复杂 对于复杂
  • 环境配置的坑(一)Cmake :: Could not find a package configuration file provided by "xxx"

    可能是放置文件问题 不是说你路径配置错了 可能就算是路径是对的 但是你放到了系统文件夹里 Program Files 和 Program Files x86 然后当你用Cmake编译时候就会报错 我以配置opencv为例 一开始我将open
  • 文心一言实测:什么是文心一言?

    我不了解百度 能用五百字向我介绍这个公司吗 百度是一家全球领先的互联网公司 致力于为人们提供便捷 高效 智能的信息获取和交流服务 公司成立于2000年1月 总部位于中国北京 百度在搜索引擎 AI技术 云计算等领域拥有强大的技术实力和丰富的产
  • 为什么要学习spring cloud

    不论是商业应用还是用户应用 在业务初期都很简单 我们通常会把它实现为单体结构的应用 但是 随着业务逐渐发展 产品思想会变得越来越复杂 单体结构的应用也会越来越复杂 这就会给应用带来如下的几个问题 代码结构混乱 业务复杂 导致代码量很大 管理
  • Buuctf[极客大挑战 2019]LoveSQL

    题目打开是登录框 先尝试用万能密码 开始还以为这样就欧克了 但尝试之后发现这与flag无关 所以还是从sql开始走一遍 先查询一下字段 order by 4 字段数是四的时候报错了 后来小瑶尝试了在字段数为三时未报错 所以确定字段数是3 之
  • Interval【对偶图优化最小割(最大最小定理 周冬)】

    2020牛客多校第二场I题 首先 我们考虑最小割的方式来处理该问题 很明显的 这就是一张对偶图了 因为它没有任意两线会存在相交的可能了 所以根据对偶图的做法 我们可以将最小割问题转化为最短路了 绿色和粉色是新的对偶图所构成的边和点 然后我们
  • 软件安全测试报告模板_软件质量保证与测试(课后习题与答案)--仅供复习参考...

    第1章 软件测试基础 一 填空题 1 软件从 出生 到 消亡 的过程称为软件生命周期 2 早期的线性开发模型称为 瀑布 开发模型 3 引入风险分析的开发模型为 螺旋开发模型 4 ISO IEC9126 1991标准提出的质量模型包括 功能性
  • webpack5之loader配置(四)

    总述 要明白为什么要引入loader 因为webpack只能理解js和json这样的文件 这是webpack开箱可用的自带能力 loader可以让 webpack去解析其他类型的文件 并且将这些文件转化为有效的模块以供我们应用程序使用 如何
  • 国产CAE的涅槃-岩土行业高性能离散元软件MatDEM

    作者 刘春博士 一 导读 2019年9月11日 ANSYS公司公开宣称 收购LSTC公司 一举获得其旗下拥有LS DYNA 结构 流体 电磁的多物理场求解器 LS PrePost 前后处理器 LS OPT LS TASC 参数优化 拓扑优化