From 466a301d34116172b7aea280bee5ed714f29490e Mon Sep 17 00:00:00 2001 From: Ying-Li Niu <64801511@qq.com> Date: Fri, 12 Jun 2026 07:28:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20alpha=20numpy=20=E6=95=B0=E7=BB=84?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E9=97=AE=E9=A2=98=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E9=80=97=E5=8F=B7=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit trajectory.txt 中的 alpha 以 numpy 数组形式加载, str() 后变成 "[0. 0. 0. 0. 0. 0.]"(无逗号), draw.py parse 不成功回退为默认 0.2。 新增 _fmt_alpha() 统一格式化为逗号分隔字符串。 --- dynamics.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dynamics.py b/dynamics.py index c3740d2..68f5a36 100644 --- a/dynamics.py +++ b/dynamics.py @@ -25,6 +25,13 @@ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) import compute +def _fmt_alpha(v): + """将 alpha 值格式化为逗号分隔字符串,兼容 numpy 数组/list/标量。""" + if isinstance(v, (list, tuple, np.ndarray)): + return ",".join(str(float(x)) for x in v) + return str(float(v)) + + def read_optional_index(data, key, default_value): """Read an optional integer index from structured txt metadata.""" if key not in data: @@ -246,7 +253,7 @@ def run_case(config_path, runtime_base, input_dir="input", output_dir="output", "gravity_strength": str(data.get("gravity_strength", 1.0)), "driving_force": str(data.get("driving_force", 0)), "use_marker": str(config.get("use_marker", 0)), - "alpha": str(data.get("alpha", 0.2))} + "alpha": _fmt_alpha(data.get("alpha", 0.2))} n_frames = len(indices) compute.save_display_txt(