Skip to content

Commit 6b14f03

Browse files
authored
Merge branch 'master' into maint/move_imageio_to_plotting_dependencies
2 parents 48a9af1 + 220ad16 commit 6b14f03

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3456
-285
lines changed

codacy.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
---
22
exclude_paths:
3-
- "./ansys/dpf/core/operators/**/*"
3+
- "./src/ansys/dpf/core/operators/**/*"
4+
- "./ci/**/*"

docs/source/_static/dpf_operators.html

Lines changed: 10 additions & 83 deletions
Large diffs are not rendered by default.

docs/source/concepts/concepts.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Here are descriptions for key DPF terms:
1919
- **Location:** Type of topology associated with the data container. DPF
2020
uses three different spatial locations for finite element data: ``Nodal``,
2121
``Elemental``, and ``ElementalNodal``.
22-
- **Operators:** Objects that are used to create and transform the data.
22+
- **Operators:** Objects that are used to create, transform, and stream the data.
2323
An operator is composed of a **core** and **pins**. The core handles the
2424
calculation, and the pins provide input data to and output data from
2525
the operator.
@@ -28,6 +28,9 @@ Here are descriptions for key DPF terms:
2828
the support can be a mesh, geometrical entity, or time or frequency values.
2929
- **Workflow:** Global entity that is used to evaluate the data produced
3030
by chained operators.
31+
- **Meshed region:** Entity describing a mesh. Node and element scopings,
32+
element types, connectivity (list of node indices composing each element) and
33+
node coordinates are the fundamental entities composing the meshed region.
3134

3235
Scoping
3336
-------
@@ -69,7 +72,7 @@ This image summarizes the preceding concepts:
6972

7073
Operators
7174
---------
72-
You use :ref:`ref_dpf_operators_reference` to create and transform the data. An
75+
You use :ref:`ref_dpf_operators_reference` to create, transform, and stream the data. An
7376
*operator* is composed of a core and input and output pins.
7477

7578
- The core handles the calculation.

docs/source/concepts/waysofusing.rst

Lines changed: 69 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,81 @@
11
.. _user_guide_waysofusing:
22

3-
=======================
4-
DPF scripting languages
5-
=======================
6-
DPF is available as a standalone tool and as a tool in Ansys Mechanical.
7-
Each one uses a different language for scripting, so you should decide
8-
whether you want to use standalone DPF or DPF in Mechanical before
9-
creating any scripts.
10-
11-
CPython
12-
-------
13-
Standalone DPF uses CPython and can be accessed with any Python console.
3+
========================================
4+
DPF capabilities and scripting languages
5+
========================================
6+
7+
DPF as a Framework enabling data computation capabilities
8+
---------------------------------------------------------
9+
10+
DPF application: kernel and operator's libraries
11+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12+
13+
DPF is a framework that provides data computation capabilities. These capabilities are provided
14+
through libraries of operators. To learn more about the computed data and the operator concepts, see :ref:`user_guide_concepts`.
15+
16+
A DPF application is always composed of a kernel (DataProcessingCore and DPFClientAPI binaries),
17+
that enables capabilities by loading libraries of operators (for example, mapdlOperatorsCore library
18+
is basic library enabled by DPF).
19+
This application is also called a **DPF Server application**.
20+
21+
When starting a DPF application, you can customize the list of operator's libraries that the kernel loads.
22+
To learn more on how to customize the initialization of a DPF application, see :ref:`user_guide_xmlfiles`.
23+
24+
DPF client: available APIs and languages
25+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26+
27+
DPF is a framework that provides data computation capabilities. These capabilities are
28+
enabled using the DPF Server application.
29+
These capabilities can be accessed through client APIs, as shown here:
30+
31+
32+
.. image:: ../images/drawings/apis_2.png
33+
34+
35+
1. DPF server application can be accessed using Ansys Inc product, or DPF Server package (see :ref:`ref_getting_started_with_dpf_server`) available on the Customer portal.
36+
37+
2. Several client APIs are available (CPython, IronPython, C++, and so on).
38+
39+
3. Communication in the same process, or through gRPC, allows you to have the client and the servers on different machines.
40+
41+
Note that **IronPython and CPython APIs are different**, each has specific syntax.
42+
43+
The **list of available operators when using DPF is independent from the language or API which is used**, it only depends
44+
on how the DPF application has been initialized.
45+
46+
Most of the DPF capabilities can be accessed using the operators. For more information about the existing operators, see the **Operators** tab.
47+
48+
Enhance DPF capabilities
49+
~~~~~~~~~~~~~~~~~~~~~~~~
50+
51+
The available DPF capabilities loaded in a DPF application can be enhanced by creating new operator's libraries.
52+
DPF offers multiple development APIs depending on your environment. These plugins can be:
53+
54+
- CPython based (see :ref:`user_guide_custom_operators`)
55+
56+
- C++ based (see C++ documentation)
57+
58+
DPF integration
59+
---------------
60+
DPF is available as a standalone tool and as a tool in Ansys Mechanical. You should decide whether you want
61+
to use standalone DPF or DPF in Mechanical before creating any scripts.
62+
63+
DPF as a standalone application
64+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65+
66+
**Standalone DPF** can be used through any of the previously mentioned APIs.
67+
68+
In particular, DPF Standalone capabilities can be enabled using **CPython** and can be accessed via any Python console.
1469
Data can be exported to universal file formats, such as VTK, HDF5, and TXT
1570
files. You can use it to generate TH-plots, screenshots, and animations or
1671
to create custom result plots using the `numpy <https://numpy.org/>`_
1772
and `matplotlib <https://matplotlib.org/>`_ packages.
1873

1974
.. image:: ../images/drawings/dpf-reports.png
2075

21-
IronPython
22-
----------
23-
DPF in Mechanical uses IronPython and is accessible with the **ACT Console**.
76+
Mechanical
77+
~~~~~~~~~~
78+
**DPF in Mechanical** uses IronPython and is accessible with the **ACT Console**.
2479
Use it to perform custom postprocessing and visualization of results directly
2580
within the Mechanical application.
2681

docs/source/getting_started/compatibility.rst

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,14 @@ version 0.3.0 or later. With Ansys 2021 R1, you must use a PyDPF-Core 0.2
2020
version.
2121

2222
As new features are developed, every attempt is made to ensure backward
23-
compatibility from the client to the server.
23+
compatibility from the client to the server. Backward compatibility is ensured for
24+
the 4 latest Ansys versions. For example, ansys-dpf-core module with 0.8.0 version has been
25+
developed for Ansys 2023 R2 pre1 release, for 2023 R2 Ansys version. It is compatible with
26+
2023 R2, 2023 R1, 2022 R2 and 2022 R1 Ansys versions.
27+
28+
**Ansys strongly encourages you to use the latest packages available**, as far they are compatible
29+
with the Server version you want to use. Using Ansys 2022 R2, if ansys-dpf-core module with
30+
0.8.0 version is the latest available package, it should be used.
2431

2532
The `ansys.grpc.dpf <https://pypi.org/project/ansys-grpc-dpf/>`_ package
2633
should also be synchronized with the server version.
18.8 KB
Loading

docs/source/index.rst

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,53 @@ DPF is developed around two core entities:
7676
Each DPF capability is developed through operators that allow for componentization
7777
of the framework. Because DPF is plugin-based, new features or formats can be easily added.
7878

79+
Accessing and enriching DPF capabilities
80+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81+
82+
Most of the DPF capabilities can be accessed using the operators.
83+
For more information about the existing operators, see the **Operators** tab.
84+
85+
The following sections are summaries. For more detailed content, see :ref:`user_guide_waysofusing`.
86+
87+
**Accessing DPF Server files**
88+
89+
DPF capabilities are accessible when DPF Server files are available. These files can be accessed using:
90+
91+
- The **Ansys installer**. To use it, download the standard installation using your preferred distribution channel,
92+
and install Ansys following the installer instructions. For information on getting a licensed copy of Ansys,
93+
visit the `Ansys website <https://www.ansys.com/>`_.
94+
95+
- The DPF Server package (see :ref:`ref_getting_started_with_dpf_server`).
96+
It is independent of the Ansys installer.
97+
98+
**Accessing capabilities with scripting**
99+
100+
- C++ documentation:
101+
102+
1. The Data Processing Framework section in `Platform panel <https://ansysapi.ansys.com/account/secured?returnurl=/Views/Secured/main_page.html?lang=en>`_.
103+
104+
2. `Developer Portal <https://developer.ansys.com/product/DPF-Server-Client-Library/index.xhtml>`_
105+
106+
- CPython modules documentation:
107+
108+
1. `ansys-dpf-core <https://dpf.docs.pyansys.com/version/stable/>`_
109+
110+
2. `ansys-dpf-post <https://post.docs.pyansys.com/version/stable/>`_
111+
112+
- Mechanical scripting (IronPython):
113+
114+
1. `DPF through Automation Scripting <https://ansysproducthelpdev.win.ansys.com/account/secured?returnurl=/Views/Secured/corp/v231/en/act_script/mech_apis_data_process_frame.html>`_
115+
116+
2. `Python Result object <https://ansyshelp.ansys.com/account/secured?returnurl=/Views/Secured/corp/v231/en/wb_sim/ds_python_result.html>`_
117+
118+
**Enriching DPF capabilities**
119+
120+
- C++ operator's library (see C++ documentation)
121+
122+
- `C++ solver reader plugin <https://astonishing-hyacinth-e64.notion.site/How-to-write-a-new-solver-reader-as-a-DPF-s-plugin-bd2d2a3cf51f47ef9e70df45d64f89cb>`_
123+
124+
- :ref:`user_guide_custom_operators`
125+
79126

80127
.. toctree::
81128
:maxdepth: 2
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
:orphan:
2+
3+
=========
4+
Operators
5+
=========
6+
7+
Loading operators.
8+
9+
.. raw:: html
10+
11+
<iframe
12+
src="_static/dpf_operators.html"
13+
style="
14+
position: fixed;
15+
top: 36px;
16+
bottom: 0px;
17+
right: 0px;
18+
width: 100%;
19+
border: none;
20+
margin: 0;
21+
padding: 0;
22+
overflow: hidden;
23+
z-index: 1000;
24+
height: 100%;
25+
">
26+
</iframe>

docs/source/user_guide/getting_started_with_dpf_server.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ To update the context, apply a new server context:
146146

147147
.. code::
148148
149-
dpf.apply_server_context(dpf.AvailableServerContexts.premium)
149+
server.apply_context(dpf.AvailableServerContexts.premium)
150150
151151
.. _target_to_ansys_license_increments_list:
152152

docs/source/user_guide/operators.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Operators
66

77
.. include:: <isonum.txt>
88

9-
An operator is the only object that is used to create and transform
9+
An operator is the main object that is used to create, transform, and stream
1010
data. In DPF, you use operators to load, operate on, and output data.
1111

1212
Each operator contains ``input`` and ``output`` attributes, which

0 commit comments

Comments
 (0)