Ansys Maxwell

test

Maxwell 2D

作者: n5321

Maxwell 2D

1.静态分析。

纯磁铁励磁的磁路!

  1. 看B值,调整B轴坐标,不用科学计数法?

  2. 看磁力线




  1. export plot是在ansys framework内部的数据导出,并不是image export! image export上面只有一个copy image

  2. 在field calculate上面,首先要定义一个理想的电机磁路!

目标应该是找2D分析的pattern,pattern的价值是显示电机磁路的若干信息,实现判断磁路的可能性。

磁路相当于管路设计,绕组方案相当于阀门,进水量的设计。它是两个东西。最终客户要的是水的流速,流量等等。

昨天晚上实现的东西是看气隙磁密的极坐标图。有两个问题,数据是否准确,如果增加直观程度。

闭门造车还是不行。还是需要做实际的电机项目!

换一个台词:

BLDC电机设计要解决的若干个问题:

  1. cogging torque!

感觉这样子工作量太大了,是否存在一个现成做2D分析的pattern?!!!

目标也不只是找pattern,目标 也是make appealling

ready做一个cogging torque的动图出来!

问题

  1. 怎么导出高清图片?!

  2. 高清图片怎么生成mp4,暂时用python!



pattern出来的问题不可能。因为对象的名称不是固定的。只是可以提供一些script,来实现一些难以实现的效果!在visualization上有拓展空间。

关键是要出一些很漂亮的图。




copy出来的图片质量太差了,比屏幕截图的质量还差!

有什么好的办法可以script截图呢?

试着做了 一天,这个features的问题还是有点小小的复杂性!!!

可能不是两三天可以搞好的!操!

这个Appealling的东西可能确实要花一点时间了。

考虑用python PyAutoGUI 或 OpenCV来实现截图存储,最后用图片生成MP4

2. 使用屏幕捕获工具结合脚本

ANSYS Maxwell 本身可能不提供导出图像的脚本支持,但可以通过外部工具实现自动截图。

步骤示例(Python + PyAutoGUI 或 OpenCV):

  • 安装必要的库:

    bash


    复制代码
    pip install pyautogui opencv-python
  • 示例代码(模拟鼠标操作截图):

    python复制代码import pyautogui
    import time

    # 等待 Maxwell 窗口打开
    time.sleep(5)

    # 截图整个屏幕
    screenshot = pyautogui.screenshot()

    # 保存为 PNG 文件
    screenshot.save("C:\\exported_image.png")
  • 若需要指定区域截图,可以用 pyautoguiopencv 配置截图区域。

pip install opencv-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip install opencv-contrib-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip install pyautogui opencv-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip install pywin32 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip install moviepy -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip install moviepy==2.1.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip install ffmpeg-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip uninstall ffmpeg-python

pip install -r global_requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

image_folder = 'd:/images/'  # 图片文件夹路径

用2k的分辨率视频看上去确实还是不错了。

基本上满意,接下来的问题就是自动截图的功能了!

大量的功能直接阉割掉了。后处理的东西不好导出来,怎么搞?!!!

output_file = r"F:\pythonCode\pythonProject\images\a05.avi"
cap = cv2.VideoCapture(output_file)

一个完整功能强大的提升视频质量的script,没有完整实现过

import cv2
import numpy as np

def sharpen_frame(frame):
  """
  锐化处理函数
  """
  kernel = np.array([[0, -1, 0],
                      [-1, 5, -1],
                      [0, -1, 0]])
  return cv2.filter2D(frame, -1, kernel)

def increase_contrast(frame, alpha=2.5, beta=50):
  """
  增强图像对比度
  alpha: 对比度控制
  beta: 亮度控制
  """
  return cv2.convertScaleAbs(frame, alpha=alpha, beta=beta)

def denoise_frame(frame):
  """
  使用非局部均值去噪
  """
  return cv2.fastNlMeansDenoisingColored(frame, None, 10, 10, 7, 21)

def enhance_frame(frame):
  """
  综合增强:去噪、增强对比度、锐化
  """
  # 1. 去噪
  denoised_frame = denoise_frame(frame)
   

  # 2. 增强对比度
  contrast_frame = increase_contrast(denoised_frame, alpha=2.5, beta=50)
   
  # 3. 锐化
  sharpened_frame = sharpen_frame(contrast_frame)
   
  return sharpened_frame

# 示例代码

output_file = r"F:\pythonCode\pythonProject\images\a05.avi" # 输入视频路径
cap = cv2.VideoCapture(output_file)

# 检查视频是否成功打开

if not cap.isOpened():
  print("Error: Could not open video.")
  exit()

fourcc = cv2.VideoWriter_fourcc(*'mp4v') # 使用 mp4 编码
fps = cap.get(cv2.CAP_PROP_FPS) # 获取视频的帧率
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取视频的宽度
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 获取视频的高度

# 输出文件路径

out = cv2.VideoWriter('output_enhanced.mp4', fourcc, fps, (frame_width, frame_height))

while cap.isOpened():
  ret, frame = cap.read()
  if not ret:
      break

  # 综合增强处理
  enhanced_frame = enhance_frame(frame)
   
  # 写入增强后的视频
  out.write(enhanced_frame)

# 释放资源

cap.release()
out.release()

print("Video processing complete. Enhanced video saved as 'output_enhanced.mp4'.")

https://console.cloud.tencent.com/domain/template/edit/tmpl-0iiqs2qp

ready 本周把域名DNS什么的加进去!

iframe src="https://player.bilibili.com/player.html?bvid=BV1ttk9YkEVx&t=12.4" width="100%" height="500" frameborder="0" allowfullscreen="true"></iframe> 用这个code方式把视频放在自己的web上直接挂出去。!不要切换出去了。

OK, 大概的frame可以这样子做!

可以写一个Ansys的Bug系列!

5b2b2a2fe80de1a939e678d6f1670513595ef691

git reset --hard 5b2b2a2fe80de1a939e678d6f1670513595ef691