diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml
index 965739f4d6..fd70177d80 100644
--- a/.github/ISSUE_TEMPLATE/bug.yml
+++ b/.github/ISSUE_TEMPLATE/bug.yml
@@ -61,6 +61,8 @@ body:
label: Which DPF/Ansys version are you using?
multiple: true
options:
+ - 'DPF Server 2025.2.pre0'
+ - 'Ansys 2025 R1'
- 'DPF Server 2025.1.pre0'
- 'Ansys 2024 R2'
- 'DPF Server 2024.2.pre1'
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 4a58a09d23..0e2b87ddd9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -14,7 +14,7 @@ on:
description: "ANSYS version"
required: false
type: string
- default: "251"
+ default: "252"
standalone_branch_suffix:
description: 'Suffix of the branch on standalone'
required: false
@@ -105,7 +105,7 @@ jobs:
uses: ./.github/workflows/tests.yml
needs: pick_server_suffix
with:
- ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '252' }}
python_versions: '["3.9"]'
wheel: true
wheelhouse: false
@@ -116,7 +116,7 @@ jobs:
uses: ./.github/workflows/tests.yml
needs: pick_server_suffix
with:
- ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '252' }}
python_versions: '["3.9"]'
wheel: true
wheelhouse: false
@@ -129,7 +129,7 @@ jobs:
uses: ./.github/workflows/test_docker.yml
needs: pick_server_suffix
with:
- ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '252' }}
standalone_suffix: ${{needs.pick_server_suffix.outputs.suffix}}
secrets: inherit
@@ -138,7 +138,7 @@ jobs:
uses: ./.github/workflows/examples_docker.yml
needs: pick_server_suffix
with:
- ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '252' }}
python_versions: '["3.9"]'
standalone_suffix: ${{needs.pick_server_suffix.outputs.suffix}}
secrets: inherit
@@ -148,7 +148,7 @@ jobs:
uses: ./.github/workflows/docs.yml
needs: pick_server_suffix
with:
- ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '252' }}
standalone_suffix: ${{needs.pick_server_suffix.outputs.suffix}}
event_name: ${{ github.event_name }}
secrets: inherit
@@ -173,11 +173,22 @@ jobs:
uses: ./.github/workflows/examples.yml
needs: pick_server_suffix
with:
- ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '252' }}
python_versions: '["3.9"]'
standalone_suffix: ${{needs.pick_server_suffix.outputs.suffix}}
secrets: inherit
+ retro_251:
+ name: "retro 251"
+ if: startsWith(github.head_ref, 'master') || github.event.action == 'ready_for_review' || !github.event.pull_request.draft
+ uses: ./.github/workflows/tests.yml
+ with:
+ ANSYS_VERSION: "251"
+ python_versions: '["3.9"]'
+ DOCSTRING: false
+ standalone_suffix: ''
+ secrets: inherit
+
retro_242:
name: "retro 242"
if: startsWith(github.head_ref, 'master') || github.event.action == 'ready_for_review' || !github.event.pull_request.draft
@@ -237,7 +248,7 @@ jobs:
uses: ./.github/workflows/pydpf-post.yml
needs: pick_server_suffix
with:
- ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '252' }}
post_branch: "master"
standalone_suffix: ${{needs.pick_server_suffix.outputs.suffix}}
test_docstrings: "true"
diff --git a/.github/workflows/ci_release.yml b/.github/workflows/ci_release.yml
index 40617a129c..27815a3923 100644
--- a/.github/workflows/ci_release.yml
+++ b/.github/workflows/ci_release.yml
@@ -73,22 +73,43 @@ jobs:
name: ${{ steps.wheel.outputs.wheel_name }}
path: dist/${{ steps.wheel.outputs.wheel_name }}
+ tests_3_9:
+ uses: ./.github/workflows/tests.yml
+ with:
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ python_versions: '["3.9"]'
+ wheel: true
+ wheelhouse: true
+ standalone_suffix: ${{ github.event.inputs.standalone_branch_suffix || '.pre0' }}
+ secrets: inherit
+
tests:
uses: ./.github/workflows/tests.yml
with:
ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
- python_versions: '["3.9", "3.10", "3.11"]'
- wheel: ${{ matrix.python-version == '3.9' }}
+ python_versions: '["3.10", "3.11"]'
+ wheel: false
wheelhouse: true
standalone_suffix: ${{ github.event.inputs.standalone_branch_suffix || '.pre0' }}
secrets: inherit
+ tests_any_3_9:
+ uses: ./.github/workflows/tests.yml
+ with:
+ ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
+ python_versions: '["3.9"]'
+ wheel: true
+ wheelhouse: false
+ standalone_suffix: ${{ github.event.inputs.standalone_branch_suffix || '.pre0' }}
+ test_any: true
+ secrets: inherit
+
tests_any:
uses: ./.github/workflows/tests.yml
with:
ANSYS_VERSION: ${{ github.event.inputs.ansys_version || '251' }}
- python_versions: '["3.9", "3.10", "3.11"]'
- wheel: ${{ matrix.python-version == '3.9' }}
+ python_versions: '["3.10", "3.11"]'
+ wheel: false
wheelhouse: false
standalone_suffix: ${{ github.event.inputs.standalone_branch_suffix || '.pre0' }}
test_any: true
@@ -211,11 +232,11 @@ jobs:
draft_release:
name: "Draft Release"
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
- needs: [style, tests, docs, examples, retro_232, retro_231, retro_222, docker_tests]
+ needs: [style, tests, tests_3_9, tests_any, tests_any_3_9, docs, examples, retro_232, retro_231, retro_222, docker_tests]
runs-on: ubuntu-latest
steps:
- name: "Download artifacts"
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
- name: "Display downloaded files"
run: ls -R
diff --git a/.github/workflows/releaser.yml b/.github/workflows/releaser.yml
index 76d5629e1d..3a0452e470 100644
--- a/.github/workflows/releaser.yml
+++ b/.github/workflows/releaser.yml
@@ -10,10 +10,6 @@ on:
description: 'Release tag'
default: 'latest'
type: string
- checkout_ref:
- description: 'Ref to checkout for doc index (default to current branch)'
- default: ''
- type: string
env:
DOCUMENTATION_CNAME: 'dpf.docs.pyansys.com'
@@ -93,6 +89,8 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
doc-artifact-name: HTML-doc-ansys-dpf-core.zip
decompress-artifact: true
+ bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
+ bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
update_ansys_lab_examples:
uses: ./.github/workflows/ansys_lab.yml
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index c7a0b53771..bdac7b7c91 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -139,7 +139,7 @@ jobs:
echo "wheel_name=${name[0]}" >> $GITHUB_OUTPUT
- name: "Upload wheel to artifacts"
- if: (inputs.wheel == 'true') && !(inputs.test_any && (matrix.os == 'ubuntu-latest') )
+ if: (inputs.wheel == 'true') && !( (inputs.test_any == 'true') && (matrix.os == 'ubuntu-latest') )
uses: actions/upload-artifact@v4
with:
name: ${{ steps.wheel.outputs.wheel_name }}
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 9ff998e64f..fe93f07e7a 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -11,35 +11,35 @@ exclude: >
)
repos:
-- repo: https://github.com/charliermarsh/ruff-pre-commit
- rev: v0.6.3
- hooks:
- - id: ruff
- args: [ --fix ]
- - id: ruff-format
+- repo: https://github.com/charliermarsh/ruff-pre-commit
+ rev: v0.7.3
+ hooks:
+ - id: ruff
+ args: [--fix]
+ - id: ruff-format
-- repo: https://github.com/codespell-project/codespell
- rev: v2.3.0
- hooks:
- - id: codespell
- args: ["--ignore-words=./doc/styles/config/vocabularies/ANSYS/accept.txt"]
+- repo: https://github.com/codespell-project/codespell
+ rev: v2.3.0
+ hooks:
+ - id: codespell
+ args: ["--ignore-words=./doc/styles/config/vocabularies/ANSYS/accept.txt"]
-- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.6.0
- hooks:
- - id: check-merge-conflict
- - id: debug-statements
- - id: requirements-txt-fixer
+- repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v5.0.0
+ hooks:
+ - id: check-merge-conflict
+ - id: debug-statements
+ - id: requirements-txt-fixer
-- repo: https://github.com/ansys/pre-commit-hooks
- rev: v0.4.3
- hooks:
- - id: add-license-headers
- args:
- - --start_year=2020
+- repo: https://github.com/ansys/pre-commit-hooks
+ rev: v0.4.4
+ hooks:
+ - id: add-license-headers
+ args:
+ - --start_year=2020
# this validates our github workflow files
-- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.29.2
- hooks:
- - id: check-github-workflows
+- repo: https://github.com/python-jsonschema/check-jsonschema
+ rev: 0.29.4
+ hooks:
+ - id: check-github-workflows
diff --git a/doc/source/_static/dpf_operators.html b/doc/source/_static/dpf_operators.html
index f7ac4db3c4..7aa888da07 100644
--- a/doc/source/_static/dpf_operators.html
+++ b/doc/source/_static/dpf_operators.html
@@ -2081,7 +2081,7 @@
Configurating operators
Get the XX normal component (00 component).">Inputs
Outputs
Configurations
Scripting
utility: forward
Inputs
Outputs
Configurations
Scripting
utility: txt file to dpf
Inputs
Outputs
Configurations
Scripting
utility: incremental meshes container
Inputs
Outputs
Configurations
Scripting
utility: bind support (fields container)
Inputs
Outputs
Configurations
Scripting
utility: fields container get attribute
Inputs
Outputs
Configurations
Scripting
result: thermal strain XZ
Inputs
Outputs
Configurations
Scripting
utility: assemble scalars to vector
Inputs
Outputs
Configurations
Scripting
result: global eroded hourglass energy (LSDyna)
Inputs
Outputs
Configurations
Scripting
utility: assemble scalars to vector fc
Inputs
Outputs
Configurations
Scripting
utility: assemble scalars to matrix
Inputs
Outputs
Configurations
Scripting
math: make one on component
Inputs
Outputs
Configurations
Scripting
mesh: from scopings
Inputs
Outputs
Configurations
Scripting
utility: assemble scalars to matrix fc
Inputs
Outputs
Configurations
Scripting
result: pres to field
Inputs
Outputs
Configurations
Scripting
result: part internal energy (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: part momentum (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: compute invariant terms rbd
Inputs
Outputs
Configurations
Scripting
utility: default value
Inputs
Outputs
Configurations
Scripting
averaging: elemental nodal to nodal elemental (fields container)
Inputs
Outputs
Configurations
Scripting
result: rms velocity
Inputs
Outputs
Configurations
Scripting
result: acceleration X
Inputs
Outputs
Configurations
Scripting
result: poynting vector
Inputs
Outputs
Configurations
Scripting
result: total strain (LSDyna)
Inputs
Outputs
Configurations
Scripting
averaging: elemental difference (fields container)
Inputs
Outputs
Configurations
Scripting
utility: compute time scoping
Inputs
Outputs
Configurations
Scripting
result: static pressure
Inputs
Outputs
Configurations
Scripting
result: elastic strain
Inputs
Outputs
Configurations
Scripting
math: window bartlett (fields container)
Inputs
Outputs
Configurations
Scripting
result: turbulent viscosity
Inputs
Outputs
Configurations
Scripting
utility: python generator
Inputs
Outputs
Configurations
Scripting
utility: make overall
Inputs
Outputs
Configurations
Scripting
geo: elements volume
Inputs
Outputs
Configurations
Scripting
result: pressure
Inputs
Outputs
Configurations
Scripting
result: stress
Inputs
Outputs
Configurations
Scripting
result: stress X
Inputs
Outputs
Configurations
Scripting
result: gasket thermal closure XZ
Inputs
Outputs
Configurations
Scripting
result: stress Y
Inputs
Outputs
Configurations
Scripting
result: stress Z
Inputs
Outputs
Configurations
Scripting
result: gasket thermal closure XY
Inputs
Outputs
Configurations
Scripting
result: stress XY
Inputs
Outputs
Configurations
Scripting
compression: kMeans clustering
Inputs
Outputs
Configurations
Scripting
result: stress YZ
Inputs
Outputs
Configurations
Scripting
result: modal basis
Inputs
Outputs
Configurations
Scripting
result: stress XZ
Inputs
Outputs
Configurations
Scripting
utility: merge string fields
Inputs
Outputs
Configurations
Scripting
result: stress principal 1
Inputs
Outputs
Configurations
Scripting
result: stress principal 2
Inputs
Outputs
Configurations
Scripting
invariant: convertnum bcs to nod
Inputs
Outputs
Configurations
Scripting
result: stress principal 3
Inputs
Outputs
Configurations
Scripting
result: stress von mises
Inputs
Outputs
Configurations
Scripting
result: gasket stress
Inputs
Outputs
Configurations
Scripting
result: gasket stress X
Inputs
Outputs
Configurations
Scripting
result: gasket stress XY
Inputs
Outputs
Configurations
Scripting
geo: elements facets surfaces over time
Inputs
Outputs
Configurations
Scripting
metadata: property field provider by property name
Inputs
Outputs
Configurations
Scripting
mesh: mesh provider
Inputs
Outputs
Configurations
Scripting
result: gasket inelastic closure
Inputs
Outputs
Configurations
Scripting
result: gasket inelastic closure X
Inputs
Outputs
Configurations
Scripting
result: write cms rbd file
Inputs
Outputs
Configurations
Scripting
serialization: export symbolic workflow
Inputs
Outputs
Configurations
Scripting
result: gasket inelastic closure XY
Inputs
Outputs
Configurations
Scripting
result: plastic strain eqv
Inputs
Outputs
Configurations
Scripting
mesh: beam properties
Inputs
Outputs
Configurations
Scripting
result: gasket inelastic closure XZ
Inputs
Outputs
Configurations
Scripting
result: gasket thermal closure
Inputs
Outputs
Configurations
Scripting
result: gasket thermal closure X
Inputs
Outputs
Configurations
Scripting
result: elastic strain X
Inputs
Outputs
Configurations
Scripting
result: elastic strain Y
Inputs
Outputs
Configurations
Scripting
result: elastic strain Z
Inputs
Outputs
Configurations
Scripting
math: min/max over time
Inputs
Outputs
Configurations
Scripting
utility: merge fields containers
Inputs
Outputs
Configurations
Scripting
result: global energy ratio without eroded energy (LSDyna)
Inputs
Outputs
Configurations
Scripting
utility: merge weighted fields containers
Inputs
Outputs
Configurations
Scripting
result: elastic strain XY
Inputs
Outputs
Configurations
Scripting
result: elastic strain YZ
Inputs
Outputs
Configurations
Scripting
invariant: eigen values (fields container)
Inputs
Outputs
Configurations
Scripting
result: elastic strain XZ
Inputs
Outputs
Configurations
Scripting
metadata: mesh property provider
Inputs
Outputs
Configurations
Scripting
result: elastic strain principal 1
Inputs
Outputs
Configurations
Scripting
result: elastic strain principal 2
Inputs
Outputs
Configurations
Scripting
utility: merge scopings
Inputs
Outputs
Configurations
Scripting
result: elastic strain principal 3
Inputs
Outputs
Configurations
Scripting
result: cyclic analytic disp max
Inputs
Outputs
Configurations
Scripting
result: elastic strain eqv
Inputs
Outputs
Configurations
Scripting
result: elastic strain intensity
Inputs
Outputs
Configurations
Scripting
result: elastic strain max_shear
Inputs
Outputs
Configurations
Scripting
result: turbulent dissipation rate (omega)
Inputs
Outputs
Configurations
Scripting
averaging: to elemental (fields container)
Inputs
Outputs
Configurations
Scripting
result: plastic strain
Inputs
Outputs
Configurations
Scripting
scoping: transpose
Inputs
Outputs
Configurations
Scripting
result: mass fraction
Inputs
Outputs
Configurations
Scripting
result: plastic strain X
Inputs
Outputs
Configurations
Scripting
result: coordinates (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: plastic strain Y
Inputs
Outputs
Configurations
Scripting
filter: band pass (fields container)
Inputs
Outputs
Configurations
Scripting
geo: to polar coordinates
Inputs
Outputs
Configurations
Scripting
math: fft evaluation
Inputs
Outputs
Configurations
Scripting
result: global total energy (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: plastic strain Z
Inputs
Outputs
Configurations
Scripting
utility: merge materials
Inputs
Outputs
Configurations
Scripting
serialization: vtk export
Inputs
Outputs
Configurations
Scripting
result: dynamic viscosity
Inputs
Outputs
Configurations
Scripting
result: plastic strain XY
Inputs
Outputs
Configurations
Scripting
result: hydrostatic pressure
Inputs
Outputs
Configurations
Scripting
result: compute stress von mises
Inputs
Outputs
Configurations
Scripting
filter: low pass (scoping)
Inputs
Outputs
Configurations
Scripting
mesh: iso surfaces
Inputs
Outputs
Configurations
Scripting
result: plastic strain YZ
Inputs
Outputs
Configurations
Scripting
result: plastic strain XZ
Inputs
Outputs
Configurations
Scripting
result: workflow energy per harmonic
Inputs
Outputs
Configurations
Scripting
result: plastic strain principal 3
Inputs
Outputs
Configurations
Scripting
result: plastic strain intensity
Inputs
Outputs
Configurations
Scripting
result: plastic strain max_shear
Inputs
Outputs
Configurations
Scripting
filter: low pass (timefreq)
Inputs
Outputs
Configurations
Scripting
filter: band pass (field)
Inputs
Outputs
Configurations
Scripting
math: modal damping ratio
Inputs
Outputs
Configurations
Scripting
result: thermal strain X
Inputs
Outputs
Configurations
Scripting
result: thermal strain Y
Inputs
Outputs
Configurations
Scripting
math: accumulate level over label
Inputs
Outputs
Configurations
Scripting
result: equivalent radiated power
Inputs
Outputs
Configurations
Scripting
result: thermal strain Z
Inputs
Outputs
Configurations
Scripting
result: thermal strain XY
Inputs
Outputs
Configurations
Scripting
math: accumulate over label
Inputs
Outputs
Configurations
Scripting
utility: merge scopings containers
Inputs
Outputs
Configurations
Scripting
result: thermal strain YZ
Inputs
Outputs
Configurations
Scripting
result: thermal strain principal 1
Inputs
Outputs
Configurations
Scripting
result: thermal strain principal 2
Inputs
Outputs
Configurations
Scripting
result: thermal strain principal 3
Inputs
Outputs
Configurations
Scripting
result: wall shear stress
Inputs
Outputs
Configurations
Scripting
result: velocity
Inputs
Outputs
Configurations
Scripting
result: reaction force
Inputs
Outputs
Configurations
Scripting
serialization: serializer
Inputs
Outputs
Configurations
Scripting
result: velocity X
Inputs
Outputs
Configurations
Scripting
result: reaction force X
Inputs
Outputs
Configurations
Scripting
geo: cartesian to spherical coordinates (fields container)
Inputs
Outputs
Configurations
Scripting
result: global external work (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: acceleration
Inputs
Outputs
Configurations
Scripting
result: element centroids
Inputs
Outputs
Configurations
Scripting
result: acceleration Z
Inputs
Outputs
Configurations
Scripting
scoping: rescope (fields container)
Inputs
Outputs
Configurations
Scripting
result: displacement
Inputs
Outputs
Configurations
Scripting
result: displacement X
Inputs
Outputs
Configurations
Scripting
averaging: force_summation
Inputs
Outputs
Configurations
Scripting
result: displacement Y
Inputs
Outputs
Configurations
Scripting
result: displacement Z
Inputs
Outputs
Configurations
Scripting
result: heat flux X
Inputs
Outputs
Configurations
Scripting
result: heat flux Y
Inputs
Outputs
Configurations
Scripting
result: electric field
Inputs
Outputs
Configurations
Scripting
result: heat flux Z
Inputs
Outputs
Configurations
Scripting
serialization: serialize to hdf5
Inputs
Outputs
Configurations
Scripting
result: element orientations
Inputs
Outputs
Configurations
Scripting
result: element orientations Y
Inputs
Outputs
Configurations
Scripting
mesh: split mesh wrt property
Inputs
Outputs
Configurations
Scripting
result: element orientations Z
Inputs
Outputs
Configurations
Scripting
result: element nodal forces
Inputs
Outputs
Configurations
Scripting
result: compute total strain Z
Outputs
Configurations
Scripting
result: gasket inelastic closure
Inputs
Outputs
Configurations
Scripting
result: gasket inelastic closure X
Inputs
Outputs
Configurations
Scripting
result: write cms rbd file
Inputs
Outputs
Configurations
Scripting
serialization: export symbolic workflow
Inputs
Outputs
Configurations
Scripting
result: gasket inelastic closure XY
Inputs
Outputs
Configurations
Scripting
result: plastic strain eqv
Inputs
Outputs
Configurations
Scripting
mesh: beam properties
Inputs
Outputs
Configurations
Scripting
result: gasket inelastic closure XZ
Inputs
Outputs
Configurations
Scripting
result: gasket thermal closure
Inputs
Outputs
Configurations
Scripting
result: gasket thermal closure X
Inputs
Outputs
Configurations
Scripting
result: elastic strain X
Inputs
Outputs
Configurations
Scripting
result: elastic strain Y
Inputs
Outputs
Configurations
Scripting
result: elastic strain Z
Inputs
Outputs
Configurations
Scripting
math: min/max over time
Inputs
Outputs
Configurations
Scripting
utility: merge fields containers
Inputs
Outputs
Configurations
Scripting
result: global energy ratio without eroded energy (LSDyna)
Inputs
Outputs
Configurations
Scripting
utility: merge weighted fields containers
Inputs
Outputs
Configurations
Scripting
result: elastic strain XY
Inputs
Outputs
Configurations
Scripting
result: elastic strain YZ
Inputs
Outputs
Configurations
Scripting
invariant: eigen values (fields container)
Inputs
Outputs
Configurations
Scripting
result: elastic strain XZ
Inputs
Outputs
Configurations
Scripting
metadata: mesh property provider
Inputs
Outputs
Configurations
Scripting
result: elastic strain principal 1
Inputs
Outputs
Configurations
Scripting
result: elastic strain principal 2
Inputs
Outputs
Configurations
Scripting
utility: merge scopings
Inputs
Outputs
Configurations
Scripting
result: elastic strain principal 3
Inputs
Outputs
Configurations
Scripting
result: cyclic analytic disp max
Inputs
Outputs
Configurations
Scripting
result: elastic strain eqv
Inputs
Outputs
Configurations
Scripting
result: elastic strain intensity
Inputs
Outputs
Configurations
Scripting
result: elastic strain max_shear
Inputs
Outputs
Configurations
Scripting
result: turbulent dissipation rate (omega)
Inputs
Outputs
Configurations
Scripting
averaging: to elemental (fields container)
Inputs
Outputs
Configurations
Scripting
result: plastic strain
Inputs
Outputs
Configurations
Scripting
scoping: transpose
Inputs
Outputs
Configurations
Scripting
result: mass fraction
Inputs
Outputs
Configurations
Scripting
result: plastic strain X
Inputs
Outputs
Configurations
Scripting
result: coordinates (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: plastic strain Y
Inputs
Outputs
Configurations
Scripting
filter: band pass (fields container)
Inputs
Outputs
Configurations
Scripting
geo: to polar coordinates
Inputs
Outputs
Configurations
Scripting
math: fft evaluation
Inputs
Outputs
Configurations
Scripting
result: global total energy (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: plastic strain Z
Inputs
Outputs
Configurations
Scripting
utility: merge materials
Inputs
Outputs
Configurations
Scripting
serialization: vtk export
Inputs
Outputs
Configurations
Scripting
result: dynamic viscosity
Inputs
Outputs
Configurations
Scripting
result: plastic strain XY
Inputs
Outputs
Configurations
Scripting
result: hydrostatic pressure
Inputs
Outputs
Configurations
Scripting
result: compute stress von mises
Inputs
Outputs
Configurations
Scripting
filter: low pass (scoping)
Inputs
Outputs
Configurations
Scripting
mesh: iso surfaces
Inputs
Outputs
Configurations
Scripting
result: plastic strain YZ
Inputs
Outputs
Configurations
Scripting
result: plastic strain XZ
Inputs
Outputs
Configurations
Scripting
result: workflow energy per harmonic
Inputs
Outputs
Configurations
Scripting
result: plastic strain principal 3
Inputs
Outputs
Configurations
Scripting
result: plastic strain intensity
Inputs
Outputs
Configurations
Scripting
result: plastic strain max_shear
Inputs
Outputs
Configurations
Scripting
filter: low pass (timefreq)
Inputs
Outputs
Configurations
Scripting
filter: band pass (field)
Inputs
Outputs
Configurations
Scripting
math: modal damping ratio
Inputs
Outputs
Configurations
Scripting
result: thermal strain X
Inputs
Outputs
Configurations
Scripting
result: thermal strain Y
Inputs
Outputs
Configurations
Scripting
math: accumulate level over label
Inputs
Outputs
Configurations
Scripting
result: equivalent radiated power
Inputs
Outputs
Configurations
Scripting
result: thermal strain Z
Inputs
Outputs
Configurations
Scripting
result: thermal strain XY
Inputs
Outputs
Configurations
Scripting
math: accumulate over label
Inputs
Outputs
Configurations
Scripting
utility: merge scopings containers
Inputs
Outputs
Configurations
Scripting
result: thermal strain YZ
Inputs
Outputs
Configurations
Scripting
result: thermal strain principal 1
Inputs
Outputs
Configurations
Scripting
result: thermal strain principal 2
Inputs
Outputs
Configurations
Scripting
result: thermal strain principal 3
Inputs
Outputs
Configurations
Scripting
result: wall shear stress
Inputs
Outputs
Configurations
Scripting
result: velocity
Inputs
Outputs
Configurations
Scripting
result: reaction force
Inputs
Outputs
Configurations
Scripting
serialization: serializer
Inputs
Outputs
Configurations
Scripting
result: velocity X
Inputs
Outputs
Configurations
Scripting
result: reaction force X
Inputs
Outputs
Configurations
Scripting
geo: cartesian to spherical coordinates (fields container)
Inputs
Outputs
Configurations
Scripting
result: global external work (LSDyna)
Inputs
Outputs
Configurations
Scripting
result: acceleration
Inputs
Outputs
Configurations
Scripting
result: element centroids
Inputs
Outputs
Configurations
Scripting
result: acceleration Z
Inputs
Outputs
Configurations
Scripting
scoping: rescope (fields container)
Inputs
Outputs
Configurations
Scripting
result: displacement
Inputs
Outputs
Configurations
Scripting
result: displacement X
Inputs
Outputs
Configurations
Scripting
averaging: force_summation
Inputs
Outputs
Configurations
Scripting
result: displacement Y
Inputs
Outputs
Configurations
Scripting
result: displacement Z
Inputs
Outputs
Configurations
Scripting
result: heat flux X
Inputs
Outputs
Configurations
Scripting
result: heat flux Y
Inputs
Outputs
Configurations
Scripting
result: electric field
Inputs
Outputs
Configurations
Scripting
result: heat flux Z
Inputs
Outputs
Configurations
Scripting
serialization: serialize to hdf5
Inputs
Outputs
Configurations
Scripting
result: element orientations
Inputs
Outputs
Configurations
Scripting
result: element orientations Y
Inputs
Outputs
Configurations
Scripting
mesh: split mesh wrt property
Inputs
Outputs
Configurations
Scripting
result: element orientations Z
Inputs
Outputs
Configurations
Scripting
result: element nodal forces
Inputs
Outputs
Configurations
Scripting
result: compute total strain Z
Configurating operators
2 for normalized by the max at a given time step of the first entry or residuals depending on the reference field option,
3 for normalized by the max over all time steps of the first entry or residuals depending on the reference field option" types="int32" optional="true"ellipsis="false"inplace="false">Outputs
Configurations
Scripting
result: add rigid body motion (fields container)
Inputs
Outputs
Configurations
Scripting
utility: merge time freq supports
Inputs
Outputs
Configurations
Scripting
min_max: incremental over fields container
Inputs
Outputs
Configurations
Scripting
scoping: split on property type
Inputs
Outputs
Configurations
Scripting
utility: overlap fields
Inputs
Outputs
Configurations
Scripting
averaging: elemental nodal to nodal elemental (field)
Inputs
Outputs
Configurations
Scripting
scoping: adapt with scopings container
Inputs
Outputs
Configurations
Scripting
utility: change shell layers
Inputs
Outputs
Configurations
Scripting
utility: merge meshes
Inputs
Outputs
Configurations
Scripting
utility: merge fields
Inputs
Outputs
Configurations
Scripting
utility: merge weighted fields
Inputs
Outputs
Configurations
Scripting
utility: merge fc to fc field matrices
Inputs
Outputs
Configurations
Scripting
filter: high pass (field)
Inputs
Outputs
Configurations
Scripting
min_max: max by component
Inputs
Outputs
Configurations
Scripting
utility: weighted merge fields by label
Inputs
Outputs
Configurations
Scripting
utility: merge fields by label
Inputs
Outputs
Configurations
Scripting
averaging: elemental to elemental nodal (field)
Inputs
Outputs
Configurations
Scripting
utility: merge meshes containers
Inputs
Outputs
Configurations
Scripting
min_max: min max by entity
Inputs
Outputs
Configurations
Scripting
utility: merge collections
Inputs
Outputs
Configurations
Scripting
logic: merge solid and shell fields
Inputs
Outputs
Configurations
Scripting
min_max: min over time
Inputs
Outputs
Configurations
Scripting
geo: element nodal contribution
Inputs
Outputs
Configurations
Scripting
min_max: over label
Inputs
Outputs
Configurations
Scripting
min_max: min by component
Inputs
Outputs
Configurations
Scripting
serialization: serializer to string
Inputs
Outputs
Configurations
Scripting
serialization: deserializer
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded velocity
Inputs
Outputs
Configurations
Scripting
mesh: skin
Inputs
Outputs
Configurations
Scripting
utility: split in for each range
Inputs
Outputs
Configurations
Scripting
utility: incremental field
Inputs
Outputs
Configurations
Scripting
utility: incremental fields container
Inputs
Outputs
Configurations
Scripting
geo: rotate (fields container)
Inputs
Outputs
Configurations
Scripting
utility: incremental property field
Inputs
Outputs
Configurations
Scripting
utility: incremental mesh
Inputs
Outputs
Configurations
Scripting
mesh: points from coordinates
Inputs
Outputs
Configurations
Scripting
utility: incremental concantenate as fields container.
Inputs
Outputs
Configurations
Scripting
utility: make producer consumer for each iterator
Inputs
Outputs
Configurations
Scripting
utility: producer consumer for each
Inputs
Outputs
Configurations
Scripting
averaging: extend to mid nodes (field)
Inputs
Outputs
Configurations
Scripting
invariant: eigen vectors (on fields container)
Inputs
Outputs
Configurations
Scripting
mesh: mesh get attribute
Inputs
Outputs
Configurations
Scripting
metadata: time freq support get attribute
Inputs
Outputs
Configurations
Scripting
utility: set attribute
Inputs
Outputs
Configurations
Scripting
utility: field get attribute
Inputs
Outputs
Configurations
Scripting
min_max: time of min
Inputs
Outputs
Configurations
Scripting
min_max: max over phase
Inputs
Outputs
Configurations
Scripting
min_max: phase of max
Inputs
Outputs
Configurations
Scripting
utility: voigt to standard strains
Inputs
Outputs
Configurations
Scripting
utility: voigt to standard strains (fields container)
Inputs
Outputs
Configurations
Scripting
min_max: incremental over field
Inputs
Outputs
Configurations
Scripting
utility: workflow to pydpf generator
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (timefreq)
Inputs
Outputs
Configurations
Scripting
logic: same string fields?
Inputs
Outputs
Configurations
Scripting
logic: same meshes?
Inputs
Outputs
Configurations
Scripting
logic: same fields?
Inputs
Outputs
Configurations
Scripting
logic: fields included?
Inputs
Outputs
Configurations
Scripting
logic: same fields container?
Inputs
Outputs
Configurations
Scripting
filter: high pass (scoping)
Inputs
Outputs
Configurations
Scripting
filter: high pass (timescoping)
Inputs
Outputs
Configurations
Scripting
filter: high pass (fields container)
Inputs
Outputs
Configurations
Scripting
filter: low pass (field)
Inputs
Outputs
Configurations
Scripting
filter: low pass (fields container)
Inputs
Outputs
Configurations
Scripting
filter: band pass (scoping)
Inputs
Outputs
Configurations
Scripting
filter: band pass (timefreq)
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (scoping)
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (timescoping)
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (fields container)
Inputs
Outputs
Configurations
Scripting
serialization: csv to field
Inputs
Outputs
Configurations
Scripting
result: members in compression not certified
Inputs
Outputs
Configurations
Scripting
result: members in bending not certified
Inputs
Outputs
Configurations
Scripting
result: members in linear compression bending not certified
Inputs
Outputs
Configurations
Scripting
invariant: convertnum nod to bcs
Inputs
Outputs
Configurations
Scripting
geo: rotate
Inputs
Outputs
Configurations
Scripting
logic: enrich materials
Inputs
Outputs
Configurations
Scripting
serialization: data tree to json
Inputs
Outputs
Configurations
Scripting
serialization: data tree to txt
Inputs
Outputs
Configurations
Scripting
serialization: json to data tree
Inputs
Outputs
Configurations
Scripting
averaging: nodal difference (fields container)
Inputs
Outputs
Configurations
Scripting
logic: descending sort
Inputs
Outputs
Configurations
Scripting
logic: ascending sort (fields container)
Inputs
Outputs
Configurations
Scripting
logic: descending sort (fields container)
Inputs
Outputs
Configurations
Scripting
serialization: import symbolic workflow
Inputs
Outputs
Configurations
Scripting
filter: filtering max over time workflow
Inputs
Outputs
Configurations
Scripting
metadata: integrate over time freq
Inputs
Outputs
Configurations
Scripting
averaging: nodal difference (field)
Inputs
Outputs
Configurations
Scripting
result: compute stress YZ
Inputs
Outputs
Configurations
Scripting
logic: splitter::data_sources
Inputs
Outputs
Configurations
Scripting
averaging: to elemental nodal (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental nodal to nodal (field)
Inputs
Outputs
Configurations
Scripting
averaging: elemental nodal to nodal (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental to nodal (field)
Outputs
Configurations
Scripting
result: add rigid body motion (fields container)
Inputs
Outputs
Configurations
Scripting
utility: merge time freq supports
Inputs
Outputs
Configurations
Scripting
min_max: incremental over fields container
Inputs
Outputs
Configurations
Scripting
scoping: split on property type
Inputs
Outputs
Configurations
Scripting
utility: overlap fields
Inputs
Outputs
Configurations
Scripting
averaging: elemental nodal to nodal elemental (field)
Inputs
Outputs
Configurations
Scripting
scoping: adapt with scopings container
Inputs
Outputs
Configurations
Scripting
utility: change shell layers
Inputs
Outputs
Configurations
Scripting
utility: merge meshes
Inputs
Outputs
Configurations
Scripting
utility: merge fields
Inputs
Outputs
Configurations
Scripting
utility: merge weighted fields
Inputs
Outputs
Configurations
Scripting
utility: merge fc to fc field matrices
Inputs
Outputs
Configurations
Scripting
filter: high pass (field)
Inputs
Outputs
Configurations
Scripting
min_max: max by component
Inputs
Outputs
Configurations
Scripting
utility: weighted merge fields by label
Inputs
Outputs
Configurations
Scripting
utility: merge fields by label
Inputs
Outputs
Configurations
Scripting
averaging: elemental to elemental nodal (field)
Inputs
Outputs
Configurations
Scripting
utility: merge meshes containers
Inputs
Outputs
Configurations
Scripting
min_max: min max by entity
Inputs
Outputs
Configurations
Scripting
utility: merge collections
Inputs
Outputs
Configurations
Scripting
logic: merge solid and shell fields
Inputs
Outputs
Configurations
Scripting
min_max: min over time
Inputs
Outputs
Configurations
Scripting
geo: element nodal contribution
Inputs
Outputs
Configurations
Scripting
min_max: over label
Inputs
Outputs
Configurations
Scripting
min_max: min by component
Inputs
Outputs
Configurations
Scripting
serialization: serializer to string
Inputs
Outputs
Configurations
Scripting
serialization: deserializer
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded velocity
Inputs
Outputs
Configurations
Scripting
mesh: skin
Inputs
Outputs
Configurations
Scripting
utility: split in for each range
Inputs
Outputs
Configurations
Scripting
utility: incremental field
Inputs
Outputs
Configurations
Scripting
utility: incremental fields container
Inputs
Outputs
Configurations
Scripting
geo: rotate (fields container)
Inputs
Outputs
Configurations
Scripting
utility: incremental property field
Inputs
Outputs
Configurations
Scripting
utility: incremental mesh
Inputs
Outputs
Configurations
Scripting
mesh: points from coordinates
Inputs
Outputs
Configurations
Scripting
utility: incremental concantenate as fields container.
Inputs
Outputs
Configurations
Scripting
utility: make producer consumer for each iterator
Inputs
Outputs
Configurations
Scripting
utility: producer consumer for each
Inputs
Outputs
Configurations
Scripting
averaging: extend to mid nodes (field)
Inputs
Outputs
Configurations
Scripting
invariant: eigen vectors (on fields container)
Inputs
Outputs
Configurations
Scripting
mesh: mesh get attribute
Inputs
Outputs
Configurations
Scripting
metadata: time freq support get attribute
Inputs
Outputs
Configurations
Scripting
utility: set attribute
Inputs
Outputs
Configurations
Scripting
utility: field get attribute
Inputs
Outputs
Configurations
Scripting
min_max: time of min
Inputs
Outputs
Configurations
Scripting
min_max: max over phase
Inputs
Outputs
Configurations
Scripting
min_max: phase of max
Inputs
Outputs
Configurations
Scripting
utility: voigt to standard strains
Inputs
Outputs
Configurations
Scripting
utility: voigt to standard strains (fields container)
Inputs
Outputs
Configurations
Scripting
min_max: incremental over field
Inputs
Outputs
Configurations
Scripting
utility: workflow to pydpf generator
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (timefreq)
Inputs
Outputs
Configurations
Scripting
logic: same string fields?
Inputs
Outputs
Configurations
Scripting
logic: same meshes?
Inputs
Outputs
Configurations
Scripting
logic: same fields?
Inputs
Outputs
Configurations
Scripting
logic: fields included?
Inputs
Outputs
Configurations
Scripting
logic: same fields container?
Inputs
Outputs
Configurations
Scripting
filter: high pass (scoping)
Inputs
Outputs
Configurations
Scripting
filter: high pass (timescoping)
Inputs
Outputs
Configurations
Scripting
filter: high pass (fields container)
Inputs
Outputs
Configurations
Scripting
filter: low pass (field)
Inputs
Outputs
Configurations
Scripting
filter: low pass (fields container)
Inputs
Outputs
Configurations
Scripting
filter: band pass (scoping)
Inputs
Outputs
Configurations
Scripting
filter: band pass (timefreq)
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (scoping)
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (timescoping)
Inputs
Outputs
Configurations
Scripting
filter: signed high pass (fields container)
Inputs
Outputs
Configurations
Scripting
serialization: csv to field
Inputs
Outputs
Configurations
Scripting
result: members in compression not certified
Inputs
Outputs
Configurations
Scripting
result: members in bending not certified
Inputs
Outputs
Configurations
Scripting
result: members in linear compression bending not certified
Inputs
Outputs
Configurations
Scripting
invariant: convertnum nod to bcs
Inputs
Outputs
Configurations
Scripting
geo: rotate
Inputs
Outputs
Configurations
Scripting
logic: enrich materials
Inputs
Outputs
Configurations
Scripting
serialization: data tree to json
Inputs
Outputs
Configurations
Scripting
serialization: data tree to txt
Inputs
Outputs
Configurations
Scripting
serialization: json to data tree
Inputs
Outputs
Configurations
Scripting
averaging: nodal difference (fields container)
Inputs
Outputs
Configurations
Scripting
logic: descending sort
Inputs
Outputs
Configurations
Scripting
logic: ascending sort (fields container)
Inputs
Outputs
Configurations
Scripting
logic: descending sort (fields container)
Inputs
Outputs
Configurations
Scripting
serialization: import symbolic workflow
Inputs
Outputs
Configurations
Scripting
filter: filtering max over time workflow
Inputs
Outputs
Configurations
Scripting
metadata: integrate over time freq
Inputs
Outputs
Configurations
Scripting
averaging: nodal difference (field)
Inputs
Outputs
Configurations
Scripting
result: compute stress YZ
Inputs
Outputs
Configurations
Scripting
logic: splitter::data_sources
Inputs
Outputs
Configurations
Scripting
averaging: to elemental nodal (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental nodal to nodal (field)
Inputs
Outputs
Configurations
Scripting
averaging: elemental nodal to nodal (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental to nodal (field)
Configurating operators
- If the determinant of the I matrix is zero, switch to an inverse distance weighted average.
- If not, compute the Frink weights and apply the Holmes' weight clip.
- If the clipping produces a large overshoot, inverse volume weighted average is used..
-3. For a face finite volume mesh inverse distance weighted average is used.">Inputs
Outputs
Configurations
Scripting
averaging: to nodal (field)
Inputs
Outputs
Configurations
Scripting
averaging: to nodal (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental mean (field)
Inputs
Outputs
Configurations
Scripting
averaging: elemental mean (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: nodal to elemental (field)
Inputs
Outputs
Configurations
Scripting
averaging: nodal to elemental (fields container)
Inputs
Outputs
Configurations
Scripting
invariant: eigen values (field)
Inputs
Outputs
Configurations
Scripting
invariant: principal invariants (field)
Inputs
Outputs
Configurations
Scripting
invariant: von mises eqv (fields container)
Inputs
Outputs
Configurations
Scripting
invariant: segalman von mises eqv (fields container)
Inputs
Outputs
Configurations
Scripting
scoping: compute element centroids
Inputs
Outputs
Configurations
Scripting
metadata: cyclic mesh expansion
Inputs
Outputs
Configurations
Scripting
result: cyclic analytic stress eqv max
Inputs
Outputs
Configurations
Scripting
result: remove rigid body motion (fields container)
Inputs
Outputs
Configurations
Scripting
result: cyclic expansion
Inputs
Outputs
Configurations
Scripting
averaging: nodal fraction (fields container)
Inputs
Outputs
Configurations
Scripting
result: recombine cyclic harmonic indices
Inputs
Outputs
Configurations
Scripting
mapping: on coordinates
Inputs
Outputs
Configurations
Scripting
mapping: scoping on coordinates
Inputs
Outputs
Configurations
Scripting
filter: abc weightings
Inputs
Outputs
Configurations
Scripting
mapping: solid to skin
Inputs
Outputs
Configurations
Scripting
mapping: solid to skin (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental difference (field)
Inputs
Outputs
Configurations
Scripting
averaging: elemental fraction (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: extend to mid nodes (fields container)
Inputs
Outputs
Configurations
Scripting
geo: rotate cylindrical coordinates
Inputs
Outputs
Configurations
Scripting
geo: rotate in cylindrical coordinates (fields container)
Inputs
Outputs
Configurations
Scripting
geo: spherical to cartesian coordinates (fields container)
Inputs
Outputs
Configurations
Scripting
geo: spherical to cartesian coordinates
Inputs
Outputs
Configurations
Scripting
mesh: change cs (meshes)
Inputs
Outputs
Configurations
Scripting
geo: normals provider nl (nodes, faces, or elements)
Inputs
Outputs
Configurations
Scripting
geo: elements volumes over time
Inputs
Outputs
Configurations
Scripting
math: window bartlett
Inputs
Outputs
Configurations
Scripting
mesh: from scoping
Inputs
Outputs
Configurations
Scripting
mesh: split field wrt mesh regions
Inputs
Outputs
Configurations
Scripting
result: torque
Inputs
Outputs
Configurations
Scripting
result: euler load buckling
Inputs
Outputs
Configurations
Scripting
geo: faces area
Inputs
Outputs
Configurations
Scripting
result: compute stress 3
Inputs
Outputs
Configurations
Scripting
geo: gauss to node (field)
Inputs
Outputs
Configurations
Scripting
averaging: gauss to node (fields container)
Inputs
Outputs
Configurations
Scripting
math: correlation
Inputs
Outputs
Configurations
Scripting
math: mac
Inputs
Outputs
Configurations
Scripting
result: workflow energy per component
Inputs
Outputs
Configurations
Scripting
result: add rigid body motion (field)
Inputs
Outputs
Configurations
Scripting
result: split on facet indices
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded temperature
Inputs
Outputs
Configurations
Scripting
result: enf solution to global cs
Inputs
Outputs
Configurations
Scripting
result: cms matrices provider
Inputs
Outputs
Configurations
Scripting
result: rom data provider
Inputs
Outputs
Configurations
Scripting
result: prns to field
Inputs
Outputs
Configurations
Scripting
result: remove rigid body motion (field)
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded displacement
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded acceleration
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded stress
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded el strain
Inputs
Outputs
Configurations
Scripting
result: cms subfile info provider
Inputs
Outputs
Configurations
Scripting
result: cyclic volume
Inputs
Outputs
Configurations
Scripting
result: cyclic nmisc
Inputs
Outputs
Configurations
Scripting
invariant: convertnum operator
Inputs
Outputs
Configurations
Scripting
result: compute total strain XZ
Inputs
Outputs
Configurations
Scripting
averaging: to nodal (field)
Inputs
Outputs
Configurations
Scripting
averaging: to nodal (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental mean (field)
Inputs
Outputs
Configurations
Scripting
averaging: elemental mean (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: nodal to elemental (field)
Inputs
Outputs
Configurations
Scripting
averaging: nodal to elemental (fields container)
Inputs
Outputs
Configurations
Scripting
invariant: eigen values (field)
Inputs
Outputs
Configurations
Scripting
invariant: principal invariants (field)
Inputs
Outputs
Configurations
Scripting
invariant: von mises eqv (fields container)
Inputs
Outputs
Configurations
Scripting
invariant: segalman von mises eqv (fields container)
Inputs
Outputs
Configurations
Scripting
scoping: compute element centroids
Inputs
Outputs
Configurations
Scripting
metadata: cyclic mesh expansion
Inputs
Outputs
Configurations
Scripting
result: cyclic analytic stress eqv max
Inputs
Outputs
Configurations
Scripting
result: remove rigid body motion (fields container)
Inputs
Outputs
Configurations
Scripting
result: cyclic expansion
Inputs
Outputs
Configurations
Scripting
averaging: nodal fraction (fields container)
Inputs
Outputs
Configurations
Scripting
result: recombine cyclic harmonic indices
Inputs
Outputs
Configurations
Scripting
mapping: on coordinates
Inputs
Outputs
Configurations
Scripting
mapping: scoping on coordinates
Inputs
Outputs
Configurations
Scripting
filter: abc weightings
Inputs
Outputs
Configurations
Scripting
mapping: solid to skin
Inputs
Outputs
Configurations
Scripting
mapping: solid to skin (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: elemental difference (field)
Inputs
Outputs
Configurations
Scripting
averaging: elemental fraction (fields container)
Inputs
Outputs
Configurations
Scripting
averaging: extend to mid nodes (fields container)
Inputs
Outputs
Configurations
Scripting
geo: rotate cylindrical coordinates
Inputs
Outputs
Configurations
Scripting
geo: rotate in cylindrical coordinates (fields container)
Inputs
Outputs
Configurations
Scripting
geo: spherical to cartesian coordinates (fields container)
Inputs
Outputs
Configurations
Scripting
geo: spherical to cartesian coordinates
Inputs
Outputs
Configurations
Scripting
mesh: change cs (meshes)
Inputs
Outputs
Configurations
Scripting
geo: normals provider nl (nodes, faces, or elements)
Inputs
Outputs
Configurations
Scripting
geo: elements volumes over time
Inputs
Outputs
Configurations
Scripting
math: window bartlett
Inputs
Outputs
Configurations
Scripting
mesh: from scoping
Inputs
Outputs
Configurations
Scripting
mesh: split field wrt mesh regions
Inputs
Outputs
Configurations
Scripting
result: torque
Inputs
Outputs
Configurations
Scripting
result: euler load buckling
Inputs
Outputs
Configurations
Scripting
geo: faces area
Inputs
Outputs
Configurations
Scripting
result: compute stress 3
Inputs
Outputs
Configurations
Scripting
geo: gauss to node (field)
Inputs
Outputs
Configurations
Scripting
averaging: gauss to node (fields container)
Inputs
Outputs
Configurations
Scripting
math: correlation
Inputs
Outputs
Configurations
Scripting
math: mac
Inputs
Outputs
Configurations
Scripting
result: workflow energy per component
Inputs
Outputs
Configurations
Scripting
result: add rigid body motion (field)
Inputs
Outputs
Configurations
Scripting
result: split on facet indices
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded temperature
Inputs
Outputs
Configurations
Scripting
result: enf solution to global cs
Inputs
Outputs
Configurations
Scripting
result: cms matrices provider
Inputs
Outputs
Configurations
Scripting
result: rom data provider
Inputs
Outputs
Configurations
Scripting
result: prns to field
Inputs
Outputs
Configurations
Scripting
result: remove rigid body motion (field)
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded displacement
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded acceleration
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded stress
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded el strain
Inputs
Outputs
Configurations
Scripting
result: cms subfile info provider
Inputs
Outputs
Configurations
Scripting
result: cyclic volume
Inputs
Outputs
Configurations
Scripting
result: cyclic nmisc
Inputs
Outputs
Configurations
Scripting
invariant: convertnum operator
Inputs
Outputs
Configurations
Scripting
result: compute total strain XZ
Configurating operators
Only linear analysis are supported without On Demand Expansion.
All coordinates are global coordinates.
Euler Angles need to be included in the database.
- Get the XZ shear component (02 component).">Inputs
Outputs
Configurations
Scripting
result: cms dst table provider
Inputs
Outputs
Configurations
Scripting
result: spectrum data
Inputs
Outputs
Configurations
Scripting
invariant: eigen vectors (on field)
Inputs
Outputs
Configurations
Scripting
result: mapdl material properties
Inputs
Outputs
Configurations
Scripting
result: mapdl_section
Inputs
Outputs
Configurations
Scripting
result: compute invariant terms motion
Inputs
Outputs
Configurations
Scripting
result: write motion dfmf file
Inputs
Outputs
Configurations
Scripting
result: split to acmo facet indices
Inputs
Outputs
Configurations
Scripting
result: stress solution to global cs
Inputs
Outputs
Configurations
Scripting
result: elastic strain solution to global cs
Inputs
Outputs
Configurations
Scripting
result: plastic strain to global cs
Inputs
Outputs
Configurations
Scripting
math: qr solve
Inputs
Outputs
Configurations
Scripting
result: von mises strains as mechanical workflow
Inputs
Outputs
Configurations
Scripting
mesh: mesh clipper
Inputs
Outputs
Configurations
Scripting
serialization: migrate to vtk
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded element heat flux
Inputs
Outputs
Configurations
Scripting
mesh: external layer
Inputs
Outputs
Configurations
Scripting
mesh: mesh cutter
Inputs
Outputs
Configurations
Scripting
mesh: mesh plan clipper
Inputs
Outputs
Configurations
Scripting
mesh: mesh_to_graphics
Inputs
Outputs
Configurations
Scripting
mesh: mesh_to_graphics_edges
Inputs
Outputs
Configurations
Scripting
geo: scoping normals
Inputs
Outputs
Configurations
Scripting
mesh: combine levelset
Inputs
Outputs
Configurations
Scripting
mesh: exclude levelset
Inputs
Outputs
Configurations
Scripting
mesh: make plane levelset
Inputs
Outputs
Configurations
Scripting
mesh: make sphere levelset
Inputs
Outputs
Configurations
Scripting
mesh: wireframe
Inputs
Outputs
Configurations
Scripting
mesh: mesh to tetra
Inputs
Outputs
Configurations
Scripting
mapping: fft
Inputs
Outputs
Configurations
Scripting
math: fft gradient evaluation
Inputs
Outputs
Configurations
Scripting
math: fft multi harmonic solution minmax
Inputs
Outputs
Configurations
Scripting
math: svd
Inputs
Outputs
Configurations
Scripting
math: Time integration
Inputs
Outputs
Configurations
Scripting
math: Time derivation
Inputs
Outputs
Configurations
Scripting
mapping: prep sampling fft
Inputs
Outputs
Configurations
Scripting
math: fft filtering and cubic fitting
Inputs
Outputs
Configurations
Scripting
result: cms dst table provider
Inputs
Outputs
Configurations
Scripting
result: spectrum data
Inputs
Outputs
Configurations
Scripting
invariant: eigen vectors (on field)
Inputs
Outputs
Configurations
Scripting
result: mapdl material properties
Inputs
Outputs
Configurations
Scripting
result: mapdl_section
Inputs
Outputs
Configurations
Scripting
result: compute invariant terms motion
Inputs
Outputs
Configurations
Scripting
result: write motion dfmf file
Inputs
Outputs
Configurations
Scripting
result: split to acmo facet indices
Inputs
Outputs
Configurations
Scripting
result: stress solution to global cs
Inputs
Outputs
Configurations
Scripting
result: elastic strain solution to global cs
Inputs
Outputs
Configurations
Scripting
result: plastic strain to global cs
Inputs
Outputs
Configurations
Scripting
math: qr solve
Inputs
Outputs
Configurations
Scripting
result: von mises strains as mechanical workflow
Inputs
Outputs
Configurations
Scripting
mesh: mesh clipper
Inputs
Outputs
Configurations
Scripting
serialization: migrate to vtk
Inputs
Outputs
Configurations
Scripting
result: cyclic expanded element heat flux
Inputs
Outputs
Configurations
Scripting
mesh: external layer
Inputs
Outputs
Configurations
Scripting
mesh: mesh cutter
Inputs
Outputs
Configurations
Scripting
mesh: mesh plan clipper
Inputs
Outputs
Configurations
Scripting
mesh: mesh_to_graphics
Inputs
Outputs
Configurations
Scripting
mesh: mesh_to_graphics_edges
Inputs
Outputs
Configurations
Scripting
geo: scoping normals
Inputs
Outputs
Configurations
Scripting
mesh: combine levelset
Inputs
Outputs
Configurations
Scripting
mesh: exclude levelset
Inputs
Outputs
Configurations
Scripting
mesh: make plane levelset
Inputs
Outputs
Configurations
Scripting
mesh: make sphere levelset
Inputs
Outputs
Configurations
Scripting
mesh: wireframe
Inputs
Outputs
Configurations
Scripting
mesh: mesh to tetra
Inputs
Outputs
Configurations
Scripting
mapping: fft
Inputs
Outputs
Configurations
Scripting
math: fft gradient evaluation
Inputs
Outputs
Configurations
Scripting
math: fft multi harmonic solution minmax
Inputs
Outputs
Configurations
Scripting
math: svd
Inputs
Outputs
Configurations
Scripting
math: time integration
Inputs
Outputs
Configurations
Scripting
math: time derivation
Inputs
Outputs
Configurations
Scripting
mapping: prep sampling fft
Inputs
Outputs
Configurations
Scripting
math: fft filtering and cubic fitting
Inputs
Outputs
Configurations
Scripting
math: window triangular
Inputs
Outputs
Configurations
Scripting
math: window hanning
Inputs
Outputs
Configurations
Scripting
math: window hamming
Inputs
Outputs
Configurations
Scripting
math: window welch
Inputs
Outputs
Configurations
Scripting
math: window blackman
Inputs
Outputs
Configurations
Scripting
math: window triangular (fields container)
Inputs
Outputs
Configurations
Scripting
math: window hanning (fields container)
Inputs
Outputs
Configurations
Scripting
math: window hamming (fields container)
Inputs
Outputs
Configurations
Scripting
math: window welch (fields container)
Inputs
Outputs
Configurations
Scripting
math: window blackman (fields container)
Inputs
Outputs
Configurations
Scripting
math: modal superposition
Inputs
Outputs
Configurations
Scripting
serialization: hdf5dpf generate result file
Inputs
Outputs
Configurations
Scripting
result: migrate to h5dpf
Inputs
Outputs
Configurations
Scripting
result: cgns result provider
Inputs
Outputs
Configurations
Scripting
result: von mises stresses as mechanical workflow
Inputs
Outputs
Configurations
Scripting
utility: hdf5dpf workflow provider
Inputs
Outputs
Configurations
Scripting
other: hdf5dpf mesh property provider
Inputs
Outputs
Configurations
Scripting
serialization: migrate to vtu
Inputs
Outputs
Configurations
Scripting
serialization: vtu export
Inputs
Outputs
Configurations
Scripting
result: compute total strain Y
=61.0.0", "wheel"]
[project]
# Check https://setuptools.pypa.io/en/stable/userguide/quickstart.html for all available sections
name = "ansys-dpf-core"
-version = "0.13.1.dev0"
+version = "0.13.3.dev0"
description = "Data Processing Framework - Python Core "
readme = "README.md"
requires-python = ">=3.9, <4"
@@ -30,7 +30,7 @@ dependencies = [
"google-api-python-client",
"grpcio >=1.63.0",
"importlib-metadata >=4.0",
- "numpy<2",
+ "numpy",
"packaging",
"protobuf",
"psutil",
diff --git a/requirements/requirements_docs.txt b/requirements/requirements_docs.txt
index a11abcb5d9..10a30ac8d9 100644
--- a/requirements/requirements_docs.txt
+++ b/requirements/requirements_docs.txt
@@ -9,7 +9,7 @@ pytest-sphinx==0.6.3
pyvista==0.44.1
sphinx==7.1.0
sphinx-copybutton==0.5.2
-sphinx-gallery==0.17.1
+sphinx-gallery==0.18.0
sphinx-notfound-page==1.0.4
sphinx-reredirects==0.1.3
sphinx_design==0.6.1
diff --git a/requirements/requirements_install.txt b/requirements/requirements_install.txt
index d0870797b8..738c1dc9a4 100644
--- a/requirements/requirements_install.txt
+++ b/requirements/requirements_install.txt
@@ -1,5 +1,5 @@
importlib-metadata==8.5.0
-numpy==2.1.2
-packaging==24.0
+numpy==2.1.3
+packaging==24.2
psutil==6.1.0
-tqdm==4.66.1
+tqdm==4.67.0
diff --git a/requirements/requirements_test.txt b/requirements/requirements_test.txt
index 50b5f73aae..5a73593a36 100644
--- a/requirements/requirements_test.txt
+++ b/requirements/requirements_test.txt
@@ -1,5 +1,5 @@
ansys-platform-instancemanagement==1.1.2
-coverage==7.6.4
+coverage==7.6.5
imageio==2.36.0
imageio-ffmpeg==0.5.1
pytest==8.3.3
diff --git a/src/ansys/dpf/core/_version.py b/src/ansys/dpf/core/_version.py
index 77687af6f0..37236517dd 100644
--- a/src/ansys/dpf/core/_version.py
+++ b/src/ansys/dpf/core/_version.py
@@ -43,6 +43,7 @@ class ServerToAnsysVersion:
"8.2": "2024R2",
"9.0": "2025R1",
"9.1": "2025R1",
+ "10.0": "2025R2",
}
def __getitem__(self, item):
diff --git a/src/ansys/dpf/core/custom_fields_container.py b/src/ansys/dpf/core/custom_fields_container.py
index dd6917f00c..42e12d175d 100644
--- a/src/ansys/dpf/core/custom_fields_container.py
+++ b/src/ansys/dpf/core/custom_fields_container.py
@@ -294,7 +294,7 @@ class BodyFieldsContainer(FieldsContainer):
>>> model = dpf.Model(examples.download_all_kinds_of_complexity_modal())
>>> fc = model.results.displacement.on_all_time_freqs.split_by_body.eval()
>>> fc.get_mat_scoping().ids[3]
- 45
+ np.int32(45)
>>> len(fc.get_fields_by_mat_id(45))
45
>>> f_time_2 = fc.get_field_by_mat_id(45, timeid=2)
diff --git a/src/ansys/dpf/core/cyclic_support.py b/src/ansys/dpf/core/cyclic_support.py
index 4c638acbfe..4ef5be4cf3 100644
--- a/src/ansys/dpf/core/cyclic_support.py
+++ b/src/ansys/dpf/core/cyclic_support.py
@@ -32,6 +32,7 @@
from ansys.dpf.core import server as server_module
from ansys.dpf.core.scoping import Scoping
+from ansys.dpf.core import field, property_field
class CyclicSupport:
@@ -304,6 +305,74 @@ def expand_element_id(self, element_id, sectors=None, stage_num=0):
)
return Scoping(scoping=expanded_ids, server=self._server)
+ def cs(self) -> field.Field:
+ """Coordinate system of the cyclic support.
+
+ Examples
+ --------
+ >>> from ansys.dpf.core import Model
+ >>> from ansys.dpf.core import examples
+ >>> multi_stage = examples.download_multi_stage_cyclic_result()
+ >>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
+ >>> cs = cyc_support.cs()
+
+ """
+
+ cs = self._api.cyclic_support_get_cs(self)
+ return field.Field(field=cs, server=self._server)
+
+ def low_high_map(self, stage_num: int = 0) -> property_field.PropertyField:
+ """Retrieve a property field containing node map from low to high
+ base sector of the given stage.
+
+ Parameters
+ ----------
+ stage_num:
+ Number of the stage required (from 0 to num_stages).
+
+ Returns
+ -------
+ low_high_map:
+ Node correspondence between low to high in the base sector of the given stage.
+
+ Examples
+ --------
+ >>> from ansys.dpf.core import Model
+ >>> from ansys.dpf.core import examples
+ >>> multi_stage = examples.download_multi_stage_cyclic_result()
+ >>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
+ >>> low_high_map = cyc_support.low_high_map(0)
+
+ """
+ low_high_map = self._api.cyclic_support_get_low_high_map(self, stage_num)
+ return property_field.PropertyField(property_field=low_high_map, server=self._server)
+
+ def high_low_map(self, stage_num: int = 0) -> property_field.PropertyField:
+ """Retrieve a property field containing node map from high to low
+ base sector of the given stage.
+
+ Parameters
+ ----------
+ stage_num:
+ Number of the stage required (from 0 to num_stages).
+
+ Returns
+ -------
+ low_high_map:
+ Node correspondence between high to low in the base sector of the given stage.
+
+ Examples
+ --------
+ >>> from ansys.dpf.core import Model
+ >>> from ansys.dpf.core import examples
+ >>> multi_stage = examples.download_multi_stage_cyclic_result()
+ >>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
+ >>> high_low_map = cyc_support.high_low_map(0)
+
+ """
+ high_low_map = self._api.cyclic_support_get_high_low_map(self, stage_num)
+ return property_field.PropertyField(property_field=high_low_map, server=self._server)
+
def __del__(self):
try:
self._deleter_func[0](self._deleter_func[1](self))
diff --git a/src/ansys/dpf/core/geometry.py b/src/ansys/dpf/core/geometry.py
index 4605487e09..110d30af46 100644
--- a/src/ansys/dpf/core/geometry.py
+++ b/src/ansys/dpf/core/geometry.py
@@ -20,7 +20,14 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
-"""Module containing the different geometry objects."""
+"""
+.. _ref_geometry:
+
+Geometry
+========
+Module containing the different geometry objects.
+
+"""
from ansys.dpf import core as dpf
diff --git a/src/ansys/dpf/core/geometry_factory.py b/src/ansys/dpf/core/geometry_factory.py
index ba616c5aef..327fe2d393 100644
--- a/src/ansys/dpf/core/geometry_factory.py
+++ b/src/ansys/dpf/core/geometry_factory.py
@@ -20,7 +20,14 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
-"""Geometry factory module containing functions to create the different geometries."""
+"""
+.. _ref_geometry_factory:
+
+Geometry Factory
+================
+Geometry factory module containing functions to create the different geometries.
+
+"""
import numpy as np
diff --git a/src/ansys/dpf/core/model.py b/src/ansys/dpf/core/model.py
index e5d8d8a625..d149ce288b 100644
--- a/src/ansys/dpf/core/model.py
+++ b/src/ansys/dpf/core/model.py
@@ -105,7 +105,7 @@ def metadata(self):
>>> meshed_region = model.metadata.meshed_region
>>> meshed_region.elements.scoping.ids[2]
- 759
+ np.int32(759)
Get the data sources of the model.
diff --git a/src/ansys/dpf/core/nodes.py b/src/ansys/dpf/core/nodes.py
index ca8e5cb46f..8db606d72b 100644
--- a/src/ansys/dpf/core/nodes.py
+++ b/src/ansys/dpf/core/nodes.py
@@ -214,7 +214,7 @@ def scoping(self):
>>> meshed_region = model.metadata.meshed_region
>>> nodes = model.metadata.meshed_region.nodes
>>> nodes.scoping.ids[2]
- 3
+ np.int32(3)
"""
return self._mesh._get_scoping(loc=locations.nodal)
diff --git a/src/ansys/dpf/core/operator_specification.py b/src/ansys/dpf/core/operator_specification.py
index 52524b5ce6..42d81bec7b 100644
--- a/src/ansys/dpf/core/operator_specification.py
+++ b/src/ansys/dpf/core/operator_specification.py
@@ -349,7 +349,7 @@ def description(self) -> str:
>>> from ansys.dpf import core as dpf
>>> operator = dpf.operators.math.scale()
>>> operator.specification.description
- 'Scales a field by a constant factor. This factor can be a scalar ...'
+ 'Scales a field by a constant factor...'
"""
if self._internal_obj is not None:
return self._api.operator_specification_get_description(self)
diff --git a/src/ansys/dpf/core/operators/result/mapdl_split_on_facet_indices.py b/src/ansys/dpf/core/operators/result/mapdl_split_on_facet_indices.py
index 26a84f3faa..b8171a7395 100644
--- a/src/ansys/dpf/core/operators/result/mapdl_split_on_facet_indices.py
+++ b/src/ansys/dpf/core/operators/result/mapdl_split_on_facet_indices.py
@@ -46,6 +46,28 @@ class mapdl_split_on_facet_indices(Operator):
the previous output.
volume_mesh : MeshedRegion
The solid support.
+ degenerated_tets : Scoping, optional
+ Elemental scoping of tet elements. if
+ connected, the tets in the scoping
+ are treated as degenerated tets
+ (solid185), and the rest as non-
+ degenerated tets (solid285). pins 185
+ and 285 are mutually exclusionary
+ (they cannot be connected at the same
+ time), and if none of them is
+ connected, all tets are treated as
+ non-degenerated (solid285).
+ non_degenerated_tets : Scoping, optional
+ Elemental scoping of tet elements. if
+ connected, the tets in the scoping
+ are treated as non-degenerated tets
+ (solid285), and the rest as
+ degenerated tets (solid185). pins 185
+ and 285 are mutually exclusionary
+ (they cannot be connected at the same
+ time), and if none of them is
+ connected, all tets are treated as
+ non-degenerated (solid285).
Returns
-------
@@ -68,6 +90,10 @@ class mapdl_split_on_facet_indices(Operator):
>>> op.inputs.facet_indices.connect(my_facet_indices)
>>> my_volume_mesh = dpf.MeshedRegion()
>>> op.inputs.volume_mesh.connect(my_volume_mesh)
+ >>> my_degenerated_tets = dpf.Scoping()
+ >>> op.inputs.degenerated_tets.connect(my_degenerated_tets)
+ >>> my_non_degenerated_tets = dpf.Scoping()
+ >>> op.inputs.non_degenerated_tets.connect(my_non_degenerated_tets)
>>> # Instantiate operator and connect inputs in one line
>>> op = dpf.operators.result.mapdl_split_on_facet_indices(
@@ -75,6 +101,8 @@ class mapdl_split_on_facet_indices(Operator):
... property_field_new_elements_to_old=my_property_field_new_elements_to_old,
... facet_indices=my_facet_indices,
... volume_mesh=my_volume_mesh,
+ ... degenerated_tets=my_degenerated_tets,
+ ... non_degenerated_tets=my_non_degenerated_tets,
... )
>>> # Get output data
@@ -87,6 +115,8 @@ def __init__(
property_field_new_elements_to_old=None,
facet_indices=None,
volume_mesh=None,
+ degenerated_tets=None,
+ non_degenerated_tets=None,
config=None,
server=None,
):
@@ -105,6 +135,10 @@ def __init__(
self.inputs.facet_indices.connect(facet_indices)
if volume_mesh is not None:
self.inputs.volume_mesh.connect(volume_mesh)
+ if degenerated_tets is not None:
+ self.inputs.degenerated_tets.connect(degenerated_tets)
+ if non_degenerated_tets is not None:
+ self.inputs.non_degenerated_tets.connect(non_degenerated_tets)
@staticmethod
def _spec():
@@ -159,6 +193,36 @@ def _spec():
optional=False,
document="""The solid support.""",
),
+ 185: PinSpecification(
+ name="degenerated_tets",
+ type_names=["scoping"],
+ optional=True,
+ document="""Elemental scoping of tet elements. if
+ connected, the tets in the scoping
+ are treated as degenerated tets
+ (solid185), and the rest as non-
+ degenerated tets (solid285). pins 185
+ and 285 are mutually exclusionary
+ (they cannot be connected at the same
+ time), and if none of them is
+ connected, all tets are treated as
+ non-degenerated (solid285).""",
+ ),
+ 285: PinSpecification(
+ name="non_degenerated_tets",
+ type_names=["scoping"],
+ optional=True,
+ document="""Elemental scoping of tet elements. if
+ connected, the tets in the scoping
+ are treated as non-degenerated tets
+ (solid285), and the rest as
+ degenerated tets (solid185). pins 185
+ and 285 are mutually exclusionary
+ (they cannot be connected at the same
+ time), and if none of them is
+ connected, all tets are treated as
+ non-degenerated (solid285).""",
+ ),
},
map_output_pin_spec={
0: PinSpecification(
@@ -226,6 +290,10 @@ class InputsMapdlSplitOnFacetIndices(_Inputs):
>>> op.inputs.facet_indices.connect(my_facet_indices)
>>> my_volume_mesh = dpf.MeshedRegion()
>>> op.inputs.volume_mesh.connect(my_volume_mesh)
+ >>> my_degenerated_tets = dpf.Scoping()
+ >>> op.inputs.degenerated_tets.connect(my_degenerated_tets)
+ >>> my_non_degenerated_tets = dpf.Scoping()
+ >>> op.inputs.non_degenerated_tets.connect(my_non_degenerated_tets)
"""
def __init__(self, op: Operator):
@@ -246,6 +314,14 @@ def __init__(self, op: Operator):
mapdl_split_on_facet_indices._spec().input_pin(3), 3, op, -1
)
self._inputs.append(self._volume_mesh)
+ self._degenerated_tets = Input(
+ mapdl_split_on_facet_indices._spec().input_pin(185), 185, op, -1
+ )
+ self._inputs.append(self._degenerated_tets)
+ self._non_degenerated_tets = Input(
+ mapdl_split_on_facet_indices._spec().input_pin(285), 285, op, -1
+ )
+ self._inputs.append(self._non_degenerated_tets)
@property
def fields_container(self):
@@ -343,6 +419,64 @@ def volume_mesh(self):
"""
return self._volume_mesh
+ @property
+ def degenerated_tets(self):
+ """Allows to connect degenerated_tets input to the operator.
+
+ Elemental scoping of tet elements. if
+ connected, the tets in the scoping
+ are treated as degenerated tets
+ (solid185), and the rest as non-
+ degenerated tets (solid285). pins 185
+ and 285 are mutually exclusionary
+ (they cannot be connected at the same
+ time), and if none of them is
+ connected, all tets are treated as
+ non-degenerated (solid285).
+
+ Parameters
+ ----------
+ my_degenerated_tets : Scoping
+
+ Examples
+ --------
+ >>> from ansys.dpf import core as dpf
+ >>> op = dpf.operators.result.mapdl_split_on_facet_indices()
+ >>> op.inputs.degenerated_tets.connect(my_degenerated_tets)
+ >>> # or
+ >>> op.inputs.degenerated_tets(my_degenerated_tets)
+ """
+ return self._degenerated_tets
+
+ @property
+ def non_degenerated_tets(self):
+ """Allows to connect non_degenerated_tets input to the operator.
+
+ Elemental scoping of tet elements. if
+ connected, the tets in the scoping
+ are treated as non-degenerated tets
+ (solid285), and the rest as
+ degenerated tets (solid185). pins 185
+ and 285 are mutually exclusionary
+ (they cannot be connected at the same
+ time), and if none of them is
+ connected, all tets are treated as
+ non-degenerated (solid285).
+
+ Parameters
+ ----------
+ my_non_degenerated_tets : Scoping
+
+ Examples
+ --------
+ >>> from ansys.dpf import core as dpf
+ >>> op = dpf.operators.result.mapdl_split_on_facet_indices()
+ >>> op.inputs.non_degenerated_tets.connect(my_non_degenerated_tets)
+ >>> # or
+ >>> op.inputs.non_degenerated_tets(my_non_degenerated_tets)
+ """
+ return self._non_degenerated_tets
+
class OutputsMapdlSplitOnFacetIndices(_Outputs):
"""Intermediate class used to get outputs from
diff --git a/src/ansys/dpf/core/operators/serialization/deserializer.py b/src/ansys/dpf/core/operators/serialization/deserializer.py
index 070a6ea53b..27ee127b9c 100644
--- a/src/ansys/dpf/core/operators/serialization/deserializer.py
+++ b/src/ansys/dpf/core/operators/serialization/deserializer.py
@@ -17,6 +17,8 @@ class deserializer(Operator):
Parameters
----------
+ stream_type : int
+ 0 for ascii (default), and 1 for binary
file_path : str
File path
@@ -37,11 +39,14 @@ class deserializer(Operator):
>>> op = dpf.operators.serialization.deserializer()
>>> # Make input connections
+ >>> my_stream_type = int()
+ >>> op.inputs.stream_type.connect(my_stream_type)
>>> my_file_path = str()
>>> op.inputs.file_path.connect(my_file_path)
>>> # Instantiate operator and connect inputs in one line
>>> op = dpf.operators.serialization.deserializer(
+ ... stream_type=my_stream_type,
... file_path=my_file_path,
... )
@@ -50,10 +55,12 @@ class deserializer(Operator):
>>> result_any_output2 = op.outputs.any_output2()
"""
- def __init__(self, file_path=None, config=None, server=None):
+ def __init__(self, stream_type=None, file_path=None, config=None, server=None):
super().__init__(name="deserializer", config=config, server=server)
self._inputs = InputsDeserializer(self)
self._outputs = OutputsDeserializer(self)
+ if stream_type is not None:
+ self.inputs.stream_type.connect(stream_type)
if file_path is not None:
self.inputs.file_path.connect(file_path)
@@ -64,6 +71,12 @@ def _spec():
spec = Specification(
description=description,
map_input_pin_spec={
+ -1: PinSpecification(
+ name="stream_type",
+ type_names=["int32"],
+ optional=False,
+ document="""0 for ascii (default), and 1 for binary""",
+ ),
0: PinSpecification(
name="file_path",
type_names=["string"],
@@ -135,15 +148,39 @@ class InputsDeserializer(_Inputs):
--------
>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.serialization.deserializer()
+ >>> my_stream_type = int()
+ >>> op.inputs.stream_type.connect(my_stream_type)
>>> my_file_path = str()
>>> op.inputs.file_path.connect(my_file_path)
"""
def __init__(self, op: Operator):
super().__init__(deserializer._spec().inputs, op)
+ self._stream_type = Input(deserializer._spec().input_pin(-1), -1, op, -1)
+ self._inputs.append(self._stream_type)
self._file_path = Input(deserializer._spec().input_pin(0), 0, op, -1)
self._inputs.append(self._file_path)
+ @property
+ def stream_type(self):
+ """Allows to connect stream_type input to the operator.
+
+ 0 for ascii (default), and 1 for binary
+
+ Parameters
+ ----------
+ my_stream_type : int
+
+ Examples
+ --------
+ >>> from ansys.dpf import core as dpf
+ >>> op = dpf.operators.serialization.deserializer()
+ >>> op.inputs.stream_type.connect(my_stream_type)
+ >>> # or
+ >>> op.inputs.stream_type(my_stream_type)
+ """
+ return self._stream_type
+
@property
def file_path(self):
"""Allows to connect file_path input to the operator.
diff --git a/src/ansys/dpf/core/operators/serialization/serializer.py b/src/ansys/dpf/core/operators/serialization/serializer.py
index e005a14b76..6333adb214 100644
--- a/src/ansys/dpf/core/operators/serialization/serializer.py
+++ b/src/ansys/dpf/core/operators/serialization/serializer.py
@@ -16,6 +16,8 @@ class serializer(Operator):
Parameters
----------
+ stream_type : int
+ 0 for ascii (default), and 1 for binary
file_path : str
any_input1 : Any
Any input
@@ -34,6 +36,8 @@ class serializer(Operator):
>>> op = dpf.operators.serialization.serializer()
>>> # Make input connections
+ >>> my_stream_type = int()
+ >>> op.inputs.stream_type.connect(my_stream_type)
>>> my_file_path = str()
>>> op.inputs.file_path.connect(my_file_path)
>>> my_any_input1 = dpf.Any()
@@ -43,6 +47,7 @@ class serializer(Operator):
>>> # Instantiate operator and connect inputs in one line
>>> op = dpf.operators.serialization.serializer(
+ ... stream_type=my_stream_type,
... file_path=my_file_path,
... any_input1=my_any_input1,
... any_input2=my_any_input2,
@@ -53,11 +58,19 @@ class serializer(Operator):
"""
def __init__(
- self, file_path=None, any_input1=None, any_input2=None, config=None, server=None
+ self,
+ stream_type=None,
+ file_path=None,
+ any_input1=None,
+ any_input2=None,
+ config=None,
+ server=None,
):
super().__init__(name="serializer", config=config, server=server)
self._inputs = InputsSerializer(self)
self._outputs = OutputsSerializer(self)
+ if stream_type is not None:
+ self.inputs.stream_type.connect(stream_type)
if file_path is not None:
self.inputs.file_path.connect(file_path)
if any_input1 is not None:
@@ -71,6 +84,12 @@ def _spec():
spec = Specification(
description=description,
map_input_pin_spec={
+ -1: PinSpecification(
+ name="stream_type",
+ type_names=["int32"],
+ optional=False,
+ document="""0 for ascii (default), and 1 for binary""",
+ ),
0: PinSpecification(
name="file_path",
type_names=["string"],
@@ -146,6 +165,8 @@ class InputsSerializer(_Inputs):
--------
>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.serialization.serializer()
+ >>> my_stream_type = int()
+ >>> op.inputs.stream_type.connect(my_stream_type)
>>> my_file_path = str()
>>> op.inputs.file_path.connect(my_file_path)
>>> my_any_input1 = dpf.Any()
@@ -156,6 +177,8 @@ class InputsSerializer(_Inputs):
def __init__(self, op: Operator):
super().__init__(serializer._spec().inputs, op)
+ self._stream_type = Input(serializer._spec().input_pin(-1), -1, op, -1)
+ self._inputs.append(self._stream_type)
self._file_path = Input(serializer._spec().input_pin(0), 0, op, -1)
self._inputs.append(self._file_path)
self._any_input1 = Input(serializer._spec().input_pin(1), 1, op, 0)
@@ -163,6 +186,26 @@ def __init__(self, op: Operator):
self._any_input2 = Input(serializer._spec().input_pin(2), 2, op, 1)
self._inputs.append(self._any_input2)
+ @property
+ def stream_type(self):
+ """Allows to connect stream_type input to the operator.
+
+ 0 for ascii (default), and 1 for binary
+
+ Parameters
+ ----------
+ my_stream_type : int
+
+ Examples
+ --------
+ >>> from ansys.dpf import core as dpf
+ >>> op = dpf.operators.serialization.serializer()
+ >>> op.inputs.stream_type.connect(my_stream_type)
+ >>> # or
+ >>> op.inputs.stream_type(my_stream_type)
+ """
+ return self._stream_type
+
@property
def file_path(self):
"""Allows to connect file_path input to the operator.
diff --git a/src/ansys/dpf/gate/cyclic_support_grpcapi.py b/src/ansys/dpf/gate/cyclic_support_grpcapi.py
index cc89e4d031..45c3c4fb9e 100644
--- a/src/ansys/dpf/gate/cyclic_support_grpcapi.py
+++ b/src/ansys/dpf/gate/cyclic_support_grpcapi.py
@@ -75,6 +75,16 @@ def cyclic_support_get_base_elements_scoping(support, i_stage):
return getattr(CyclicSupportGRPCAPI.list(support),
"base_elements_scoping_"+str(i_stage)).get_ownership()
+ @staticmethod
+ def cyclic_support_get_low_high_map(support, i_stage):
+ return getattr(CyclicSupportGRPCAPI.list(support),
+ "low_high_map_"+str(i_stage)).get_ownership()
+
+ @staticmethod
+ def cyclic_support_get_high_low_map(support, i_stage):
+ return getattr(CyclicSupportGRPCAPI.list(support),
+ "high_low_map_"+str(i_stage)).get_ownership()
+
@staticmethod
def get_expanded_ids(support, request):
return _get_stub(support._server).GetExpandedIds(request).expanded_ids
@@ -100,3 +110,19 @@ def cyclic_support_get_expanded_element_ids(support, baseElementId, i_stage, sec
request = CyclicSupportGRPCAPI.init_get_expanded_ids(support, i_stage, sectorsScoping)
request.element_id = baseElementId
return CyclicSupportGRPCAPI.get_expanded_ids(support, request)
+
+ @staticmethod
+ def get_cs(support, request):
+ return _get_stub(support._server).GetCS(request).cs
+
+ @staticmethod
+ def init_get_cs(support):
+ from ansys.grpc.dpf import cyclic_support_pb2
+ request = cyclic_support_pb2.GetCSRequest()
+ request.support.CopyFrom(support._internal_obj)
+ return request
+
+ @staticmethod
+ def cyclic_support_get_cs(support):
+ request = CyclicSupportGRPCAPI.init_get_cs(support)
+ return CyclicSupportGRPCAPI.get_cs(support, request)
\ No newline at end of file
diff --git a/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll b/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll
index 6cae395fb6..ec26ef4042 100644
Binary files a/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll and b/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll differ
diff --git a/src/ansys/dpf/gatebin/DPFClientAPI.dll b/src/ansys/dpf/gatebin/DPFClientAPI.dll
index 4a0909b3ca..f9c22afd52 100644
Binary files a/src/ansys/dpf/gatebin/DPFClientAPI.dll and b/src/ansys/dpf/gatebin/DPFClientAPI.dll differ
diff --git a/src/ansys/dpf/gatebin/_version.py b/src/ansys/dpf/gatebin/_version.py
index ed6e1ca066..600d7f854e 100644
--- a/src/ansys/dpf/gatebin/_version.py
+++ b/src/ansys/dpf/gatebin/_version.py
@@ -1,6 +1,6 @@
"""Version for ansys-dpf-gatebin"""
# major, minor, patch
-version_info = 0, 6, "1.dev0"
+version_info = 0, 7, "0.dev0"
# Nice string for the version
__version__ = ".".join(map(str, version_info))
\ No newline at end of file
diff --git a/src/ansys/dpf/gatebin/libAns.Dpf.GrpcClient.so b/src/ansys/dpf/gatebin/libAns.Dpf.GrpcClient.so
index 778482708b..5f49266b13 100644
Binary files a/src/ansys/dpf/gatebin/libAns.Dpf.GrpcClient.so and b/src/ansys/dpf/gatebin/libAns.Dpf.GrpcClient.so differ
diff --git a/src/ansys/dpf/gatebin/libDPFClientAPI.so b/src/ansys/dpf/gatebin/libDPFClientAPI.so
index 79f70b3550..0db71d5af5 100644
Binary files a/src/ansys/dpf/gatebin/libDPFClientAPI.so and b/src/ansys/dpf/gatebin/libDPFClientAPI.so differ
diff --git a/src/ansys/grpc/dpf/_version.py b/src/ansys/grpc/dpf/_version.py
index 10264ef4b0..7a4bf6e297 100644
--- a/src/ansys/grpc/dpf/_version.py
+++ b/src/ansys/grpc/dpf/_version.py
@@ -1,2 +1,2 @@
"""ansys-grpc-dpf python protocol version"""
-__version__ = '0.10.0dev0' # major.minor.patch
+__version__ = '0.11.0dev0' # major.minor.patch
diff --git a/tests/test_cyclic_support.py b/tests/test_cyclic_support.py
index 0d26dad606..bd19aae8f5 100644
--- a/tests/test_cyclic_support.py
+++ b/tests/test_cyclic_support.py
@@ -24,6 +24,7 @@
import weakref
import numpy as np
+import conftest
import pytest
from ansys import dpf
@@ -171,6 +172,18 @@ def test_cyc_support_from_to_workflow(cyclic_lin_rst, server_type):
assert len(exp.base_nodes_scoping().ids) == 32
+@pytest.mark.skipif(
+ not conftest.SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_8_2, reason="Requires DPF 8.2 or above."
+)
+def test_cyc_support_coordinate_system(cyclic_lin_rst):
+ data_sources = dpf.DataSources(cyclic_lin_rst)
+ model = dpf.Model(data_sources)
+ result_info = model.metadata.result_info
+ cyc_support = result_info.cyclic_support
+ exp = cyc_support.cs().scoping
+ assert np.allclose(exp.ids, [12])
+
+
def test_cyc_support_multistage(cyclic_multistage):
model = dpf.Model(cyclic_multistage)
cyc_support = model.metadata.result_info.cyclic_support
@@ -185,6 +198,24 @@ def test_cyc_support_multistage(cyclic_multistage):
assert np.allclose(cyc_support.sectors_set_for_expansion(stage_num=1).ids, list(range(0, 12)))
+@pytest.mark.skipif(
+ not conftest.SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_8_2, reason="Requires DPF 8.2 or above."
+)
+def test_cyc_support_multistage_low_high_map(cyclic_multistage):
+ model = dpf.Model(cyclic_multistage)
+ cyc_support = model.metadata.result_info.cyclic_support
+
+ high_low_map = cyc_support.high_low_map(0)
+ assert np.allclose(high_low_map.get_entity_data_by_id(1446), 1447)
+ assert np.allclose(high_low_map.get_entity_data_by_id(2946), 2948)
+ assert np.allclose(high_low_map.get_entity_data_by_id(1452), 1466)
+
+ low_high_map = cyc_support.low_high_map(1)
+ assert np.allclose(low_high_map.get_entity_data_by_id(995), 939)
+ assert np.allclose(low_high_map.get_entity_data_by_id(53), 54)
+ assert np.allclose(low_high_map.get_entity_data_by_id(70), 56)
+
+
def test_delete_cyc_support(cyclic_lin_rst, server_type_legacy_grpc):
data_sources = dpf.DataSources(cyclic_lin_rst, server=server_type_legacy_grpc)
model = dpf.Model(data_sources, server=server_type_legacy_grpc)
diff --git a/tests/test_remote_workflow.py b/tests/test_remote_workflow.py
index f1e8b3a4c0..c693d577d9 100644
--- a/tests/test_remote_workflow.py
+++ b/tests/test_remote_workflow.py
@@ -630,6 +630,7 @@ def test_multi_process_transparent_api_create_on_local_remote_ith_address_workfl
assert np.allclose(max_field.data, [10.03242272])
+@pytest.mark.xfail(reason="Unstable test")
@pytest.mark.skipif(
not conftest.SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_4_0,
reason="Requires server version higher than 4.0",