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(