From e9608b99692c1d535f7eec07f8c4589a869214c9 Mon Sep 17 00:00:00 2001 From: Revathy Venugopal <104772255+Revathyvenugopal162@users.noreply.github.com> Date: Mon, 25 Aug 2025 03:30:48 -0700 Subject: [PATCH 01/18] fix: runner --- .../Plate_Thickness_Optimization.py | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 61a699a6d5..19686a3741 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -52,6 +52,7 @@ from ansys.dyna.core.run.linux_runner import LinuxRunner from ansys.dyna.core.run.options import MemoryUnit, MpiOption, Precision from ansys.dyna.core.run.windows_runner import WindowsRunner +from ansys.dyna.core.run.local_solver import run_dyna # sphinx_gallery_thumbnail_path = '_static/pre/opt/plate_thickness.png' @@ -276,16 +277,17 @@ def write_input_deck(**kwargs): def run_job(directory): - if os.name == "nt": - runner = WindowsRunner( - ncpu=2, memory=2, precision=Precision.SINGLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB - ) - elif os.name == "posix": - runner = LinuxRunner( - ncpu=2, memory=2, precision=Precision.DOUBLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB - ) - runner.set_input("input.k", directory) - runner.run() # Run LS-DYNA simulation + # if os.name == "nt": + # runner = WindowsRunner( + # ncpu=2, memory=2, precision=Precision.SINGLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB + # ) + # elif os.name == "posix": + # runner = LinuxRunner( + # ncpu=2, memory=2, precision=Precision.DOUBLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB + # ) + run_dyna("input.k", working_directory=directory, ncpu=2, memory=2, precision=Precision.SINGLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB) + # runner.set_input("input.k", directory) # This line is now redundant + # runner.run() # Run LS-DYNA simulation assert os.path.isfile(os.path.join(directory, "d3plot")), "No result file found" From 777e0a96e229f59ce4df34de875d97d694d0a029 Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Mon, 25 Aug 2025 12:32:16 +0200 Subject: [PATCH 02/18] fix: prcommit --- examples/Optimization/Plate_Thickness_Optimization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 19686a3741..d319fb9aa1 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -50,9 +50,9 @@ from ansys.dyna.core import keywords as kwd from ansys.dyna.core.pre.examples.download_utilities import EXAMPLES_PATH, DownloadManager from ansys.dyna.core.run.linux_runner import LinuxRunner +from ansys.dyna.core.run.local_solver import run_dyna from ansys.dyna.core.run.options import MemoryUnit, MpiOption, Precision from ansys.dyna.core.run.windows_runner import WindowsRunner -from ansys.dyna.core.run.local_solver import run_dyna # sphinx_gallery_thumbnail_path = '_static/pre/opt/plate_thickness.png' From e074f4d8c1891a913b9b8f377a7809d68b982133 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 10:33:12 +0000 Subject: [PATCH 03/18] chore: auto fixes from pre-commit hooks --- examples/Optimization/Plate_Thickness_Optimization.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index d319fb9aa1..79422c67c3 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -285,7 +285,15 @@ def run_job(directory): # runner = LinuxRunner( # ncpu=2, memory=2, precision=Precision.DOUBLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB # ) - run_dyna("input.k", working_directory=directory, ncpu=2, memory=2, precision=Precision.SINGLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB) + run_dyna( + "input.k", + working_directory=directory, + ncpu=2, + memory=2, + precision=Precision.SINGLE, + mpi_option=MpiOption.MPP_INTEL_MPI, + memory_unit=MemoryUnit.MB, + ) # runner.set_input("input.k", directory) # This line is now redundant # runner.run() # Run LS-DYNA simulation assert os.path.isfile(os.path.join(directory, "d3plot")), "No result file found" From e337006cabb47d0dc6b43bd7f7ee251ace11d0f5 Mon Sep 17 00:00:00 2001 From: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com> Date: Mon, 25 Aug 2025 10:34:56 +0000 Subject: [PATCH 04/18] chore: adding changelog file 887.fixed.md [dependabot-skip] --- doc/changelog/887.fixed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/changelog/887.fixed.md diff --git a/doc/changelog/887.fixed.md b/doc/changelog/887.fixed.md new file mode 100644 index 0000000000..60fdb66c27 --- /dev/null +++ b/doc/changelog/887.fixed.md @@ -0,0 +1 @@ +Optimization plotting From 39f19aa34d849bbdf1ae96234d4d1ad9940cf4af Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Mon, 25 Aug 2025 13:31:46 +0200 Subject: [PATCH 05/18] fix: prcommit --- examples/Optimization/Plate_Thickness_Optimization.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 79422c67c3..0cb2cc1ee6 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -49,10 +49,12 @@ from ansys.dyna.core import Deck from ansys.dyna.core import keywords as kwd from ansys.dyna.core.pre.examples.download_utilities import EXAMPLES_PATH, DownloadManager -from ansys.dyna.core.run.linux_runner import LinuxRunner + +# from ansys.dyna.core.run.linux_runner import LinuxRunner from ansys.dyna.core.run.local_solver import run_dyna from ansys.dyna.core.run.options import MemoryUnit, MpiOption, Precision -from ansys.dyna.core.run.windows_runner import WindowsRunner + +# from ansys.dyna.core.run.windows_runner import WindowsRunner # sphinx_gallery_thumbnail_path = '_static/pre/opt/plate_thickness.png' @@ -279,11 +281,11 @@ def write_input_deck(**kwargs): def run_job(directory): # if os.name == "nt": # runner = WindowsRunner( - # ncpu=2, memory=2, precision=Precision.SINGLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB + # ncpu=2, memory=2, precision=Precision.SINGLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB # noqa: E501 # ) # elif os.name == "posix": # runner = LinuxRunner( - # ncpu=2, memory=2, precision=Precision.DOUBLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB + # ncpu=2, memory=2, precision=Precision.DOUBLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB # noqa: E501 # ) run_dyna( "input.k", From 0212d3d6f858b0a4ae8bcd54676aeb5d9e87c1bb Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Mon, 25 Aug 2025 14:13:26 +0200 Subject: [PATCH 06/18] fix: plot legend --- .../Plate_Thickness_Optimization.py | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 0cb2cc1ee6..a5d8b628f9 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -367,14 +367,31 @@ def get_plate_displacement(directory): time_data, max_disp_data, min_disp_data = get_plate_displacement(wd) reduced_time_data = [t * 1000 for t in time_data] # Determine if target displacement is reached + # if max(max_disp_data) <= target_displacement: + # print( + # "Final Thickness: %.4s, Max Plate Displacement: %.5s" % (thickness, max(max_disp_data))) + # plt.plot( + # reduced_time_data, max_disp_data, "r", + # label="Max Plate Displacement with %.4s thickness" % thickness + # ) + # break + # # Add series to the plot + # plt.plot(reduced_time_data, max_disp_data, "b") if max(max_disp_data) <= target_displacement: - print("Final Thickness: %.4s, Max Plate Displacement: %.5s" % (thickness, max(max_disp_data))) plt.plot( - reduced_time_data, max_disp_data, "r", label="Max Plate Displacement with %.4s thickness" % thickness + reduced_time_data, + max_disp_data, + "r", + label="Max Plate Displacement with %.4s thickness" % thickness, ) break - # Add series to the plot - plt.plot(reduced_time_data, max_disp_data, "b") + else: + plt.plot( + reduced_time_data, + max_disp_data, + "b", + label="Plate Displacement with %.4s thickness" % thickness, + ) except Exception as e: print(e) From 94a3d570c1dfcce56b71349b41da2aa3aaf26d30 Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Mon, 25 Aug 2025 15:03:35 +0200 Subject: [PATCH 07/18] fix: legent plot --- examples/Optimization/Plate_Thickness_Optimization.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index a5d8b628f9..09d8c09c1d 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -400,7 +400,11 @@ def get_plate_displacement(directory): # ~~~~~~~~~~~~~~~~~~~~~~~~~ # -plt.xlabel("Time (e^-3 s)") +plt.xlabel("Time (ms)") plt.ylabel("Displacement (mm)") -plt.legend() + +handles, labels = plt.gca().get_legend_handles_labels() +if handles: + plt.legend() + plt.show() From 3edb98dc4e8f8b8a66f062c15f0ed6db15f64854 Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Mon, 25 Aug 2025 17:05:03 +0200 Subject: [PATCH 08/18] fix: plotting values --- .../Plate_Thickness_Optimization.py | 68 +++++++++---------- 1 file changed, 31 insertions(+), 37 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 09d8c09c1d..c780e4878a 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -352,49 +352,45 @@ def get_plate_displacement(directory): # ~~~~~~~~~~~~~~~~~~~~~~ # -for iteration in range(0, max_iterations): - # Define thickness based on iteration +all_results = [] + +for iteration in range(max_iterations): + # Define thickness for this iteration thickness = initial_thickness + thickness_increment * iteration - wd = os.path.join(workdir.name, "thickness_%.4s" % thickness) - print(wd) + wd = os.path.join(workdir.name, f"thickness_{thickness:.4f}") pathlib.Path(wd).mkdir(exist_ok=True) # Create LS-Dyna input deck with new thickness write_input_deck(thickness=thickness, wd=wd) - # Run Solver try: + # Run solver run_job(wd) - # Run PyDPF Post + # Post-process displacement time_data, max_disp_data, min_disp_data = get_plate_displacement(wd) - reduced_time_data = [t * 1000 for t in time_data] - # Determine if target displacement is reached - # if max(max_disp_data) <= target_displacement: - # print( - # "Final Thickness: %.4s, Max Plate Displacement: %.5s" % (thickness, max(max_disp_data))) - # plt.plot( - # reduced_time_data, max_disp_data, "r", - # label="Max Plate Displacement with %.4s thickness" % thickness - # ) - # break - # # Add series to the plot - # plt.plot(reduced_time_data, max_disp_data, "b") + reduced_time_data = [t * 1000 for t in time_data] # Convert to ms + # Store result + all_results.append({ + "thickness": thickness, + "time": reduced_time_data, + "max_disp": max_disp_data + }) + # Check if target displacement is reached if max(max_disp_data) <= target_displacement: - plt.plot( - reduced_time_data, - max_disp_data, - "r", - label="Max Plate Displacement with %.4s thickness" % thickness, - ) + print(f"Target displacement reached at thickness {thickness:.4f}") break - else: - plt.plot( - reduced_time_data, - max_disp_data, - "b", - label="Plate Displacement with %.4s thickness" % thickness, - ) except Exception as e: - print(e) + print(f"Iteration {iteration} failed:", e) + +# Now plot all results +plt.figure(figsize=(8, 5)) +for res in all_results: + thickness = res["thickness"] + time_data = res["time"] + max_disp_data = res["max_disp"] + color = "r" if max(max_disp_data) <= target_displacement else "b" + label = f"Thickness {thickness:.4f}" + plt.plot(time_data, max_disp_data, color, label=label) + ############################################################################### # Generate graphical output # ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -402,9 +398,7 @@ def get_plate_displacement(directory): plt.xlabel("Time (ms)") plt.ylabel("Displacement (mm)") - -handles, labels = plt.gca().get_legend_handles_labels() -if handles: - plt.legend() - +plt.legend() +plt.title("Plate Displacement vs Time for Different Thicknesses") +plt.grid(True) plt.show() From b876129fef07215c84cd11267f9b21fa77b0adb4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 15:05:31 +0000 Subject: [PATCH 09/18] chore: auto fixes from pre-commit hooks --- examples/Optimization/Plate_Thickness_Optimization.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index c780e4878a..f2dd6d1bcd 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -368,11 +368,7 @@ def get_plate_displacement(directory): time_data, max_disp_data, min_disp_data = get_plate_displacement(wd) reduced_time_data = [t * 1000 for t in time_data] # Convert to ms # Store result - all_results.append({ - "thickness": thickness, - "time": reduced_time_data, - "max_disp": max_disp_data - }) + all_results.append({"thickness": thickness, "time": reduced_time_data, "max_disp": max_disp_data}) # Check if target displacement is reached if max(max_disp_data) <= target_displacement: print(f"Target displacement reached at thickness {thickness:.4f}") From 52692bc334ea763d1a3d10b16f14492455a32b85 Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 08:25:39 +0200 Subject: [PATCH 10/18] fix: add plot again --- .../Plate_Thickness_Optimization.py | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index c780e4878a..d1f3b15edd 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -396,9 +396,17 @@ def get_plate_displacement(directory): # ~~~~~~~~~~~~~~~~~~~~~~~~~ # -plt.xlabel("Time (ms)") -plt.ylabel("Displacement (mm)") -plt.legend() -plt.title("Plate Displacement vs Time for Different Thicknesses") -plt.grid(True) -plt.show() +plt.figure(figsize=(8, 5)) +for res in all_results: + thickness = res["thickness"] + time_data = res["time"] + max_disp_data = res["max_disp"] + color = "r" if max(max_disp_data) <= target_displacement else "b" + label = f"Thickness {thickness:.4f}" + plt.plot(time_data, max_disp_data, color, label=label) + plt.xlabel("Time (ms)") + plt.ylabel("Displacement (mm)") + plt.legend() + plt.title("Plate Displacement vs Time for Different Thicknesses") + plt.grid(True) + plt.show() From ecfb4da8dee133e0e728648e05a70d05bd9d522b Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 08:32:29 +0200 Subject: [PATCH 11/18] fix: color --- .../Plate_Thickness_Optimization.py | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index d1f3b15edd..5f1459fe64 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -389,24 +389,18 @@ def get_plate_displacement(directory): max_disp_data = res["max_disp"] color = "r" if max(max_disp_data) <= target_displacement else "b" label = f"Thickness {thickness:.4f}" - plt.plot(time_data, max_disp_data, color, label=label) + plt.plot(time_data, max_disp_data, color=color, label=label) ############################################################################### # Generate graphical output # ~~~~~~~~~~~~~~~~~~~~~~~~~ # -plt.figure(figsize=(8, 5)) -for res in all_results: - thickness = res["thickness"] - time_data = res["time"] - max_disp_data = res["max_disp"] - color = "r" if max(max_disp_data) <= target_displacement else "b" - label = f"Thickness {thickness:.4f}" - plt.plot(time_data, max_disp_data, color, label=label) - plt.xlabel("Time (ms)") - plt.ylabel("Displacement (mm)") - plt.legend() - plt.title("Plate Displacement vs Time for Different Thicknesses") - plt.grid(True) - plt.show() + +plt.xlabel("Time (ms)") +plt.ylabel("Displacement (mm)") + +plt.legend() +plt.title("Plate Displacement vs Time for Different Thicknesses") +plt.grid(True) +plt.show() From d8c8c97932c5c20ef839335595524515657d9c2c Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 09:31:38 +0200 Subject: [PATCH 12/18] fix: savefig --- .pre-commit-config.yaml | 2 +- examples/Optimization/Plate_Thickness_Optimization.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b2b72bfbe2..36b419f987 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -63,7 +63,7 @@ repos: # this validates our github workflow files - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.33.2 + rev: 0.33.3 hooks: - id: check-github-workflows diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index cc1d70bef1..442e6fb618 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -395,8 +395,10 @@ def get_plate_displacement(directory): plt.xlabel("Time (ms)") plt.ylabel("Displacement (mm)") - plt.legend() plt.title("Plate Displacement vs Time for Different Thicknesses") plt.grid(True) -plt.show() + +# Save figure instead of showing +plt.savefig("plate_displacement.png", dpi=300) +print("Plot saved as plate_displacement.png") From 3a4e27c9695ddae99b501d36237c0a04a4d6215b Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 10:11:30 +0200 Subject: [PATCH 13/18] feat: remove legend box --- examples/Optimization/Plate_Thickness_Optimization.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 442e6fb618..daa10d4f5a 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -395,10 +395,6 @@ def get_plate_displacement(directory): plt.xlabel("Time (ms)") plt.ylabel("Displacement (mm)") -plt.legend() plt.title("Plate Displacement vs Time for Different Thicknesses") plt.grid(True) - -# Save figure instead of showing -plt.savefig("plate_displacement.png", dpi=300) -print("Plot saved as plate_displacement.png") +plt.show() From 664818ca1dca4d7aa9ec90922e2c4e885d3b7a1a Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 13:27:12 +0200 Subject: [PATCH 14/18] fix: update the plot --- .../Optimization/Plate_Thickness_Optimization.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index daa10d4f5a..5fccaaec0e 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -386,6 +386,11 @@ def get_plate_displacement(directory): color = "r" if max(max_disp_data) <= target_displacement else "b" label = f"Thickness {thickness:.4f}" plt.plot(time_data, max_disp_data, color=color, label=label) + plt.xlabel("Time (ms)") + plt.ylabel("Displacement (mm)") + plt.title("Plate Displacement vs Time for Different Thicknesses") + plt.grid(True) + plt.show() ############################################################################### # Generate graphical output @@ -393,8 +398,8 @@ def get_plate_displacement(directory): # -plt.xlabel("Time (ms)") -plt.ylabel("Displacement (mm)") -plt.title("Plate Displacement vs Time for Different Thicknesses") -plt.grid(True) -plt.show() +# plt.xlabel("Time (ms)") +# plt.ylabel("Displacement (mm)") +# plt.title("Plate Displacement vs Time for Different Thicknesses") +# plt.grid(True) +# plt.show() From 5942736583ae5fe80c3a53e43f97de4406fb9faf Mon Sep 17 00:00:00 2001 From: Revathy Venugopal <104772255+Revathyvenugopal162@users.noreply.github.com> Date: Tue, 26 Aug 2025 04:32:54 -0700 Subject: [PATCH 15/18] feat: data --- examples/Optimization/Plate_Thickness_Optimization.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 5fccaaec0e..25e50b939a 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -386,11 +386,11 @@ def get_plate_displacement(directory): color = "r" if max(max_disp_data) <= target_displacement else "b" label = f"Thickness {thickness:.4f}" plt.plot(time_data, max_disp_data, color=color, label=label) - plt.xlabel("Time (ms)") - plt.ylabel("Displacement (mm)") - plt.title("Plate Displacement vs Time for Different Thicknesses") - plt.grid(True) - plt.show() +plt.xlabel("Time (ms)") +plt.ylabel("Displacement (mm)") +plt.title("Plate Displacement vs Time for Different Thicknesses") +plt.grid(True) +plt.show() ############################################################################### # Generate graphical output From 9c201e8b072fdee04d64fa2dceae674a92c72dfa Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 14:50:01 +0200 Subject: [PATCH 16/18] fix: update plot --- .../Plate_Thickness_Optimization.py | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 25e50b939a..04eb2d7d0b 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -397,9 +397,17 @@ def get_plate_displacement(directory): # ~~~~~~~~~~~~~~~~~~~~~~~~~ # - -# plt.xlabel("Time (ms)") -# plt.ylabel("Displacement (mm)") -# plt.title("Plate Displacement vs Time for Different Thicknesses") -# plt.grid(True) -# plt.show() +# Now plot all results +plt.figure(figsize=(8, 5)) +for res in all_results: + thickness = res["thickness"] + time_data = res["time"] + max_disp_data = res["max_disp"] + color = "r" if max(max_disp_data) <= target_displacement else "b" + label = f"Thickness {thickness:.4f}" + plt.plot(time_data, max_disp_data, color=color, label=label) +plt.xlabel("Time (ms)") +plt.ylabel("Displacement (mm)") +plt.title("Plate Displacement vs Time for Different Thicknesses") +plt.grid(True) +plt.show() From f82daae9098fef7777e9a1dec1b66ca60e60041b Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 16:31:56 +0200 Subject: [PATCH 17/18] fix: update plot --- .../Optimization/Plate_Thickness_Optimization.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index 04eb2d7d0b..c55dbfc0c0 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -377,21 +377,6 @@ def get_plate_displacement(directory): except Exception as e: print(f"Iteration {iteration} failed:", e) -# Now plot all results -plt.figure(figsize=(8, 5)) -for res in all_results: - thickness = res["thickness"] - time_data = res["time"] - max_disp_data = res["max_disp"] - color = "r" if max(max_disp_data) <= target_displacement else "b" - label = f"Thickness {thickness:.4f}" - plt.plot(time_data, max_disp_data, color=color, label=label) -plt.xlabel("Time (ms)") -plt.ylabel("Displacement (mm)") -plt.title("Plate Displacement vs Time for Different Thicknesses") -plt.grid(True) -plt.show() - ############################################################################### # Generate graphical output # ~~~~~~~~~~~~~~~~~~~~~~~~~ From a9a2823a69fcea6fa63d7abdf3c544b1c89325b2 Mon Sep 17 00:00:00 2001 From: Revathyvenugopal162 Date: Tue, 26 Aug 2025 16:32:59 +0200 Subject: [PATCH 18/18] fix: cleanup --- examples/Optimization/Plate_Thickness_Optimization.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/examples/Optimization/Plate_Thickness_Optimization.py b/examples/Optimization/Plate_Thickness_Optimization.py index c55dbfc0c0..d9a57132c0 100644 --- a/examples/Optimization/Plate_Thickness_Optimization.py +++ b/examples/Optimization/Plate_Thickness_Optimization.py @@ -279,14 +279,6 @@ def write_input_deck(**kwargs): def run_job(directory): - # if os.name == "nt": - # runner = WindowsRunner( - # ncpu=2, memory=2, precision=Precision.SINGLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB # noqa: E501 - # ) - # elif os.name == "posix": - # runner = LinuxRunner( - # ncpu=2, memory=2, precision=Precision.DOUBLE, mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB # noqa: E501 - # ) run_dyna( "input.k", working_directory=directory, @@ -296,8 +288,6 @@ def run_job(directory): mpi_option=MpiOption.MPP_INTEL_MPI, memory_unit=MemoryUnit.MB, ) - # runner.set_input("input.k", directory) # This line is now redundant - # runner.run() # Run LS-DYNA simulation assert os.path.isfile(os.path.join(directory, "d3plot")), "No result file found"