Skip to main content

Data Processing Framework - Python Core

Project description

DPF - Ansys Data Processing Framework

PyAnsys Python pypi freq-PyDPF-Core GH-CI docs MIT pypidl cov codacy

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:: https://github.com/pyansys/pydpf-core/raw/main/docs/source/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.

Documentation

Visit the DPF-Core Documentation for a detailed description of the library, or see the Examples Gallery for more detailed examples.

Installation

PyDPF-Core requires DPF to be available, either thanks to a compatible Ansys installation or after installing the standalone server package ansys-dpf-server (see here). Compatibility between PyDPF-Core and Ansys is documented here.

To use PyDPF-Core with ansys-dpf-server or Ansys 2021 R2 or later, install the latest version with this command:

   pip install ansys-dpf-core

PyDPF-Core plotting capabilities require to have PyVista <https://pyvista.org/>_ installed. To install PyDPF-Core with its optional plotting functionalities, use:

   pip install ansys-dpf-core[plotting]

For more information about PyDPF-Core plotting capabilities, see Plotting.

To use PyDPF-Core with Ansys 2021 R1, install the latest version with this command:

   pip install ansys-dpf-core<0.3.0

Brief Demo

Provided you have DPF available, either thanks to an Ansys installation or after installing the standalone server package ansys-dpf-server (see here), a DPF server will start automatically once you start using PyDPF-Core.

To open a result file and explore what's inside, do:

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> model = dpf.Model(examples.find_simple_bar())
>>> print(model)

    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               

Read a result with:

>>> result = model.results.displacement.eval()

Then start connecting operators with:

>>> from ansys.dpf.core import operators as ops
>>> norm = ops.math.norm(model.results.displacement())

Starting the Service

The ansys.dpf.core library automatically starts a local instance of the DPF service in the background and connects to it. If you need to connect to an existing remote or local DPF instance, use the connect_to_server function:

>>> from ansys.dpf import core as dpf
>>> dpf.connect_to_server(ip='10.0.0.22', port=50054)

Once connected, this connection will remain for the duration of the module until you exit python or connect to a different server.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansys-dpf-core-0.8.1.tar.gz (18.2 MB view details)

Uploaded Source

Built Distribution

ansys_dpf_core-0.8.1-py3-none-any.whl (19.4 MB view details)

Uploaded Python 3

File details

Details for the file ansys-dpf-core-0.8.1.tar.gz.

File metadata

  • Download URL: ansys-dpf-core-0.8.1.tar.gz
  • Upload date:
  • Size: 18.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for ansys-dpf-core-0.8.1.tar.gz
Algorithm Hash digest
SHA256 7e7d8a8459b7ee141bf09a2dc14551deb96dfe45427b73783da2c44987385593
MD5 6d8995b3ab65a164cbf2ddb9e4653b82
BLAKE2b-256 7b0f82d248d22c51085b3e0129af4bab5d8aea4208206b4717a3fe693f13f7e7

See more details on using hashes here.

File details

Details for the file ansys_dpf_core-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: ansys_dpf_core-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for ansys_dpf_core-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 74c93a1232c799786c4fb2d078b1204ff78496549751da2d7d791046995a38f8
MD5 cdf4de30fe6a9259a68411290b173f18
BLAKE2b-256 a037f5d66e0f5ba1b0230b1fad5cecae66d0a1a1f0e175d012461037fef7eb94

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page