Skip to main content

DPF Python client

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) is designed to provide numerical simulation users/engineers with a toolbox for accessing and transforming simulation data. DPF can access data from solver result files as well as several neutral formats (csv, hdf5, vtk, etc.). Various operators are available allowing the manipulation and the transformation of this data.

DPF is a workflow-based framework which allows simple and/or complex evaluations by chaining operators. The data in DPF is defined based on physics agnostic mathematical quantities described in a self-sufficient entity called field. This allows DPF to be a modular and easy to use tool with a large range of capabilities. It's a product designed to handle large amount of data.

The Python ansys.dpf.core module provides a Python interface to the powerful DPF framework enabling rapid post-processing of a variety of Ansys file formats and physics solutions without ever leaving a 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

DPF requires an Ansys installation and must be compatible with it. Compatibility between PyDPF-Core and Ansys is documented here.

Starting with Ansys 2021R2, install this package with:

pip install ansys-dpf-core 

For use with Ansys 2021R1, install this package with:

pip install ansys-dpf-core==0.2.1

You can also clone and install this repository with:

git clone https://github.com/pyansys/pydpf-core
cd pydpf-core
pip install . --user

Running DPF

See the example scripts in the examples folder for some basic example. More will be added later.

Brief Demo

Provided you have ANSYS 2021R1 or higher installed, a DPF server will start automatically once you start using DPF.

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 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.6.2.tar.gz (10.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ansys_dpf_core-0.6.2-py3-none-any.whl (10.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ansys-dpf-core-0.6.2.tar.gz
  • Upload date:
  • Size: 10.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for ansys-dpf-core-0.6.2.tar.gz
Algorithm Hash digest
SHA256 6c449294df6a79a1ee8c1f9653e5fb6d8ee32ece76db0905f0b8d6c0f0dbef30
MD5 8d0b1b48f820ea51361f641557cc6023
BLAKE2b-256 c5cfbd418643d5b299be6923d15dc72220345b2ecfd95a2141c9cda69a0b496b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ansys_dpf_core-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for ansys_dpf_core-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ed61aee08ba6929a660016ee71d554ad1d9c1d095e1d380837a16829f486d13
MD5 d7ec0eb566b8ece80cd6c47bedbb0850
BLAKE2b-256 bc6576d2a79128cfa2c09cce224d582a539d512b58bc7e6199b177968836d8d3

See more details on using hashes here.

Supported by

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