Closed luisaFelixSalles closed 1 month ago
Comments:
Time_freq_support
class either with the results operator inputIssues found:
disp_z = disp.Z()
disp_z.inputs.time_scoping(timeids)
min_max_op = ops.min_max.min_max_fc(ops.math.norm_fc(disp_z))
# Extract a single field from the equivalent stress operator.
field = eqv.outputs.fields_container()[28]
print(field.scoping.ids[:10])
The line " Print the first node IDs from the field." doesn't means what it should. Suggestion: " Print the IDs of the first 10 nodes from the field"
- " Scoping and stress field coordinates" part: This part doesn't have a good introduction. I got lost. it doesn't describes what is the final goal // The sentence: "As you can see, these node IDs are not in order. Additionally, there may be fewer entries in the field than nodes in the model. For example, stresses are not computed at mid-side nodes." is poorly formulated. Suggestion: s you can see, these node IDs are not in order. Additionally, the results may be given in different places of the mesh. For example stresses are not computed at nodes in the mid-side of an element.
- [x] 1. Choose a time scoping for a transient analysis
-" Use time extrapolation" part:
```python
offset = 0.0005
time_scoping = [0.05 + offset * i for i in range(0, int((0.08 - 0.05) / offset))]
print(time_scoping)
To complex of a list definition method. It would be great to use a more explicit/visible/understandable method.
Comments:
[!WARNING] ATTENTION EXEMPLE PB !!!! GRAVE
Issues found:
[x] 0. Use Result Helpers to compare mode shapes for solids and then shells
Helpers concept? (idk if its me or the users should already know what it is )
The concepts here are mixed. The text its not well written. If i came to this example because of its title that is not the info i was looking for. The example show us how to get the results in different element shapes, but a mode shape is not that in modal analysis.
"Choose to split the displacement on solid/shell/beam to only focus on shell elements" this sentence does't make sense and in the end the example show us the displacement results for all the elements shapes: one on ‘solid’, one on ‘shell’, one on ‘beam’ and one on ‘unknown_shape’.
The plot figure doesn't specify which shape the results are from
It never explain why we are need to make those functions choices
Do we have a function that tells us the mode and its frequency? (Because here we print the model and it shows us the f with its index (in the cumulative colum) and i know that when we use workbench it gives us the mode number (in modal analysis this is the basic info we look for)).
the calss results has this property: split_by_shape
# Choose to split the displacement on solid/shell/beam to only focus on shell
# # elements
# disp = model.results.displacement
# for mode in modes:
# fc = disp.on_time_scoping(mode).split_by_shape.eval()
# model.metadata.meshed_region.plot(fc.shell_field())
Can I use it as a function that accept the element shape as an argument?
Do we have a function that plot the real mode shape? i couldn't find it->yes, shown in the second example
[x] 1. Plot and animate mode shapes with DPF
This example does what the first one proposed and didn't do.
Each code line is well explained
"Animate a mode shape To suppress window pop-up, set the off_screen argument to True. ~~~~" ?? this sentence???
The animation doesn't show us the mode shape (for it we really have to see the deformed mesh )
Comments:
Issues found:
[x] 0. Multi-harmonic response example
"Multi-harmonic response example" part: EN: "Read the analysis domain support" -> suggestion: specify that is a time domain and also write what is printed (number of sets)
Rz component?
fields = fft.outputs.field_max()
len(fields) # one multi-harmonic field response per node
Why we use the len() function here?
[x] 1. Expand harmonic modal superposition with DPF
Maybe explain in a core example of DataDources the concept of "upstream " result need here.
We don't specify what is plot (we should have a title for each figure)
Comments:
Issues found:
Comments:
Issues found:
Comments:
Issues found:
overall_field = dpf.fields_factory.create_3d_vector_field(1, dpf.locations.overall)
overall_field.append([0.2, 0.0, 0.0], 1)
Comments:
Issues found:
like it has this triangle in the middle (empty) and a triangle breaking the symmetry in the upper left corner
Comments:
Issues found:
# Python plugins are not supported in process.
dpf.start_local_server(config=dpf.AvailableServerConfigs.GrpcServer)
The first line here ?
Comments:
Issues found:
Comments:
Issues found:
cs = model.operator(r"mapdl::rst::CS")
cs.inputs.cs_id.connect(12)
cs_rot_mat = cs.outputs.field.get_data().data.T[0:9]
The first line??? //"The first 9 values in the cs output is the rotation matrix." Always the firs 9 values?
Comments:
Issues found:
ansys.dpf.result.cyclic_expanded_displacement
this exists ?Comments:
Issues found:
formating? and thus sentence is too large
Comments:
Issues found:
Comments:
Issues found:
[x] 0. Results extraction and analysis from LS-Dyna sources
"d3plot file results extraction" part: The text says: "The model has solid (3D) elements and beam (1D) elements. Some of the results only apply to one type of elements (such as the stress tensor for solids, or the axial force for beams, for example)." It would be great to have a code that print this correlation (which results is given for which type of element )
it doesn't explain why we are doing those things: "Let’s extract beam axial force for the last time step and plot it, deforming the mesh according to the displacement field at the same time step."
The figure show us values but doesn't indicates what they are, a force?
I don't get the conclusion of this part: "The axial force has only been computed for the beam elements..."
"binout file results extraction" part: spelling error : "Create the model and dprint its contents. " -> dprint? -" Results from the matsum branch of the binout file " ??? don't understand this sentence.
Comments:
Issues found:
result_info = model.metadata.result_info
print(result_info.available_results)
# and
print(model.results)
i think the first is just a longer method and it prints all the info in just one line (confusing)
Review and comment the existing documentation
General observations
Basic examples
Comments:
Issues found:
ScopingsContainer
entity contains differentScopings
and can be connected to any result provider to get results split with the same partition as the inputScopingsContainer
'.