Skip to content
9 changes: 9 additions & 0 deletions src/ansys/dpf/core/animation.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,14 @@
)

# Get fields
available_mode_numbers = fields_container.get_available_ids_for_label("time")

if not mode_number in available_mode_numbers:
raise ValueError(f"The mode {mode_number} data is not available in field container.")

Check warning on line 101 in src/ansys/dpf/core/animation.py

View check run for this annotation

Codecov / codecov/patch

src/ansys/dpf/core/animation.py#L101

Added line #L101 was not covered by tests
fields_mode = fields_container.get_fields({"time": mode_number})
mode_frequencies_field = fields_container.time_freq_support.time_frequencies
mode_frequencies = mode_frequencies_field.data
mode_frequency = mode_frequencies[available_mode_numbers.index(mode_number)]

# Merge fields if needed
if len(fields_mode) > 1:
Expand All @@ -108,6 +115,7 @@

max_data = float(np.max(field_mode.data))
loop_over = dpf.fields_factory.field_from_array(scale_factor_per_frame)
loop_over.unit = mode_frequencies_field.unit

# Create workflow
wf = dpf.Workflow()
Expand All @@ -130,6 +138,7 @@
output_name="field",
save_as=save_as,
mode_number=mode_number,
mode_frequency=mode_frequency,
clim=[0, max_data],
scale_factor=deform_scale_factor,
**kwargs,
Expand Down
5 changes: 3 additions & 2 deletions src/ansys/dpf/core/animator.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ def animate_workflow(
input_name="loop_over",
save_as="",
mode_number=None,
mode_frequency=None,
scale_factor=1.0,
shell_layer=core.shell_layers.top,
**kwargs,
Expand Down Expand Up @@ -133,9 +134,9 @@ def render_frame(frame):
str_template.format(indices[frame], unit, freq_fmt), **kwargs_in
)
else:
str_template = "frq={0:{2}} {1}"
str_template = "mode={3}\nfrq={0:{2}} {1}"
self._plotter.add_text(
str_template.format(mode_number, unit, freq_fmt), **kwargs_in
str_template.format(mode_frequency, unit, freq_fmt, mode_number), **kwargs_in
)

if cpos:
Expand Down
Loading