.. _user_guide_model: ========= DPF model ========= DPF 模型是打开结果文件的起点。通过 ``Model`` 对象,您可以连接各种运算符并显示结果和数据。 要创建 ``Model`` 对象的实例,请导入 ``pydpf-core`` 软件包并加载结果文件。所提供的路径必须是绝对路径或相对于 DPF 服务器的路径。 .. code-block:: python from ansys.dpf import core as dpf from ansys.dpf.core import examples path = examples.find_simple_bar() model = dpf.Model(path) 要了解结果文件中的内容,可以打印模型(或任何其他实例): .. code-block:: python print(model) .. rst-class:: sphx-glr-script-out .. code-block:: none DPF Model ------------------------------ Static analysis Unit system: Metric (m, kg, N, s, V, A) Physics Type: Mechanical Available results: - displacement: Nodal Displacement - element_nodal_forces: ElementalNodal Element nodal Forces - elemental_volume: Elemental Volume - stiffness_matrix_energy: Elemental Energy-stiffness matrix - artificial_hourglass_energy: Elemental Hourglass Energy - thermal_dissipation_energy: Elemental thermal dissipation energy - kinetic_energy: Elemental Kinetic Energy - co_energy: Elemental co-energy - incremental_energy: Elemental incremental energy - structural_temperature: ElementalNodal Temperature ------------------------------ DPF Meshed Region: 3751 nodes 3000 elements Unit: m With solid (3D) elements ------------------------------ DPF Time/Freq Support: Number of sets: 1 Cumulative Time (s) LoadStep Substep 1 1.000000 1 1 有关综合模型示例,请参阅 :ref:`ref_basic_example` 。 有关 ``Model`` 对象的描述,请参阅 :ref:`ref_model` 。 Model metadata -------------- 要访问有关分析的所有信息,可以使用模型元数据: - Type of analysis/分析类型 - Time or frequency descriptions/时间或频率描述 - Mesh/网格 - Available results/可用结果 本例说明了如何获取分析类型: .. code-block:: python model.metadata.result_info.analysis_type .. rst-class:: sphx-glr-script-out .. code-block:: none 'static' 本例展示了如何获取网格信息: .. code:: python model.metadata.meshed_region.nodes.n_nodes model.metadata.meshed_region.elements.n_elements print(model.metadata.meshed_region.elements.element_by_id(1)) .. rst-class:: sphx-glr-script-out .. code-block:: none 3751 3000 DPF Element 1 Index: 1400 Nodes: 8 Type: element_types.Hex8 Shape: Solid 此示例显示如何获取 time sets: .. code-block:: python time_freq_support = model.metadata.time_freq_support print(time_freq_support.time_frequencies.data) .. rst-class:: sphx-glr-script-out .. code-block:: none [1.] 有关 ``Metadata`` 对象的描述,请参阅 :ref:`ref_model` 。 Model results ------------- ``Model`` 对象包含 ``results`` 属性,您可以用它创建操作符来访问某些结果。 本例显示了如何查看可用结果: .. code-block:: python print(model.results) .. rst-class:: sphx-glr-script-out .. code-block:: none Static analysis Unit system: Metric (m, kg, N, s, V, A) Physics Type: Mechanical Available results: - displacement: Nodal Displacement - element_nodal_forces: ElementalNodal Element nodal Forces - elemental_volume: Elemental Volume - stiffness_matrix_energy: Elemental Energy-stiffness matrix - artificial_hourglass_energy: Elemental Hourglass Energy - thermal_dissipation_energy: Elemental thermal dissipation energy - kinetic_energy: Elemental Kinetic Energy - co_energy: Elemental co-energy - incremental_energy: Elemental incremental energy - structural_temperature: ElementalNodal Temperature .. autoattribute:: ansys.dpf.core.model.Model.results :noindex: 使用 ``results`` 属性,可以直接选择时间、频率或空间子集来获取给定结果。 本例展示了如何在网格范围内获得所有时间频率的位移结果: .. code-block:: python disp_result = model.results.displacement disp_at_all_times_on_node_1 = disp_result.on_all_time_freqs.on_mesh_scoping([1]) 有关使用 ``Result`` 对象的示例,请参阅 :ref:`ref_transient_easy_time_scoping` 。 有关 ``Model`` 对象的描述,请参阅 :ref:`ref_results` 。 API reference ~~~~~~~~~~~~~ 更多信息,请参阅 :ref:`ref_model` 或 :ref:`ref_results` 。