21 三角网格伪彩 tripcolor
21 三角网格伪彩 tripcolor
用途
不给等值线、直接按节点值着色,看整体分布趋势。
示例(5 张)
21-1 不规则网格温度场的三角伪彩

21-2 不规则网格电位场的三角伪彩

21-3 测点风速的三角伪彩(平直着色)

21-4 有限元节点应力的三角伪彩

21-5 铁心磁密分布的三角伪彩

代码
以下 5 个函数取自 code/第三批_场与三角网格261107.py,直接调用即可出图。样式(宋体 + Times、10 磅、刻度朝内四边、留白自检)由 code/公共配置261107.py 的 setup_cn_style() 和 save() 统一提供,本节不再重复。
# 摘自 code/第三批_场与三角网格261107.py
def tpc_01():
"""不规则网格温度场的三角伪彩。"""
fig, ax = new_fig(left=0.19, bottom=0.21, right=0.86)
tri = _tri(2101, n=200)
z = 30 + 26 * np.exp(-((tri.x - 0.45) ** 2 + (tri.y - 0.5) ** 2) / 0.09) + 6 * tri.y
m = ax.tripcolor(tri, z, cmap=CMAP_SEQ, shading="gouraud")
ax.set_xlabel("横向坐标 " + IT["x"] + " / m")
ax.set_ylabel("纵向坐标 " + IT["y"] + " / m")
ax.set_aspect("equal")
cbar(fig, ax, m, "温度 " + IT["T"] + " / °C")
save(fig, "21_三角伪彩", "21_三角伪彩_不规则温度场")
def tpc_02():
"""不规则网格电位场的三角伪彩。"""
fig, ax = new_fig(left=0.19, bottom=0.21, right=0.86)
tri = _tri(2102, n=190)
V = np.zeros_like(tri.x)
for gx, gy, k in [(0.3, 0.35, 1.0), (0.72, 0.6, 0.85)]:
V += k / np.sqrt((tri.x - gx) ** 2 + (tri.y - gy) ** 2 + 0.012) * 1.1
m = ax.tripcolor(tri, V, cmap=CMAP_SEQ, shading="gouraud")
ax.set_xlabel("东向距离 " + IT["x"] + " / m")
ax.set_ylabel("北向距离 " + IT["y"] + " / m")
ax.set_aspect("equal")
cbar(fig, ax, m, "电位 " + IT["U"] + " / V")
save(fig, "21_三角伪彩", "21_三角伪彩_不规则电位场")
def tpc_03():
"""测点风速的三角伪彩(平直着色)。"""
fig, ax = new_fig(left=0.19, bottom=0.21, right=0.86)
tri = _tri(2103, n=170)
v = 6 + 5 * np.exp(-((tri.x - 0.6) ** 2 + (tri.y - 0.55) ** 2) / 0.05) + 0.8 * tri.y
m = ax.tripcolor(tri, v, cmap=CMAP_SEQ, shading="flat", edgecolors="0.75",
linewidths=0.15)
ax.set_xlabel("东向距离 " + IT["x"] + " / km")
ax.set_ylabel("北向距离 " + IT["y"] + " / km")
ax.set_aspect("equal")
cbar(fig, ax, m, "风速 " + IT["v"] + " / (m/s)")
save(fig, "21_三角伪彩", "21_三角伪彩_测点风速分布")
def tpc_04():
"""有限元节点应力的三角伪彩。"""
fig, ax = new_fig(left=0.19, bottom=0.21, right=0.86)
tri = _tri(2104, n=190)
s = (60 * np.exp(-((tri.x - 0.5) ** 2 + (tri.y - 0.5) ** 2) / 0.10)
+ 18 * np.sin(tri.y * 5.0) + 12)
m = ax.tripcolor(tri, s, cmap=CMAP_SEQ, shading="gouraud")
ax.set_xlabel("横向坐标 " + IT["x"] + " / mm")
ax.set_ylabel("纵向坐标 " + IT["y"] + " / mm")
ax.set_aspect("equal")
cbar(fig, ax, m, "应力 / MPa")
save(fig, "21_三角伪彩", "21_三角伪彩_节点应力分布")
def tpc_05():
"""铁心磁密分布的三角伪彩。"""
fig, ax = new_fig(left=0.19, bottom=0.21, right=0.86)
tri = _tri(2105, n=180)
B = 1.35 + 0.42 * np.sin(tri.x * 4.6) * np.cos(tri.y * 3.8) + 0.15 * tri.x
m = ax.tripcolor(tri, B, cmap=CMAP_SEQ, shading="gouraud")
ax.set_xlabel("铁心长度 " + IT["x"] + " / mm")
ax.set_ylabel("铁心高度 " + IT["y"] + " / mm")
ax.set_aspect("equal")
cbar(fig, ax, m, "磁密 " + IT["B"] + " / T")
save(fig, "21_三角伪彩", "21_三角伪彩_铁心磁密分布")
说明
- 图片尺寸 1181×944 px(100 mm × 80 mm @ 300 dpi),三维图为 1181×1122 px。
- 图内不放标题,图题由本文件的二级/三级标题承担。
- 数据为贴近广东实际量级的仿真算例,随机种子固定,重跑结果一致。

浙公网安备 33010602011771号