diff --git a/docs/source/concepts/waysofusing.rst b/docs/source/concepts/waysofusing.rst index 2f6e476555c..8b120d0c789 100644 --- a/docs/source/concepts/waysofusing.rst +++ b/docs/source/concepts/waysofusing.rst @@ -1,16 +1,71 @@ .. _user_guide_waysofusing: -======================= -DPF scripting languages -======================= -DPF is available as a standalone tool and as a tool in Ansys Mechanical. -Each one uses a different language for scripting, so you should decide -whether you want to use standalone DPF or DPF in Mechanical before -creating any scripts. - -CPython -------- -Standalone DPF uses CPython and can be accessed with any Python console. +======================================== +DPF capabilities and scripting languages +======================================== + +DPF as a Framework enabling data computation capabilities +--------------------------------------------------------- + +DPF application: kernel and operator's libraries +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +DPF is a framework that provides data computation capabilities. These capabilities are provided +through libraries of operators. To learn more about the computed data and the operator concepts, see :ref:`user_guide_concepts`. + +A DPF application is always composed of a kernel (DataProcessingCore and DPFClientAPI binaries), +that enables capabilities by loading libraries of operators (for example, mapdlOperatorsCore library +is basic library enabled by DPF). +This application is also called a **DPF Server application**. + +When starting a DPF application, you can customize the list of operator's libraries that the kernel loads. +To learn more on how to customize the initialization of a DPF application, see :ref:`user_guide_xmlfiles`. + +DPF client: available APIs and languages +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +DPF is a framework that provides data computation capabilities. These capabilities are +enabled using the DPF Server application. +These capabilities can be accessed through client APIs, as shown here: + +.. image:: ../images/drawings/apis_2.png + + + + 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. + + 2. Several client APIs are available (CPython, IronPython, C++, and so on). + + 3. Communication in the same process, or through gRPC, allows you to have the client and the servers on different machines. + +Note that **IronPython and CPython APIs are different**, each has specific syntax. + +The **list of available operators when using DPF is independent from the language or API which is used**, it only depends +on how the DPF application has been initialized. + +Most of the DPF capabilities can be accessed using the operators. For more information about the existing operators, see the **Operators** tab. + +Enhance DPF capabilities +~~~~~~~~~~~~~~~~~~~~~~~~ + +The available DPF capabilities loaded in a DPF application can be enhanced by creating new operator's libraries. +DPF offers multiple development APIs depending on your environment. These plugins can be: + +- CPython based (see :ref:`user_guide_custom_operators`) + +- C++ based (see C++ documentation) + +DPF integration +--------------- +DPF is available as a standalone tool and as a tool in Ansys Mechanical. You should decide whether you want +to use standalone DPF or DPF in Mechanical before creating any scripts. + +DPF as a standalone application +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Standalone DPF** can be used through any of the previously mentioned APIs. + +In particular, DPF Standalone capabilities can be enabled using **CPython** and can be accessed via any Python console. Data can be exported to universal file formats, such as VTK, HDF5, and TXT files. You can use it to generate TH-plots, screenshots, and animations or to create custom result plots using the `numpy `_ @@ -18,9 +73,9 @@ and `matplotlib `_ packages. .. image:: ../images/drawings/dpf-reports.png -IronPython ----------- -DPF in Mechanical uses IronPython and is accessible with the **ACT Console**. +Mechanical +~~~~~~~~~~ +**DPF in Mechanical** uses IronPython and is accessible with the **ACT Console**. Use it to perform custom postprocessing and visualization of results directly within the Mechanical application. diff --git a/docs/source/getting_started/compatibility.rst b/docs/source/getting_started/compatibility.rst index 34875b85ae1..d041efbe19c 100644 --- a/docs/source/getting_started/compatibility.rst +++ b/docs/source/getting_started/compatibility.rst @@ -20,7 +20,14 @@ version 0.3.0 or later. With Ansys 2021 R1, you must use a PyDPF-Core 0.2 version. As new features are developed, every attempt is made to ensure backward -compatibility from the client to the server. +compatibility from the client to the server. Backward compatibility is ensured for +the 4 latest Ansys versions. For example, ansys-dpf-core module with 0.8.0 version has been +developed for Ansys 2023 R2 pre1 release, for 2023 R2 Ansys version. It is compatible with +2023 R2, 2023 R1, 2022 R2 and 2022 R1 Ansys versions. + +**Ansys strongly encourages you to use the latest packages available**, as far they are compatible +with the Server version you want to use. Using Ansys 2022 R2, if ansys-dpf-core module with +0.8.0 version is the latest available package, it should be used. The `ansys.grpc.dpf `_ package should also be synchronized with the server version. diff --git a/docs/source/images/drawings/apis_2.png b/docs/source/images/drawings/apis_2.png new file mode 100644 index 00000000000..9099ebcec61 Binary files /dev/null and b/docs/source/images/drawings/apis_2.png differ diff --git a/docs/source/index.rst b/docs/source/index.rst index f8d01f3d7f2..ae17081db8c 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -76,6 +76,53 @@ DPF is developed around two core entities: 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. +Accessing and enriching DPF capabilities +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Most of the DPF capabilities can be accessed using the operators. +For more information about the existing operators, see the **Operators** tab. + +The following sections are summaries. For more detailed content, see :ref:`user_guide_waysofusing`. + +**Accessing DPF Server files** + +DPF capabilities are accessible when DPF Server files are available. These files can be accessed using: + +- The **Ansys installer**. To use it, download the standard installation using your preferred distribution channel, +and install Ansys following the installer instructions. For information on getting a licensed copy of Ansys, +visit the `Ansys website `_. + +- The DPF Server package (see :ref:`ref_getting_started_with_dpf_server`). +It is independent of the Ansys installer. + +**Accessing capabilities with scripting** + +- C++ documentation: + + 1. The Data Processing Framework section in `Platform panel `_. + + 2. `Developer Portal `_ + +- CPython modules documentation: + + 1. `ansys-dpf-core `_ + + 2. `ansys-dpf-post `_ + +- Mechanical scripting (IronPython): + + 1. `DPF through Automation Scripting `_ + + 2. `Python Result object `_ + +**Enriching DPF capabilities** + +- C++ operator's library (see C++ documentation) + +- `C++ solver reader plugin `_ + +- :ref:`user_guide_custom_operators` + .. toctree:: :maxdepth: 2 diff --git a/docs/source/user_guide/getting_started_with_dpf_server.rst b/docs/source/user_guide/getting_started_with_dpf_server.rst index 9941fd54d93..8a7f58c7164 100644 --- a/docs/source/user_guide/getting_started_with_dpf_server.rst +++ b/docs/source/user_guide/getting_started_with_dpf_server.rst @@ -146,7 +146,7 @@ To update the context, apply a new server context: .. code:: - dpf.apply_server_context(dpf.AvailableServerContexts.premium) + server.apply_context(dpf.AvailableServerContexts.premium) .. _target_to_ansys_license_increments_list: