========== PyDPF-Core ========== The Data Processing Framework (DPF) provides numerical simulation users and engineers with a toolbox for accessing and transforming simulation data. With DPF, you can perform complex preprocessing or postprocessing of large amounts of simulation data within a simulation workflow. DPF is an independent, physics-agnostic tool that you can plug into many apps for both data input and data output, including visualization and result plots. It can access data from solver result files and other neutral formats, such as CSV, HDF5, and VTK files. Using the many DPF operators that are available, you can manipulate and transform this data. You can also chain operators together to create simple or complex data-processing workflows that you can reuse for repeated or future evaluations. The data in DPF is defined based on physics-agnostic mathematical quantities described in self-sufficient entities called **fields**. This allows DPF to be a modular and easy-to-use tool with a large range of capabilities. .. image:: images/drawings/dpf-flow.png :width: 670 :alt: DPF flow The ``ansys.dpf.core`` package provides a Python interface to DPF, enabling rapid postprocessing of a variety of Ansys file formats and physics solutions without ever leaving the Python environment. Brief demo ~~~~~~~~~~ Here is how you open a result file generated by MAPDL (or another ANSYS solver) and extract results: .. code:: python >>> from ansys.dpf.core import Model >>> from ansys.dpf.core import examples >>> model = Model(examples.find_simple_bar()) >>> print(model) Here is how you plot displacement results: .. code:: python >>> disp = model.results.displacement().X() >>> model.metadata.meshed_region.plot(disp.outputs.fields_container()) For comprehensive examples of how you use PyDPF-Core, see :ref:`gallery`. Key features ~~~~~~~~~~~~ **Computational efficiency** DPF is a modern framework based on new hardware architectures. Thanks to continued development, new capabilities are frequently added. **Generic interface** DPF is physics-agnostic, which means that its use is not limited to a particular field, physics solution, or file format. **Extensibility and customization** DPF is developed around two core entities: - Data represented as a **field** - An **operator** to act upon this data Each DPF capability is developed through operators that allow for componentization of the framework. Because DPF is plugin-based, new features or formats can be easily added. .. toctree:: :maxdepth: 2 :caption: Getting Started :hidden: getting_started/index user_guide/index concepts/index api/index operator_reference examples/index contributing