{"id":"e31cc0ff-a99a-4a4a-b687-598c552770bb","arxiv_id":"2505.13390","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":5,"one_line_summary":"MGPBD replaces XPBD's local iterative solve with an unsmoothed-aggregation algebraic multigrid preconditioned conjugate gradient solve, plus a lazy setup that reuses prolongators, making high-stiffness, high-resolution deformable simulations converge far faster and more stably.","lead":"Rendering soft objects like cloth, muscles, and squishy solids in simulation usually slows down and becomes unstable when the mesh is dense or the material is very stiff. This paper presents a solver that keeps such simulations stable and converging much faster by solving the global constraint system with a multigrid preconditioner instead of the usual local update.","discovery_kind":"new_application","skeptic_critique":{"model":"deepseek-v4-flash","headline":"The lazy-setup premise in Sec. 4.2 is the load-bearing assumption: reusing prolongators for 20+ frames is validated only on one tet bunny, while cloth and muscle scenarios are exactly where gradients and edge directions rotate enough to make it questionable.","rationale":"The reader's weakest assumption and my load-bearing concern coincide: the performance story depends on prolongators remaining accurate over many frames even as the system matrix changes. The paper's own evidence for this is Fig. 5, a single 270K-tet bunny-squash test, while the method is promoted for cloth and muscle as well. The mechanism is concrete: for cloth, off-diagonal entries are cosines of edge-sharing angles, and for ARAP tet constraints, gradient magnitudes scale with deformation; both change under exactly the large-deformation scenarios highlighted in the paper. This is not an internal inconsistency in the derivation, but it is an experimentally under-supported premise on which the 'setup drops to two-thirds to 2%' claim rests. The secondary concern noted by the reader, per-iteration versus time-to-solution comparison, is real but partially addressed by the time-budget experiments in Fig. 17; I treat it as secondary. The paper has independent support: source code is provided, the dual-space formulation follows from a standard Schur complement, and the AMG components are conventional. The lack of formal verification is not disqualifying for a graphics solver paper. The conditional verdict is appropriate: with one additional setup-interval sensitivity study on cloth and muscle, the central claim could be either confirmed or scoped down.","tokens_in":14708,"tokens_out":8868,"duration_ms":97652,"concrete_test":"","verdict_should_be":"UNCHANGED","load_bearing_attack":"Sec. 4.2 argues that A_ij changes little unless gradients or the angles between them change significantly, and Fig. 5 shows setup intervals 1-100 are equivalent for the 270K-tet bunny squash at frame 99. But the central efficiency claim also covers cloth and muscle, where this premise is weaker. For cloth distance constraints, A_ii is constant, but the off-diagonal entry A_ij = m_s^{-1} (unit edge_i)·(unit edge_j) is the cosine of the angle between two edges sharing a vertex; draping and stretching rotate those edges substantially. For ARAP muscle constraints, gradients scale with the deformation gradient, so A entries can change by large factors. The paper reports no setup-interval sensitivity for cloth (Fig. 14) or muscle (Figs. 1 and 11), yet interval 20 is used everywhere. If the prolongators are stale, the Galerkin coarse operators built from them are less effective, MGPCG needs more V-cycles, and the claimed reduction of setup cost to 2% is offset by a slower solve phase. The stated limitation that the global system introduces extra oscillation requiring damping makes the solve phase even more sensitive to a poor preconditioner. The headline efficiency gain is therefore conditional on a premise tested in only one scenario.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper presents MGPBD, a global dual-space XPBD solver that replaces the per-constraint Gauss-Seidel update of XPBD with a PCG solve preconditioned by an unsmoothed aggregation algebraic multigrid (UA-AMG) hierarchy. The global system is the Schur-complement system in Eq. (3). The contributions are (i) a lazy setup strategy that reuses the AMG prolongators for many frames with only occasional rebuilds, based on the claim that the system matrix changes slowly; (ii) a cheap near-kernel construction obtained by a few Gauss-Seidel sweeps on the homogeneous equation, repeated six times; and (iii) a GPU implementation in CUDA/Taichi. Experiments compare convergence and runtime against XPBD, AMGX, AMGCL, and PARDISO on tetrahedral soft bodies, cloth, muscle, beam, ball, and collision scenes, with reported speedups of two to three orders of magnitude over the third-party solvers.","tokens_in":14988,"tokens_out":8343,"duration_ms":78263,"significance":"If the results hold, MGPBD would be a practical remedy for the well-known stalling of XPBD on high-resolution and high-stiffness problems, and it would be the first AMG-based solver applied in the dual space of XPBD. The claim that two MGPBD iterations remove both low- and high-frequency residual spikes that 300 XPBD iterations cannot (Fig. 2) is strong and falsifiable. The paper ships code, uses standard AMG machinery, and includes comparisons against external libraries, which are real strengths. However, the efficiency claims rest on several empirically validated assumptions, most notably the lazy setup premise, and on comparisons whose reporting is incomplete. The near-kernel simplification is an interesting practical contribution, but its robustness and the fairness of the baseline comparisons need to be established before the headline numbers can be taken at face value.","major_comments":[{"comment":"The lazy setup premise is the load-bearing component of the efficiency claim (setup cost drops from roughly two-thirds of runtime to 2%), yet it is validated only on the 270K-tet bunny squash scenario. The cloth (Fig. 14) and muscle (Figs. 1 and 11) experiments use setup interval 20 without any sensitivity test. For cloth distance constraints, the off-diagonal entry A_ij is proportional to the cosine of the angle between two edges sharing a vertex, so draping and stretching can rotate those angles substantially; for ARAP muscle constraints, matrix entries scale with the deformation gradient, which can change by large factors. Since stale prolongators degrade the Galerkin coarse operators and increase V-cycle counts, the paper should report residual-versus-frame or total-frame-time data for setup intervals 1, 20, and 100 on cloth and muscle cases. Without that, the generality of the 2% setup overhead claim is unsupported.","section":"Sec. 4.2, Fig. 5"},{"comment":"The comparison against AMGX, AMGCL, and PARDISO in Fig. 10(b) reports only per-iteration time (Ours: 0.54s; AMGX: 3.85s; AMGCL: 1.63s; PARDISO: 91.98s). Unless the number of iterations to reach the same residual tolerance is reported, these numbers do not support the 'two or three orders of magnitude improvements' claim. A direct solver such as PARDISO performs a factorization whose cost is amortized over one solve, so comparing its single-call time to one MGPBD iteration is not an equal-footing comparison. The authors should provide total wall-clock time (including setup and all iterations) to reach the same relative dual residual for all solvers.","section":"Sec. 5.2, Fig. 10"},{"comment":"The smoother's omega_opt depends on lambda_min(D^{-1}A), approximated by a user-defined estimate (e.g., 0.1), and the paper states that this approximation 'boosts performance by 24%' in the 850K-tet bunny case. The near-kernel construction uses 20 GS sweeps repeated six times from a random initial vector. These are free parameters, and the smoother is the dominant cost of the V-cycle (85% of an iteration). The paper should provide a sensitivity analysis for the lambda_min estimate and for the near-kernel sweep count/random seed, or explicitly state which values were used in each experiment. Without this, the reproducibility and robustness of the convergence results are not fully established.","section":"Sec. 4.5 and Sec. 4.3"}],"minor_comments":[{"comment":"There are several typos and formatting errors: 'Comparision' in Sec. 5.1, 'interleved' in Sec. 4.1, 'aross' in the Fig. 5 caption, and 'comapred' in the Fig. 8 caption.","section":"General"},{"comment":"The formulas for A_ii and A_ij contain garbled symbols (e.g., '˝') and undefined notation for m^{-1}_{s_v}; the mathematical typesetting should be fixed.","section":"Sec. 4.2"},{"comment":"The caption and surrounding text say the red subgraph shows dual residuals before solving and the green subgraphs after solving, but the figure layout is described as 'from left to right' in a way that is hard to follow; please add clear labels directly in the figure.","section":"Fig. 2"},{"comment":"The text says 'Fig. 9 shows the time taken to achieve a 10^{-2} relative dual residual,' but the y-axis is labeled 'Time Per Iteration (ms).' This is misleading: the linear scaling claim (R^2 = 0.9978) applies to per-iteration cost, not end-to-end time, unless the iteration count is shown to be resolution-independent. Please clarify the caption and, if appropriate, also plot total time to the tolerance.","section":"Sec. 5.2, Fig. 9"},{"comment":"The justification that six near-kernel vectors are used 'because the solid motion consists of six rigid body modes' is heuristic in the dual space, where the unknowns are Lagrange multipliers rather than positions. Please either provide a dual-space derivation or soften the claim.","section":"Sec. 4.3"}],"recommendation":"major_revision","confidential_remarks":"The paper is a solid systems contribution with released code and a clear algorithmic contribution. The requested sensitivity experiments for the lazy setup and the end-to-end solver comparisons are necessary before I can support acceptance; the method itself appears technically sound and the concerns are addressable within the manuscript's scope."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"First thing to know: this is the first AMG solver applied to the global dual-space XPBD system. The combination of unsmoothed aggregation, near-kernel from a few GS sweeps, and PCG is new relative to the cited primal-space AMG work (Xian 2019, Ruan 2024). The lazy setup that reuses prolongators across frames is a nice practical trick. That alone is worth a look.\n\nThe paper does a good job of showing why XPBD stalls on dense/stiff meshes and why dual space matters. The experimental section is broad — tet bunnies, cloth, beams, balls, a 1.67M-tet muscle, and collisions with an SDF — and the residual plots consistently show MGPBD avoiding the stalling that XPBD hits. The code is public. For a systems paper in this subfield, that is solid.\n\nSoft spots are there, in proportion. The speedup over AMGX, AMGCL, and PARDISO is reported per iteration (Fig. 10), not as wall-clock time to a target residual. The paper gives time-budget comparisons against XPBD, but not against those libraries, so the claim of \"two to three orders of magnitude improvement\" is softer than it reads. The lazy setup premise — reusing prolongators for 20 or even 100 frames — is validated only on the 270K-tet bunny squash. For cloth, the off-diagonals of A are cosines of angles between edges; draping rotates those significantly. For ARAP muscles, gradients scale with deformation. So the prolongators can go stale exactly in the scenarios the paper highlights. A setup-interval sweep for cloth and muscle would have been the obvious check. The hyperparameters (strength threshold, relaxation factor, GS sweeps) are hand-tuned without sensitivity analysis, which is typical but still worth flagging.\n\nNone of that sinks the central claim. Even if the lazy interval had to be dropped to 5 or 1, the global-system solve would still beat XPBD's stalling. The core derivation is standard, and the evidence is consistent across many scenes. This is a solid within-subfield contribution, not a field-changer, but it deserves serious refereeing. I'd send it to review and ask for a proper time-to-solution comparison against the external solvers plus the missing interval sensitivity.","headline":"A solid dual-space AMG solver for XPBD; the lazy-setup trick is new and useful, though its validation is thinner than the performance claims.","tokens_in":15575,"tokens_out":3378,"would_cite":true,"duration_ms":32364,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"Solving XPBD's dual-space system with an AMG-preconditioned CG solver removes the low-frequency stalling that breaks high-resolution deformable simulation.","keywords":["MGPBD","XPBD","algebraic multigrid","dual-space optimization","deformable object simulation","preconditioned conjugate gradient","position-based dynamics","GPU simulation"],"falsifier":"Run MGPBD with setup interval 20 on a scene with large inter-frame rotations or violent collisions, such as a stiff beam twisted 180 degrees within a few frames or cloth smashing into a sphere, and compare the relative dual-residual curve against a run that rebuilds the AMG hierarchy every frame; if the lazy-setup curve flattens or diverges while the fresh-setup curve converges, the reusability premise fails.","tokens_in":14490,"feed_emoji":"🦴","tokens_out":8233,"duration_ms":76856,"temperature":0.7,"pith_summary":"Extended Position-Based Dynamics (XPBD) is widely used because it is fast and simple, but its per-constraint Gauss-Seidel updates cannot propagate low-frequency errors, so stiff or finely meshed simulations stall or blow up. This paper claims that solving XPBD's global dual-space linear system with an algebraic multigrid (AMG) preconditioned conjugate-gradient solver removes those low-frequency errors, and that two such iterations eliminate residual spikes that 300 XPBD iterations cannot. To keep the multigrid cost practical, the paper introduces an unsmoothed aggregation step for sparser coarse grids, a lazy setup that reuses prolongators for up to 100 frames, and a near-kernel built from a few Gauss-Seidel sweeps on the homogeneous system. It also concedes that the global solve needs an explicit sparse matrix and introduces extra oscillation that requires damping. If the claims hold, production PBD/XPBD pipelines gain a drop-in solver for stiff, high-resolution cloth, muscle, and soft-body scenes that currently stall or crash.","feed_headline":"Two multigrid iterations beat 300 XPBD iterations","feed_subtitle":"An AMG-preconditioned global solver keeps stiff cloth and muscle stable where local XPBD stalls or crashes.","key_machinery":"The load-bearing object is the global dual-space linear system whose unknowns are the Lagrange multipliers of the constraints, assembled each frame as $A = \\nabla C M^{-1}\\nabla C^T + \\tilde{\\alpha}$. The argument runs through three construction choices: unsmoothed aggregation (UA) builds the interpolation operator without the smoothing pass of smoothed aggregation, keeping coarse-grid matrices sparse; the near-kernel components that seed the hierarchy are generated by roughly 20 Gauss-Seidel sweeps on the homogeneous equation $Ax = 0$, repeated six times; and a lazy setup strategy reuses the prolongators for many frames because the matrix structure is fixed when the mesh topology is static and the entry values change slowly. The solving phase wraps one V-cycle inside a preconditioned conjugate-gradient loop, with $\\omega$-Jacobi as the smoother for soft bodies and Chebyshev for cloth.","core_discovery":"The paper's central claim is that the stalling of XPBD comes from its diagonal-only local update, which discards the off-diagonal coupling between constraints, and that solving the full Schur-complement system $A = \\nabla C M^{-1}\\nabla C^T + \\tilde{\\alpha}$ in the dual space with a multigrid-preconditioned conjugate-gradient loop removes both low- and high-frequency residual errors. The proposed MGPBD solver assembles $A$ each iteration, runs a V-cycle of unsmoothed-aggregation AMG as the preconditioner, and updates positions via $\\Delta x = M^{-1}\\nabla C^T \\Delta \\lambda$. Its central evidence is the residual power-spectral-density plot showing that two MGPBD iterations flatten the low- and high-frequency spikes that remain after 300 XPBD iterations, together with convergence curves in which XPBD stalls or crashes at 850K tetrahedra while MGPBD keeps decreasing the relative dual residual.","pith_inferences":["Editorial inference: the lazy-setup result implies the AMG hierarchy could in principle be built once per scene or even once per stiffness regime when the topology is static and motion is mild; the practical limit is the rate of change of constraint gradients, not the frame count itself.","Editorial inference: because the system lives in the dual constraint space, the method inherits XPBD's insensitivity to stiffness-to-weight ratio; the same UA-AMG preconditioning could be tested on other dual-space or primal-dual dynamics solvers to see whether the convergence advantage transfers.","Editorial inference: the near-kernel technique suggests a general cheap bootstrap for aggregation AMG: run any simple relaxation on the homogeneous equation and use the results as near-nullspace vectors; how few sweeps suffice probably depends on the smoother and material, and that trade-off is not characterized in the paper.","The paper's own limitation note, that explicit matrix assembly blocks dynamic topology and the global system adds oscillation that needs damping, points to the clearest next test: whether the convergence gain survives tearing, fracturing, or severe collisions that force frequent hierarchy rebuilds."],"forward_implications":["Under the same time budget, MGPBD keeps decreasing the relative dual residual in high-stiffness, high-resolution scenarios where XPBD stalls; at 850K tetrahedra XPBD diverges while MGPBD stays stable.","High stiffness and large time steps become usable together: MGPBD keeps a beam with stiffness $10^{12}$ stiff at time steps of 10, 20, and 30 ms, whereas XPBD shows resolution-dependent softness.","The AMG hierarchy amortizes: lazy setup cuts the setup share of runtime from about two-thirds to about 2%, so per-frame cost is dominated by the V-cycle solve rather than hierarchy construction.","Time per iteration scales roughly linearly with resolution ($R^2 = 0.9978$), unlike direct solvers, which makes million-element models feasible, including a 1.667M-tet human muscle at 40.6 seconds per frame with 20 iterations per frame.","MGPBD can be blended into existing XPBD pipelines: it takes the same inputs and outputs as XPBD and can mix with off-the-shelf implementations for the parts that still need classic XPBD sweeps."],"supporting_citations":[{"why":"Defines the XPBD method and its diagonal-only Gauss-Seidel update that MGPBD replaces.","marker":"[Macklin et al. 2016]"},{"why":"Establishes that dual-space formulations stay well-conditioned under high stiffness-to-weight ratios, motivating the dual-space solve.","marker":"[Macklin et al. 2020]"},{"why":"Supplies the aggregation algorithm and smoothed-aggregation multigrid approach that the UA setup adapts.","marker":"[Tamstorf et al. 2015]"},{"why":"Provides the primal-space multigrid baseline that MGPBD compares against in the stiff bar-twist test.","marker":"[Xian et al. 2019]"},{"why":"A recent mixed multigrid method for near-incompressible elastica, used as a primal-space comparison baseline.","marker":"[Ruan et al. 2024]"},{"why":"Shows the cubic cost of direct solvers on the same constrained system, motivating the iterative and multigrid route.","marker":"[Goldenthal et al. 2007]"},{"why":"Justifies the MGPCG design choice by arguing that multigrid-preconditioned CG is more robust and efficient than standalone AMG.","marker":"[Stüben 2001]"},{"why":"The original smoothed aggregation method whose prolongator smoothing step UA deliberately omits for sparsity.","marker":"[Vanek et al. 1996]"},{"why":"Open-source AMGCL library used as a CPU comparison baseline.","marker":"[Demidov 2020]"}],"fun_headline_variants":["AMG-preconditioned XPBD: 2 iterations beat 300","Global XPBD solver with AMG: no more stalling","Multigrid CG replaces Gauss-Seidel: XPBD stabilised","MGPBD: 2 V-cycles vs 300 XPBD iterations","AMG-PCG for XPBD: solve global system, not local"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The load-bearing premise is the paper's Section 4.2 claim that prolongators stay accurate across many frames because the dual-system entries change little unless constraint gradients or the angles between them change substantially.","fun_headline_variants_meta":{"raw":{"variants":["AMG-preconditioned XPBD: 2 iterations beat 300","Global XPBD solver with AMG: no more stalling","Multigrid CG replaces Gauss-Seidel: XPBD stabilised","MGPBD: 2 V-cycles vs 300 XPBD iterations","AMG-PCG for XPBD: solve global system, not local"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000284,"raw_usage":{"total_tokens":1680,"prompt_tokens":955,"completion_tokens":725,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":571,"completion_tokens_details":{"reasoning_tokens":631}},"tokens_in":571,"tokens_out":725,"duration_ms":7353,"temperature":1.0,"reasoning_tokens":631,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-15T20:14:22.882881+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Run MGPBD with setup interval 20 on a scene with large inter-frame rotations or violent collisions, such as a stiff beam twisted 180 degrees within a few frames or cloth smashing into a sphere, and compare the relative dual-residual curve against a run that rebuilds the AMG hierarchy every frame; if the lazy-setup curve flattens or diverges while the fresh-setup curve converges, the reusability premise fails.","supporting_citations":[],"review_version":1}