Skip to content

Releases: ansys/pydpf-core

v0.6.0

02 Sep 14:51
Compare
Choose a tag to compare

v0.6.0 Release Notes

pydpf-core 0.6.0 release for Ansys 2023 R1
This release starts supporting the next ANSYS 2023 R1.
Some of the new functionalities may only be available for use with ANSYS 2023 R1.

What's Changed

Enhancements

  • Correct the "Mecanic" typo in physics type to "Mechanical" (with ANSYS 2023 R1).
  • Add operators to read VTU format (with ANSYS 2023 R1).
  • Add the StringField class to describe string data (such as names) scoped on entities (with ANSYS 2023 R1).
  • Add the Generic Support class as an implementation of the base class Support (with ANSYS 2023 R1). The Generic Support enables to support properties by Fields, PropertyFields and/or StringFields.
  • Add common getters for all implementations of Support (TimeFreqSupport and GenericSupport) (with ANSYS 2023 R1).
  • ResultInfo qualifiers (with ANSYS 2023 R1): available Results can come with qualifiers specifying available subparts of the Result (ie: specific phase, species...).

Documentation

  • Add Example for distributed averaging (with ANSYS 2023 R1)

Bug fixes

CI/CD

  • Remove restriction on protobuf by @PProfizi in #398
  • Ci/dependabot configuration by @PProfizi in #407
  • Add explicit testing of all supported Python versions by @PProfizi in #403
  • Test on ubuntu-latest as 18.04 is deprecated. by @PProfizi in #419
  • Add a Draft Release job and a releaser.yml workflow to the CI by @PProfizi in #434

Maintenance

New Contributors

Full Changelog: v0.5.2...v0.6.0

v0.5.2

10 Aug 12:40
Compare
Choose a tag to compare

v0.5.2 Release Notes

pydpf-core 0.5.2 release for Ansys 2022 R2

What's Changed

Enhancements

  • Three server configurations are available. PyDPF can communicate either in Process or via gRPC with DPF C++ core server.

    • InProcessServer: Loads DPF's binaries in Process and shares memory with DPF's data. Performance is greatly improved. Now the default configuration.
    • GrpcServer: Uses gRPC communication through DPF gRPC CLayer Ans.Dpf.GrpcClient.
    • LegacyGrpcServer: Uses gRPC communication through the Python module ansys.grpc.dpf.
  • Enhanced DPF capabilities by creating custom Python operators. See the Create Custom Operators documentation.

  • You can now use RuntimeClientConfig (commit) and RuntimeCoreConfig to parametrize DPF.
    RuntimeClientConfig (commit) allows you to:

    • Set the streaming_buffer_size while streaming data through gRPC server configurations.
    • Choose whether to stream float or double values while streaming Field data through gRPC server configurations.
    • Choose whether to return numpy arrays by default (for scoping's IDs, field's data_pointer). The default is now True.

    RuntimeCoreConfig allows you to set the number of threads used (on the server side) for operators that enable multi-threaded data computation.

  • Parallelized pre- and post-processing workflows with remote operators.

  • Added new operators in the ansys.dpf.core.operators module, such as logic.ascending_sort(), logic.ascending_sort_fc(), logic.descending_sort(), logic.descending_sort_fc(), serialization.data_tree_to_json(), serialization.json_to_data_tree(), mesh.meshes_provider(), and so on. See the PyDPF documentation related to operators to learn how to use them.

  • Warped mesh in plotter: Enable data visualization on a deformed mesh. Example here.

Continuous Integration

  • ansys-dpf-gate is a new dependency of ansys-dpf-core.
  • tqdm replaces progressbar2 as the third party module for progress bars.
  • Backward compatibility workflow running on Ansys 2022 R1.
  • Examples workflow running documentation examples for different server configurations.
  • protobuf breaking change is not supported, supported versions are <=3.20.1.
  • Added Dependabot to CI.
  • Added dependency on packaging module.

Bug fixes

  • Fixed circular references between DPF objects.

Documentation fixes

New Contributors

Full Changelog: 0.4.2...v0.5.2

0.5.2b1

28 Jul 07:22
Compare
Choose a tag to compare
0.5.2b1 Pre-release
Pre-release

v0.5.2b1 Release Notes

pydpf-core 0.5.2b1 pre-release (beta version) for Ansys 2022 R2

What's Changed

Enhancements

  • Three server configurations are available. PyDPF can communicate either in Process or via gRPC with DPF C++ core server.

    • InProcessServer: Loads DPF's binaries in Process and shares memory with DPF's data. Performance is greatly improved.
    • GrpcServer: Uses gRPC communication through DPF gRPC CLayer Ans.Dpf.GrpcClient.
    • LegacyGrpcServer: Uses gRPC communication through the Python module ansys.grpc.dpf (the default configuration for the beta release).
  • Enhanced DPF capabilities by creating custom Python operators. See the Create Custom Operators documentation.

  • You can now use RuntimeClientConfig (commit) and RuntimeCoreConfig to parametrize DPF.
    RuntimeClientConfig (commit) allows you to:

    • Set the streaming_buffer_size while streaming data through gRPC server configurations.
    • Choose whether to stream float or double values while streaming FIeld data through gRPC server configurations.
    • Choose whether to return numpy arrays by default (for scoping's ids, field's data_pointer), default is now True.

    RuntimeCoreConfig allows you to set the number of threads used (on the server side) for operators that enable multi-threaded data computation.

  • Parallelized pre and post processing workflows with remote operators.

  • Added new operators in the ansys.dpf.core.operators module, such as logic.ascending_sort(), logic.ascending_sort_fc(), logic.descending_sort(), logic.descending_sort_fc(), serialization.data_tree_to_json(), serialization.json_to_data_tree(), mesh.meshes_provider(), and so on. See the PyDPF documentation related to operators to learn how to use them.

  • Warped mesh in plotter: Enable data visualization on a deformed mesh.

Continuous Integration

  • ansys-dpf-gate is a new dependency of ansys-dpf-core.
  • tqdm replaces progressbar2 as the third party module for progress bars.
  • Backward compatibility workflow running on Ansys 2022 R1.
  • Examples workflow running documentation examples for different server configurations.
  • protobuf breaking change is not supported, supported versions are <=3.20.1.
  • Added Dependabot to CI.
  • Added dependency on packaging module

Bug fixes

  • Fixed circular references between DPF objects.

Documentation fixes

Full Changelog: 0.4.2...0.5.2b1

What's Changed

New Contributors

Full Changelog: https://github.com/pyansys/pydpf-core/commits/0.5.2b1

0.4.2

15 Jun 13:09
Compare
Choose a tag to compare

What's Changed

Enhancements

  • PyPIM has been integrated. In an environment configured for PIM, PyDPF-Core is now able to start a remote instance of a DPF server and connect to it.
  • Scalar bars now show the unit of the data represented.
  • Plotting methods now return the result of the pyvista.Plotter.show method.
  • The ANSYS_PATH environment variable is now available to force the use of a specific ANSYS version and its installation folder.
  • Added an example for plotting the stress gradient on a path normal to a selected surface node.
  • Added a check to verify the presence of the server executable before trying to launch a server.

Continuous Integration

  • Added coverage reports and merging criteria via CodeCov. A Pull request now cannot decrease the global coverage ratio.
  • The badges in the Readme.md have been improved.
  • Added a concurrency criterion to the test pipeline. The latest commit to a PR will now cancel the jobs for the previous commits before running one.

Bug fixes

  • Fixed an error in the previously added feature for node labeling. The label now reports the correct data value for the node.
  • Fixed plot behavior when using PyVista kwargs such as screenshot, off_screen, notebook, show_axes, stitle or scalar_bar_args.

Documentation fixes

  • Fixed typo in example 02/04
  • Fixed typo in example 06/03
  • Fixed the support email address in Contributing.
  • Improved the Compatibility section.

Pull requests

Full Changelog: 0.4.1...0.4.2

0.4.1

14 Apr 08:39
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Add nodal labels on plots.
  • Improve the warning for server-client compatibility issues.
  • Add one more try if first connection timed-out, with doubled waiting time.
  • Path input support extended to all path-like objects.

Continuous Integration

  • Fix documentation deployment at release.
  • Update git clone build actions in accordance with changes in GitHub policy.
  • Pipelines now use action pyansys/pydpf-actions/install-dpf-server@v1 for installing and testing a dpf server.

Bug fixes

Documentation fixes

Pull requests

  • fix release doc with environment variables PowerShell #173
  • added min max label boolean #158
  • Plotter: enable using **kwargs for DpfPlotter.show() method #144
  • Ci/use pydpf action #183
  • Doc: fix Contributing - cloning commands snippet #190
  • Fix/issue#186 path like support #191
  • Corrected wrong link for Scooby page in Pypi #184
  • Ci/fix/issue195 build actions failing due to new GitHub policy #196
  • Fix/timeout server 2tries #198
  • Fix/timeout server 2tries #199
  • Fix a typo in the data exchange example #205
  • Added image and updated intro. #204
  • Added DPF XML File content #207
  • Improve ImportWarning in check_ansys_grpc_dpf_version #208
  • Doc/operators reference only cpython #206
  • Removed word based on comment from DPF-POST pull request #209
  • Doc/update post processing examples #211

New Contributors

Full Changelog: 0.4.0...0.4.1

0.4.0

11 Feb 07:48
Compare
Choose a tag to compare

v0.4.0 Release Notes

pydpf-core 0.4.0 released for Ansys 2022 R1

What's Changed

Enhancements

  • Verify ansys-grpc-dpf module's version on server start and connection and raise a helpful error message if the wrong version is used
  • Add native remote workflows capability: Workflows and Operators instantiated on different servers can be connected together transparently to create distributed pre and post processing workflows. Workflows created on a given server can be moved to other servers.
  • Print optional progress bar when Operators or Workflows are evaluated. This uses the new Session API through grpc.
  • Evaluate Operators or Workflows asynchronously to fetch progress in the meanwhile
  • Start automatically server on Docker Container with, either the environment variable DPF_DOCKER or either the parameter docker_name of the function start_local_server set to the name of the docker. Unit tests can be run on Docker Container
  • Implement Integral Collection to connect and get output data as int, double or string arrays more efficiently from Operators and Workflows
  • Create generic calls to get and set field properties from and to the MeshedRegion
  • Identify DPF entities in grpc databases by their entity IDs and their DataBase IDs to allow for better communication between servers
  • Add capability to generate operators python code client side
  • Read the mesh by default when a displacement is requested (can be disabled with model.mesh_by_default = False )
  • Support new operators to average elemental centroids results
  • Improve handling of MAPDL coupled analysis
  • Create path_utilities to offer helpers on path depending on the server os
  • Add capability to connect TimeFreqSupport to Operators or Workflows is added

Continuous Integration

  • Move CI/CD pipelines to github actions (unit testing on windows and documentation build for Ansys 2022R1)

Bug fixes

  • Fix automatic code generation for model.results.... so that it works for results with scripting names having " ", "/", "", ".", ":", ";", ",", "(", ")" characters.
  • "Wrap" decorator server_meet_version so that call stacks when exception are raised are correct
  • Fetch named selections from the MeshedRegion only when it's specifically required to improve performances
  • Properly release memory server side when time/frequencies are requested by the TimeFreqSupport
  • Add more unary calls in ResultInfo service

Documentation fixes

  • README.md references pydpf-core instead of DPF-Core
  • Improve spelling

Pull requests

  • Update ci for release 0.4.0 #168
  • Create actions for release 0.4.0 #170
  • Merge ansys-dpf-core 0.4.0 from private repository to GitHub #167
  • Check ansys-grpc-dpf on server start and connection #171
  • Connect time frequency support to operators and workflows #172

Full Changelog: 0.3.4...0.4.0

0.3.5

03 Feb 15:12
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Speed up python script exit with ansys-dpf-core module imported
  • Enhance the time frequency scoping factory
  • Improve links in documentation

Pull requests

  • Server shutdown improvement #148
  • doc/edits to some basic example files #149
  • Scoping on all times #151
  • Version/ansys grpc dpf 0.3.0 #169

Full Changelog: 0.3.4...0.3.5

0.3.4

10 Dec 09:07
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Add manipulable DpfPlotter object that allows multiple mesh/field plotting
  • Enhance documentation

Pull requests

  • Plotter: multiple mesh enhancement #130
  • Documentation: add troubleshooting section related to the model #139
  • Plotter: return_cpos (kwargs) updates with a field display #141

Full Changelog: 0.3.3...0.3.4

0.3.3

10 Dec 08:04
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Enhance documentation and examples
  • Enhance CommonResults and Model

Pull requests

  • static CommonResults should be returned when the available results couldn't be loaded #135
  • custom title for mesh.plot(field) #131
  • local data updates only when modified #133
  • Make model more permissive #132
  • safe print dpf entity #125
  • fix typo CommonResults #129
  • Add linux doc build #122
  • add docstrings to settings module #124
  • Doc/add troubleshooting #109
  • add new examples to expose fields containers capabilities #123

Thank you @cbellot000, @jleonatti, @TheGoldfish01 for contributing !

Full Changelog: 0.3.2...0.3.3

0.3.2

10 Dec 08:38
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Implement cache: add @class_handling_cache decorator to reduce the number of server requests #107
  • Improve performances for data to server upload and as_local_field usage. Allow disabling property evalution by jedi #108

Pull requests

  • Remove operator name in result info print #119
  • add capability to disable dynamic result property creation #115
  • update plotting getting started in the documentation #118
  • Improve performances #108
  • add description in pypi #112
  • Add link to logo #110
  • Temporary fix: vtk version #111
  • add automatic completion for model's results #99
  • implement cache #107
  • fix pyansys logo #106
  • deep copy of field definition #92

Thank you @germa89 and @cbellot000 for contributing!

Full Changelog: 0.3.1...0.3.2