有限元模型可视化:算法、结构与实现
1. 可视化算法概述
可视化的输入数据包含由空间坐标定义的节点集、由节点连接性指定的单元集以及一组结果值。主要结果(位移)在全局方程组求解后于节点处获得,次要结果(应力)通过主要结果的导数表示,在单元内部的缩减积分点处精度最高。
由于有限元模型的单元面与用于渲染的多边形在几何属性上存在差异,为了使有限元模型在可视化中呈现良好效果,需要将单元面细分为三角形。三角形细分的密度应取决于表面曲率和结果梯度。
可视化算法步骤如下:
1. 通过从单元内部的积分点外推到单元节点并进行后续平均,获得连续的结果场(对于在节点处定义的主要结果,可省略此步骤)。
2. 选择有限元模型的表面面、表面单元边和表面节点(对于二维问题,可省略此步骤)。
3. 根据面曲率和结果梯度,将曲面细分为平面三角形,并在三角形顶点生成有限元面的法线。
4. 通过在顶点指定纹理坐标,在三角形内部创建轮廓图。
5. 将单元边表示为一组直线段。
6. 将三角形、直线和点的数组提交给 Java 3D 进行渲染。
其中,轮廓创建步骤利用 Java 3D API 中的纹理插值来完成。我们准备一维颜色纹理,并在三角形顶点指定纹理坐标,通过一维纹理(渐变条)的插值生成三角形多边形内部的颜色轮廓。
2. 有限元模型表面的选择
要可视化有限元模型或其表面的结果,需要选择属于有限元模型表面(或部分表面)的有限元面。有限元模型的拓扑结构由单元连接性描述,每个有限元的连接性是按局部(单元)节点编号顺序列出的全局(模型)节点编号。例如,二十节点砖型单元有六个单元面,每个面的连接性编号可以从单
超级会员免费看
订阅专栏 解锁全文
3029

被折叠的 条评论
为什么被折叠?



