-
Notifications
You must be signed in to change notification settings - Fork 136
feat: using dpf instead of reader in "results" module #1300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
❌ Your patch check has failed because the patch coverage (59.09%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #1300 +/- ##
==========================================
- Coverage 89.17% 85.50% -3.67%
==========================================
Files 187 189 +2
Lines 14970 15619 +649
==========================================
+ Hits 13349 13355 +6
- Misses 1621 2264 +643 🚀 New features to boost your workflow:
|
Fundamentally, this all needs to be moved to DPF-Post and DPF post needs to have an even simpler API. Right now we have:
I'd rather not make a 5th. There's a potential new hire that will work for the PyAnsys team on DPF-Post and I'd like him to work on this along with you. |
Added `_get_nodes_for_argument`, `principal_nodal_stress`, and `element_components`.
… docker run command
…nd improve docker command construction
…pdl_logs_remote.sh
As the title.
The key is to replace the class
ansys-mapdl-reader.rst.Result
by some class which provides the same interface. The complete lists of functions in that class are:Show list of Result class functions
However, I'm planning to migrate only the public ones:
Core
Launch DPF when running in containerThis should not be part of PyMAPDL since if it is local, it will be automatically detected, and if it is remote, we should not own that resource. It could be something for PyMAPDL developers.MapdlGrpc
class.To migrate
available_results
cylindrical_nodal_stress
element_components
element_lookup
element_solution_data
This requires a mapping sort of:
element_stress
filename
materials
See:mesh
: Requires replicate a full class. It will be a different issue.n_results
n_sector
nodal_acceleration
nodal_boundary_conditions
nodal_displacement
nodal_elastic_strain
nodal_input_force
nodal_plastic_strain
nodal_reaction_forces
nodal_solution
nodal_static_forces
nodal_stress
nodal_temperature
nodal_thermal_strain
nodal_time_history
nodal_velocity
node_components
parse_coordinate_system
parse_step_substep
pathlib_filename
principal_nodal_stress
result_dof
: Return a list of degrees of freedom for a given result number.section_data
time_values
version
Next PRs
Mesh object
Plotting PR
animate_nodal_displacement
animate_nodal_solution
animate_nodal_solution_set
plot
plot_cylindrical_nodal_stress
plot_element_result
plot_nodal_displacement
plot_nodal_elastic_strain
plot_nodal_plastic_strain
plot_nodal_solution
plot_nodal_stress
plot_nodal_temperature
plot_nodal_thermal_strain
plot_principal_nodal_stress
VTK PR
save_as_vtk
This is going to require a separate package.
To not migrate.
A
NotImplementedError
will be raised.cs_4x4
- I couldn't make it work locally, so I'm not porting it. It will raise a not implemented error.solution_info
It doesn't make sense to be ported, because of this type of information is hidden in DPF.
text_result_table
Used for the text in the plots. Not porting it.
write_tables
: Write binary tables to ASCII.read_record
: Read a record from the opened file. Records are hidden in DPF.overwrite_element_solution_record
: DPF cannot write solution files.overwrite_element_solution_records
: DPF cannot write solution files.There are many methods which are duplicate from
mapdl.post_processing
, I will probably redirect one to another (I don't know which one should prevail, probably post-processing).Summary by Sourcery
Replace the legacy reader‐based results interface with a new DPF backend: introduce a global switch to toggle backends, implement and expose the
DPFResult
class with migrated public APIs using ansys-dpf-core, update test infrastructure and CI workflows to support DPF testing, and refine misc, launcher, and pytest utilities to accommodate the change.New Features:
use_reader_backend
switch in MAPDL.DPFResult
class underansys.mapdl.core.reader.result
migrating public result APIs to use ansys-dpf-core.get_ip
andparse_ip_route
for IP detection and switch GRPC/Docker connection logic.Bug Fixes:
MapdlGrpc.sys
and clarify assertion error when reusing MAPDL instances.Enhancements:
PYMAPDL_ADDITIONAL_SWITCHES
in headers.mapdl.result
file‐path handling to create isolated temp directories and enrich FileNotFoundError messages._parse_ip_route
usage in launcher and misc modules.CI:
TEST_DPF_BACKEND
environment variable in CI workflows to enable/disable DPF tests.Documentation:
Tests:
tests/test_result.py
and update fixtures fortest_dpf_backend
.tests/conftest.py
,tests/common.py
, and test launcher to integrate DPF backend testing.