.. _user_guide_xmlfiles:
=============
DPF XML files
=============
本页介绍 DPF 提供的 ``DataProcessingCore.xml`` 和 ``Plugin.xml`` XML 文件。
这些 XML 文件可在 Linux 和 Windows 上运行,因为它们包含适用于这两种操作系统的内容。
这些 XML 文件必须与 Windows 下的插件 DLL 文件或 Linux 下的 SO 文件放在一起。
``DataProcessingCore.xml`` file
-------------------------------
``DataProcessingCore.xml`` 文件提供用于配置要加载的插件。
下面是该 XML 文件的内容:
.. code-block:: html
/usr/local/ansys_inc/v222
E:\ANSYSDev\ANSYS Inc\v222
libAns.Dpf.Native.so
LoadOperators
false
$(THIS_XML_FOLDER)\Ans.Dpf.NativeD.dll
LoadOperators
Ans.Dpf.Native.dll
LoadOperators
$(THIS_XML_FOLDER)\Ans.Dpf.FEMUtils.dll
LoadOperators
true
在这个 XML 文件中,有些元素是可选的,而且许多元素都有 Linux 专用子元素和 Windows 专用子元素。
.. caution::
为了确保 DPF 正确运行,请仔细修改此 XML 文件。此 XML 文件中指定的所有路径都必须遵守各自操作系统的路径约定。
对于 Linux 路径,请使用正斜杠 (/)。对于 Windows 路径,请使用反斜杠 (\\)。
```` element
~~~~~~~~~~~~~~~~~~~~~~~~~
```` 元素仅用于定义 Ansys 软件的根文件夹。其子元素 ```` 可以定义安装在 Linux 和 Windows 上的 Ansys 软件的根文件夹。
根文件夹的路径以 Ansys 版本信息 ``v###`` 结尾,其中 ``###`` 是已安装版本的三位数格式。例如,在 Windows 上,Ansys 2022 R2 根文件夹的路径可能以 ``\ANSYS Inc\v222`` 结尾。
``ANSYS_ROOT_FOLDER`` 元素定义了一个变量,可以在其他 XML 文件中使用。例如,您可能使用它来查找必需的第三方软件。
如果 ``DataProcessing.xml`` 文件中未定义 ``ANSYS_ROOT_FOLDER`` 元素,将尝试相对于 ``DataProcessingCore`` DLL 或 SO 文件查找根文件夹。这仅适用于 ``DataProcessingCore.xml`` 文件位于其默认位置的情况。
如果 ``ANSYS_ROOT_FOLDER`` 元素仍然未定义,则通过读取特定于所安装 Ansys 版本的 ``AWP_ROOT###`` 环境变量来确定根文件夹。例如,如果您使用的是 Ansys 2022 R2,则它会查找 ``AWP_ROOT222`` 环境变量以查找根文件夹。
``ANSYS_ROOT_FOLDER`` 不是一个环境变量,因此无法对其进行相应设置。
```` element
~~~~~~~~~~~~~~~~~~~~~~~~~~~
```` 元素定义了要加载的插件。 ```` 或 ```` 子元素包含子元素中定义的插件的操作系统。
```` 元素定义 DPF 本地操作符。将插件进一步细分为 ```` 或 ```` 元素是可选的。例如, ```` 元素只能用于 ``DataProcessingCore`` DLL 或 SO 文件的调试版本。
插件的元素名称,例如 ```` 和 ````,用作加载插件时的 **keys** 。每个插件必须有一个唯一的 key。
每个插件的元素都有子元素:
- ````:包含要加载插件的位置。使用操作系统用来查找 DLL 或 SO 文件的正常机制。
DLL 文件可能在 Windows 路径中,SO 文件可能在 Linux ``LD_LIBRARY_PATH`` 系统环境变量中。
- ````:包含插件的加载方式。只支持 ``LoadOperators``。它会加载插件内的所有操作符。
- ````:包含一个 ``true`` 或 ``false`` 值,表示是否使用下一个元素中定义的 ``PLUGIN.XML`` 文件加载插件。此元素为可选项。默认值为 ``true``。
要提供插件的绝对路径,可以使用这些预定义变量:
- ``ANSYS_ROOT_FOLDER``,如前一节所述。
- ``THIS_XML_FOLDER``,它定义了当前 XML 文件所在的位置。在本例中,它定义了 ``DataProcessingCore.xml`` 文件所在的位置。
你也可以使用任何其他环境变量。例如,如果你一直将你的插件放在由 ``MY_PLUGINS`` 环境变量所定义的某个文件夹中,你就可以在 XML 文件中使用它。
您指定环境变量的方式与 ``ANSYS_ROOT_FOLDER`` 或 ``THIS_XML_FOLDER`` 变量相同。它们被定义为 ``$(…)``。
在 Ansys 安装中,默认的 ``DataProcessingCore.xml`` 文件位于 ``DataProcessingCore`` DLL 或 SO 文件旁边。如果您想使用不同的文件,可以使用特定的 ``DataProcessingCore.xml`` 文件初始化 DPF。
``Plugin.xml`` file
-------------------
通过 ``Plugin.xml`` 文件,您可以配置加载插件的特定环境。
以下是这个 XML 文件的内容:
.. code-block:: html
$(ANSYS_ROOT_FOLDER)/aisol/dll/linx64:$(ANSYS_ROOT_FOLDER)/aisol/lib/linx64:$(ANSYS_ROOT_FOLDER)/tp/IntelMKL/2020.0.166/linx64/lib/intel64:$(LD_LIBRARY_PATH)
c:\temp
$(ANSYS_ROOT_FOLDER)\aisol\bin\winx64;$(ANSYS_ROOT_FOLDER)\tp\IntelMKL\2020.0.166\winx64;$(ANSYS_ROOT_FOLDER)\tp\IntelCompiler\2019.5.281\winx64;$(MY_FOLDER);$(PATH)
该 XML 文件中的 ```` 元素的定义方式与 ``DataProcessingCore.xml`` 文件相同。
定义或使用的任何环境变量在定义或使用时都具有相应的值。实际上,你可以多次定义一个变量,并不断追加。