tang76 发表于 2011-10-22 11:01

matlab并行调用Ansoft Maxwell的问题

matlab: 2010b
maxwell: 14.0
系统:win7 64bit
CPU: 4核*2
调用过程:通过matlab的mdce工具箱,建立多个任务(createTask),每个任务生成一个maxwell脚本并调用maxwell计算。

问题:脚本均已正确生成,但调用maxwell出错,从任务管理器看到多个maxwell启动,但很快退出。以下为各任务输出的信息(8个任务)

Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_1.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp


Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_2.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp

Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_3.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp

Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_4.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp

Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_5.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp

Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_6.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp

Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_7.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp

Ansoft Maxwell Version 14.0.0, Build: 2010-10-25 04:49:02
Location: C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe
Batch Script: D:/users/project/test_8.vbs
Starting Batch Run: 10:50:48 上午十月 22, 2011
Running as user: 307-PC\tang
Temp directory: D:\users\project\tmp
Project directory: D:\users\project\tmp

进一步尝试发现,如果只建立一个任务,maxwell能正常运行。建立两个任务就有同样的问题了,哪位大侠帮我看一下是什么原因?

谢谢!

tang76 发表于 2011-10-24 22:04

怎么没人搭理:(
自己顶起来
进一步研究发现,如果在本地通过parfor来并行发起多个maxwell进程(matlab程序),或是利用其他并行代码发起多个maxwell进程(外部程序),所有maxwell都能成功运行,但如果利用createTask分配的matlab运行以上的matlab程序或外部程序来并行发起多个maxwell进程,仍然只有一个maxwell成功运行,请问这是什么原因呢,有点抓狂了。。。。。。。。

tang76 发表于 2011-10-25 16:10

看来大侠都很忙,还得继续骚扰。


再详细说下我的方案和目的,还请高手相助。

借用matlab的MDCE工具箱,控制maxwell在多个机器运行多个工程(各个工程相互独立),各机器均正确安装maxwell 14.0和matlab 2010b。
我的方法是:
利用matlab的createTask函数,将本机的某个matlab程序在其他多核机器上运行,这个程序实际上启动多个maxwell进程来仿真不同的maxwell工程。

目前尝试了3种方法来启动多个maxwell进程:
1)利用createTask在多核机器上启动多个worker,每个worker启动一个进程;
2)利用createTask在多核机器上启动一个worker,每个worker通过parfor同时启动多个进程;
3)利用createTask在多核机器上启动一个worker,每个worker调用某个外部程序同时启动多个进程。

但是运行的结果是:每个机器最终只能运行一个maxwell进程,从资源管理器看到有多个maxwell进程发起,但其他的几秒钟后就自动被杀掉。

对于方法2)和3),如果这个matlab程序在本机上运行,可以正确启动多个maxwell进程并且每个进程均能正确运行。


请问大家有什么方案或建议能实现通过某个终端来控制多台机器,使得每台机器都能发起多个maxwell进程运行不同的maxwell工程文件?



谢谢

xidianwt 发表于 2011-10-26 19:50

学习了。。。。。。。。。。。。。。。。。。。

sgh 发表于 2011-12-6 19:29

楼主很牛!学习着

sgh 发表于 2011-12-28 22:11

楼主:
    Matlab中编写maxwell的程序怎么写的,从何学起啊,看了你之前的例子,有些收益,但是对于楼主没用的函数我就不会用了,楼主是怎么学的可以分享下不??我是新人!
谢过

xiaorong880116 发表于 2011-12-28 22:56

V15的maxwell好像就可以多进程。我今天刚刚下载到

tang76 发表于 2012-1-4 23:46

多谢提供这个好消息,就是不知道64位pj得怎么样了,32位的算的问题太小

moluhuanghun 发表于 2013-2-27 10:36

大神,看不懂,但是要好好学习,期望楼主成功

wuwengeng 发表于 2014-8-18 10:34

Matlab中编写maxwell的程序怎么写的,从何学起啊。教教我哦,谢谢了!

stevenforest 发表于 2018-7-6 15:30

tang76 发表于 2012-1-4 23:46
多谢提供这个好消息,就是不知道64位pj得怎么样了,32位的算的问题太小

请问楼主能实现matlab调用maxwell计算结果吗   我没有成功
页: [1]
查看完整版本: matlab并行调用Ansoft Maxwell的问题