Closed roosre closed 1 month ago
General question: are we planning to backport these fixes to the 0.6
release branch and 2024R2 pyansys
metapackage?
General question: are we planning to backport these fixes to the
0.6
release branch and 2024R2pyansys
metapackage?
Hi @greschd , yes. That would make sense from my point of view.
Attention: Patch coverage is 87.17949%
with 15 lines
in your changes missing coverage. Please review.
Project coverage is 91.66%. Comparing base (
d8d8cc6
) to head (83d1310
). Report is 1 commits behind head on main.
Files with missing lines | Patch % | Lines |
---|---|---|
src/ansys/dpf/composites/_indexer.py | 83.33% | 15 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
While adding an example for a thermal analysis (examples/013_thermal_example.py), several issues were found in the result extraction for layered solid elements where the field indexers are used. The main issue is that fields which have one entry per entity behave slightly different if compared with one that has multiple entries per entity. This became visible because a solid model with "analysis ply-wise" extrusion was used. So there is only one entry per entity for the layered fields such as angles, materials etc.
Here are some details:
FieldIndexer
has to handle cases where the data pointers of a field are set in DPF or not. This is a performance optimization in DPF. The data pointers are only available if multiple entries are set per entity. This is addressed by implementing helper functionsget_property_field_indexer
andget_field_indexer
which automatically returns the correct indexer.by_id_as_array
to clearly distinguish between a single value and an array of values because the return type was dependent on if data pointers are available or not.FieldIndexer
which returns a single value was used explicitly.get_field_indexer
returns now the correct indexer but the bug in the backend becomes visible now.number of corner nodes
was used instead ofnumber of nodes per spot
when computing the indices. This makes a difference if layered solid elements are processed. Seeget_selected_indices
in src/ansys/dpf/composites/select_indices.py.