.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\05-Legacy\00-overview_example.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_05-Legacy_00-overview_example.py: .. _ref_overview_example: PyDPF-Post overview =================== **PyDPF-Post 概述** 本例概述了如何使用 PyDPF-Post。 .. GENERATED FROM PYTHON SOURCE LINES 12-15 Perform required imports ------------------------ **执行所需的导入** .. GENERATED FROM PYTHON SOURCE LINES 17-18 本示例使用了一个提供的文件,您可以通过导入 DPF ``examples`` 包获得该文件。 .. GENERATED FROM PYTHON SOURCE LINES 18-21 .. code-block:: Python from ansys.dpf import post from ansys.dpf.post import examples .. GENERATED FROM PYTHON SOURCE LINES 22-24 Get ``Solution`` object ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 24-29 .. code-block:: Python # 获取允许访问结果的 ``Solution`` 对象。``Solution`` 对象必须使用结果文件的路径实例化。例如,Windows 下为 ``"C:/Users/user/my_result.rst"`` 或 Linux 下为 ``"/home/user/my_result.rst"`` 。 solution = post.load_solution(examples.multishells_rst) .. GENERATED FROM PYTHON SOURCE LINES 30-33 Get mesh and time/frequency support ----------------------------------- **获得网格和时间/频率支持** .. GENERATED FROM PYTHON SOURCE LINES 35-37 网格是模型的支撑。 时间/频率支持是模型的时间/频率表示。 .. GENERATED FROM PYTHON SOURCE LINES 37-41 .. code-block:: Python mesh = solution.mesh time_freq_support = solution.time_freq_support .. GENERATED FROM PYTHON SOURCE LINES 42-45 Get ``Result`` object --------------------- **获取 ``Result`` 对象** .. GENERATED FROM PYTHON SOURCE LINES 47-48 从 ``Solution`` 对象获取一个 ``Result`` 对象。 ``Result`` 对象可以是应力、塑性应变、弹性应变、温度或位移。 .. GENERATED FROM PYTHON SOURCE LINES 48-59 .. code-block:: Python post.print_available_keywords() stress = solution.stress(location=post.locations.nodal, time_scoping=[1]) # 时间范围 # 在应力结果的定义中,可以使用 ``location`` 和 ``time_scoping`` 。 stress.definition.location stress.definition.time_scoping print(stress) .. rst-class:: sphx-glr-script-out .. code-block:: none element_scoping: list, int or dpf.core.Scoping grouping: str. Use post.grouping.(...) as helper. location: str. Use post.locations.(...) as helper. mapdl_grouping: int. Write 186 to get mapdl_elements solid_186. named_selection: str. Name of named_selection. node_scoping: list, int or dpf.core.Scoping path: DpfPath object that contains a list of coordinates, e.g. [[0.1, 0.0, 0.0], [0.0, 0.1, 0.0]]. set: int time: float time_scoping: list, int or dpf.core.Scoping Stress Tensor object. Object properties: - location : Nodal - time_scoping : [1] .. GENERATED FROM PYTHON SOURCE LINES 60-67 Compute data ------------ **计算数据** **SX 子结果** 该代码得到的子结果 ``SX`` 是 XX 方向的应力张量。 .. GENERATED FROM PYTHON SOURCE LINES 67-79 .. code-block:: Python sx = stress.xx # 首先从 stress 对象中获取 xx 组件的应力,然后存储在 sx 中 sx.num_fields # 获取 sx 的字段数量(num_fields) sx_field = sx[0] # 获取 sx 的第一个字段,并将其存储在 sx_field 中 sx_data = sx.get_data_at_field(0) # 调用 sx 的 ``get_data_at_field`` 方法,获取第一个字段的数据,并将其存储在 sx_data 中 print("数据长度:", len(sx_data)) print("-------------------------------") print("最大应力场:\n", sx.max) print("-------------------------------") print("应力场的最大数据:", sx.max_data) print("应力场字段 0 的最大 SX:", sx.get_max_data_at_field(0)) .. rst-class:: sphx-glr-script-out .. code-block:: none 数据长度: 6854 ------------------------------- 最大应力场: DPF stress_1.s0 Field Location: Nodal Unit: Pa 2 entities Data:1 components and 2 elementary data ------------------------------- 应力场的最大数据: [6.67615284e+11 1.53671424e+13] 应力场字段 0 的最大 SX: 667615283882.6666 .. GENERATED FROM PYTHON SOURCE LINES 80-83 **应力张量结果** 该代码可获取所有方向(`XX```, `XY``, `XZ``, `XY``, `YZ`` 和 `XZ``)的场的最小和最大应力。 .. GENERATED FROM PYTHON SOURCE LINES 83-100 .. code-block:: Python s = stress.tensor s_field = s[0] s_data = sx.get_data_at_field(0) print("数据长度:", len(s_data)) print("-------------------------------") print("最大应力场:\n", s.max) print("-------------------------------") print("应力场的最大数据:", s.max_data) print("应力场字段 0 时的最大应力张量:\n", s.get_max_data_at_field(0)) print("===============================") print("最小应力场:\n", s.min) print("-------------------------------") print("应力场的最小数据:", s.min_data) print("应力场字段 0 处的最小应力张量:\n", s.get_min_data_at_field(0)) .. rst-class:: sphx-glr-script-out .. code-block:: none 数据长度: 6854 ------------------------------- 最大应力场: DPF stress_1.s Field Location: Nodal Unit: Pa 2 entities Data:6 components and 2 elementary data ------------------------------- 应力场的最大数据: [[6.67615284e+11 8.74460905e+11 4.95394439e+11 6.01889079e+11 1.10325826e+11 1.85580244e+11] [1.53671424e+13 4.21781549e+08 3.78202198e+12 2.07950475e+11 1.57995981e+11 1.09972131e+12]] 应力场字段 0 时的最大应力张量: [6.67615284e+11 8.74460905e+11 4.95394439e+11 6.01889079e+11 1.10325826e+11 1.85580244e+11] =============================== 最小应力场: DPF stress_1.s Field Location: Nodal Unit: Pa 2 entities Data:6 components and 2 elementary data ------------------------------- 应力场的最小数据: [[-5.77907764e+11 -7.35604867e+11 -2.41200931e+11 -2.98145939e+11 -2.42143056e+11 -3.09138563e+11] [-1.49601458e+13 -2.63695614e+08 -3.77945626e+12 -3.35432675e+11 -1.57190152e+11 -9.66123233e+11]] 应力场字段 0 处的最小应力张量: [-5.77907764e+11 -7.35604867e+11 -2.41200931e+11 -2.98145939e+11 -2.42143056e+11 -3.09138563e+11] .. GENERATED FROM PYTHON SOURCE LINES 101-104 Plot result ----------- **绘制结果** .. GENERATED FROM PYTHON SOURCE LINES 106-107 使用 ``plot_contour()`` 方法绘制结果。 .. GENERATED FROM PYTHON SOURCE LINES 107-109 .. code-block:: Python s.plot_contour() .. image-sg:: /examples/05-Legacy/images/sphx_glr_00-overview_example_001.png :alt: 00 overview example :srcset: /examples/05-Legacy/images/sphx_glr_00-overview_example_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 3.175 seconds) .. _sphx_glr_download_examples_05-Legacy_00-overview_example.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: 00-overview_example.ipynb <00-overview_example.ipynb>` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: 00-overview_example.py <00-overview_example.py>` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_