Abaqus使用技巧

目录页

1. 云图显示采用自定义的色谱

1.1. 手动自定义云图的色谱

我们可以在Abaqus/Viewer中手动设置自己的颜色映射,设置路径为:Contour Plot Options → Color & Style → Spectrum → Create Spectrum(见下图),然后我们逐个引入每种颜色来构建我们想要的颜色映射,点击确定,最后将其选择为当前的颜色映射。通过这种方式,我们可以在Abaqus中创建自己的颜色映射,并将其应用于场输出变量(位移、应力、塑性变形、损伤等)的可视化。但采用较多连续变化的颜色时手动创建则十分繁琐。


Abaqus手动自定义云图色谱

1.2. 脚本文件自动 自定义云图色谱

在Abaqus中创建颜色映射的更实用、快捷的选项是使用Python脚本。通过session.Spectrum(name, colors)的Python函数即可在Abaqus中创建颜色映射,其中:name是一个字符串(例如My_Cmap);colors是一个以十六进制格式表示颜色的字符串列表(例如[“#ff0000”,“#00ff00”,“#0000ff”])。如果想要在Abaqus中创建自定义的云图颜色映射色谱,可以采用以下脚本:

from abaqusConstants import *
# 视觉上感知均匀变化的连续颜色映射,将colormaps定义为一个字典,名称作为键,颜色列表作为值。颜色以十六进制格式的字符串表示。
colormaps = {'viridis': ['#440154', '#46317e', '#365c8d', '#277f8e', '#1fa287', '#49c26d', '#a0da39', '#fee724'],
             'plasma':  ['#0c0787', '#5301a3', '#8b09a5', '#b93289', '#dc5c68', '#f48849', '#febd2a', '#f0f921'],
             'inferno': ['#000003', '#270b53', '#65156e', '#9f2a63', '#d54841', '#f67d15', '#fbc228', '#fdffa5'],
             'magma':   ['#000003', '#221150', '#5f177f', '#982c80', '#d4436e', '#f9765c', '#ffbb81', '#fcfdbf'],
             'cividis': ['#00224e', '#213b6e', '#4c556c', '#6c6e72', '#8e8978', '#b2a570', '#d9c55c', '#fee837']}
# 上述的连续颜色映射是Abaqus/CAE中的色谱对象
for name, colors in colormaps.items():
    session.Spectrum(name=name, colors=colors)              # 在Abaqus中创建 按顺序排列颜色的spectrum
    session.Spectrum(name=name + 'R', colors=colors[::-1])  # 在Abaqus中创建顺序相反的spectrum

按照上述的脚本,即可以使用这些色谱之一(viridis、plasma、inferno、magma和cividis)及其反转版本(viridisR、plasmaR、infernoR、magmaR和cividisR)来可视化abaqus后处理中的数据

1.3. 环境文件中添加使Abaqus启动时便添加自定义颜色映射

我们可以通过环境文件(environment file)使Abaqus在每次打开Abaqus/CAE时运行这些Python命令(用于创建颜色映射)。实现此目标的步骤如下:

在您的Abaqus安装目录中找到custom_v6.env文件。打开这个文件,创建一个名为onCaeStartUp的函数,不带任何参数,并将脚本文件自动 自定义云图色谱一节中的代码放入该函数中,即可在每次打开abaqus时自动执行自定义色谱命令(并在函数首部添加from abaqusConstants import *)。

参考

  1. 如何在ABAQUS种使用Matplotlib自定义的色谱图
  2. abacolor -- 给ABAQUS添加更多的色彩图;

2. 使用中遇到的问题

2.1. abaqus低版本打开高版本文件

可行的方法如下:

  1. jnl文件转化:在abaqus command 命令里输入abaqus cae recover=xxx.jnl (注意文件必须是在对应的工作目录里,直接cd复制工作目录位置);
posted @ 2024-05-16 20:46  yibeijiu  阅读(362)  评论(0)    收藏  举报