Launch PyMAPDL#
PyMAPDL 可以在本地启动 MAPDL,也可以连接到已经在本地或远程机器上运行的会话。
如果您在启动 PyMAPDL 时遇到任何问题,请参阅 Launching issues。
Launch PyMAPDL with a local MAPDL instance#
您可以使用 launch_mapdl()
函数启动 MAPDL 并自动连接到它:
>>> from ansys.mapdl.core import launch_mapdl
>>> mapdl = launch_mapdl()
>>> print(mapdl)
Product: Ansys Mechanical Enterprise
MAPDL Version: 24.1
ansys.mapdl Version: 0.68.0
虽然这是启动和运行 PyMAPDL 最简单快捷的方法,但您必须能够在本地启动 MAPDL。
如果 PyMAPDL 找不到您的本地安装,请参阅 Setting the MAPDL location in PyMAPDL.
有关控制 MAPDL 本地启动方式的详细信息,请参阅 launch_mapdl()
函数的说明。
Connect PyMAPDL to a local MAPDL instance#
连接本地 MAPDL 实例需要两个步骤:启动本地 MAPDL 会话和连接。
Launch a local gRPC MAPDL session#
您可以从命令行启动 MAPDL,然后连接到它。
要在 Windows 上启动 MAPDL(假设 Ansys 安装在 C:/Program Files/ANSYS Inc/v241
目录下),请使用此命令:
C:/Program Files/ANSYS Inc/v241/ansys/bin/winx64/ANSYS211.exe -grpc
要在 Linux 上启动 MAPDL(假设 Ansys 安装在 /usr/ansys_inc
目录下),请使用此命令:
/usr/ansys_inc/v241/ansys/bin/ansys211 -grpc
这将以 gRPC 模式启动 MAPDL。MAPDL 应显示此输出:
Start GRPC Server
##############################
### START GRPC SERVER ###
##############################
Server Executable : MapdlGrpc Server
Server listening on : 0.0.0.0:50052
您可以使用 -port
参数配置 MAPDL 的启动端口。例如,可以使用此命令启动服务器,在端口 50005 上侦听连接:
/usr/ansys_inc/v241/ansys/bin/ansys211 -port 50005 -grpc
从 v0.68 版开始,您可以使用命令行界面启动、停止和列出本地 MAPDL 实例。更多信息,请参阅 PyMAPDL command line interface。
Connect to the local MAPDL instance#
使用此代码可从同一主机连接到 MAPDL gRPC 服务器:
>>> from ansys.mapdl.core import Mapdl
>>> mapdl = Mapdl()
前面的代码假定 MAPDL 服务在本地默认 IP 地址( 127.0.0.1
)和默认端口( 50052
)上运行。
您也可以使用 launch_mapdl()
方法,通过将 start_instance 参数设置为 False
来连接到已经启动的 MAPDL 实例:
>>> from ansys.mapdl.core import launch_mapdl
>>> mapdl = launch_mapdl(start_instance=False)
如果您连接的是 MAPDL Docker 映像,操作步骤是一样的。只需确保指定映射端口,而不是 MAPDL 内部端口。更多信息,请参阅 MAPDL and Docker。
Connect PyMAPDL to a remote MAPDL instance#
如果要连接到 远程 的 MAPDL 实例,必须知道该实例的 IP 地址。例如,如果在本地网络中,IP 地址为 192.168.0.1
的计算机上运行着 MAPDL,端口为 50052
,则可使用此代码与之连接:
>>> mapdl = Mapdl("192.168.0.1", port=50052)
或者,也可以使用主机名:
>>> mapdl = Mapdl("myremotemachine", port=50052)
请注意,您必须在具有引用 IP 地址和主机名的计算机上以 gRPC 模式启动一个 MAPDL 实例,因为 PyMAPDL 无法启动远程实例。
Setting the MAPDL location in PyMAPDL#
要运行 PyMAPDL,必须知道 MAPDL 二进制文件的位置。大多数情况下,这可以自动确定,但对于非标准安装,必须提供 MAPDL 的位置。首次运行时,如果 PyMAPDL 无法自动找到 MAPDL 可执行文件,则会请求它的位置。
您可以运行 launch_mapdl()
函数来测试 PyMAPDL 的安装并进行设置:
from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl()
Python 会根据环境变量自动检测您的 MAPDL 二进制文件。您可以使用两个环境变量中的一个来指定 MAPDL 的安装:
AWP_ROOTXXX
,其中XXX
是三位数的版本号。该环境变量包含版本与XXX
匹配的 Ansys 安装路径。例如,AWP_ROOT222=/ansys_inc
包含 Ansys 2022 R2 的安装路径。PYMAPDL_MAPDL_EXEC
包含 Ansys MAPDL 可执行文件的路径。例如,PYMAPDL_MAPDL_EXEC=/ansys_inc/v222/ansys/bin/ansys222
。
如果 PyMAPDL 无法找到 MAPDL 的副本,系统会提示您 MAPDL 可执行文件的位置。
以下是 Windows 系统的提示和响应示例:
Enter location of MAPDL executable: C:\Program Files\ANSYS Inc\v222\ANSYS\bin\winx64\ansys222.exe
以下是 Linux 系统的提示和响应示例:
Enter location of MAPDL executable: /usr/ansys_inc/v222/ansys/bin/ansys222
设置文件存储在本地,这意味着不会再次提示您输入路径。如果必须更改默认的 Ansys 路径(即更改 MAPDL 的默认版本),请运行此代码:
from ansys.mapdl import core as pymapdl
new_path = "C:\\Program Files\\ANSYS Inc\\v212\\ANSYS\\bin\\winx64\\ansys222.exe"
pymapdl.change_default_ansys_path(new_path)
更多信息,请参阅 change_default_ansys_path()
方法和 find_ansys()
方法。
此外,还可以使用 exec_file
关键字参数在每个 PyMAPDL 脚本中指定可执行文件。
On Windows:
from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl(
exec_file="C://Program Files//ANSYS Inc//v212//ANSYS//bin//winx64//ansys212.exe"
)
On Linux:
from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl(exec_file="/usr/ansys_inc/v212/ansys/bin/ansys212")
您还可以在 additional_switches
关键字参数中添加相应的标志 (-custom
),指定由自定义 MAPDL 编译生成的自定义可执行文件:
from ansys.mapdl.core import launch_mapdl
custom_exec = "/usr/ansys_inc/v212/ansys/bin/ansys212t"
add_switch = f" -custom {custom_exec}"
mapdl = launch_mapdl(additional_switches=add_switch)