ACCURATELY SOLVING ROD DYNAMICS WITH GRAPH LEARNING

Abstract

Iterative solvers are widely used to accurately simulate physical systems. These solvers require initial guesses to generate a sequence of improving approximate solutions. In this contribution, we introduce a novel method to accelerate iterative solvers for rod dynamics with graph networks (GNs) by predicting the initial guesses to reduce the number of iterations. Unlike existing methods that aim to learn physical systems in an end-to-end manner, our approach guarantees longterm stability and therefore leads to more accurate solutions. Furthermore, our method improves the run time performance of traditional iterative solvers for rod dynamics. To explore our method we make use of position-based dynamics (PBD) as a common solver for physical systems and evaluate it by simulating the dynamics of elastic rods. Our approach is able to generalize across different initial conditions, discretizations, and realistic material properties. We demonstrate that it also performs well when taking discontinuous effects into account such as collisions between individual rods. Finally, to illustrate the scalability of our approach, we simulate complex 3D tree models composed of over a thousand individual branch segments swaying in wind fields.

1. INTRODUCTION

The numeric simulation of a dynamic system commonly comprises the derivation of the mathematical model given by the underlying differential equations and their integration forward in time. In the context of physics-based systems, the mathematical model is usually based on first principles and depending on the properties of the simulated system, the numerical integration of a complex system can be very resource demanding (Nealen et al., 2006) , e.g., hindering interactive applications. Enabled by the success of deep neural networks to serve as effective function approximators, researchers recently started investigating the applicability of neural networks for simulating dynamic systems. While many physical phenomena can well be described within fixed spatial domains (e.g., in fluid dynamics) that can be learned with convolutional neural network (CNN) architectures (Chu & Thuerey, 2017; Guo et al., 2016; Tompson et al., 2016; Xiao et al., 2020) , a large range of physical systems can more naturally be represented as graphs. Examples include systems based on connected particles (Müller et al., 2007) , coupled oscillators (Michels & Desbrun, 2015; Michels et al., 2014) , or finite elements (Nealen et al., 2006) . Existing methods enable learning these systems often in an end-to-end manner and with a focus on replacing the entire or a part of the integration procedure. A number of methods show initial success in approximating physical systems; however, they often fail to reliably simulate the state of a system over longer time horizons if significant disadvantages are not accepted, such as the use of large datasets containing long-term simulations and the employment of specific memory structures (Sanchez-Gonzalez et al., 2020) . In this paper, we aim to improve the performance of iterative solvers for physical systems with graph networks (GN). An iterative solver requires an initial guess, and based on it generates a sequence of improving approximate solutions. The initial guess can be computed by simply using values obtained in the previous iteration or by solving a few steps of a similar but simpler physical system. The performance of an iterative solver is significantly influenced by the calculation of the initial guess, which we aim to replace with the prediction of a GN. To demonstrate our approach, we use a position-based dynamics (PBD) solver that approximates physical phenomena by using sets of connected vertices (Bender et al., 2017; 2014b; Macklin et al., 2016; Müller et al., 2007) . To simulate a physical system, PBD first computes updated locations of vertices using symplectic Euler integration to then correct the initial position estimates so as to satisfy a set of predefined constraints. The correction step is known as constraint projection and is commonly solved iteratively. The explicit forward integration for predicting the system's updated state has negligible cost, whereas the projection step is computationally expensive. Our goal is to employ a GN to predict the outcome of the constraint projection step as an initial guess. This way, our approach inherits the long-term stability of a classic PBD solver, while providing better run-time performance. To showcase the capabilities of our combined PBD solver, we aim to simulate the physically plausible mechanics of elastic rods. Rods play an important role for a variety of application domains, ranging from surgical simulation of sutures (Feess et al., 2016), catheters, and tendons (Pai, 2002) , to human hair (Michels et al., 2015) and vegetation (Pirk et al., 2017) in animated movies. Furthermore, approaches exist to realistically simulate rods as sets of connected vertices accurately capturing their mechanical properties (Bergou et al., 2008; Kugelstadt & Schoemer, 2016; Michels et al., 2015; Pai, 2002) . Our approach is able to generalize across different initial conditions, rod discretizations, and realistic material parameters such as Young's modulus and torsional modulus (Deul et al., 2018) . Moreover, we demonstrate that our approach can handle discontinuous collisions between individual rods. Figure 1 shows examples of elastic rod deformations of a helix falling down (left) and two colliding rods (right). Finally, we show that the data-driven prediction of the initial guesses of the constraint projection leads to a decreased number of required iterations, which -in turn -results in a significant increase of performance compared to canonical initial guesses. In summary, our contributions are: (1) we show how to accelerate iterative solvers with GNs; (2) we show that our network-enabled solver ensures long-term stability required for simulating physical systems; (3) we showcase the effectiveness of our method by realistically simulating elastic rods; (4) we demonstrate accuracy and generalizability of our approach by simulating different scenarios and various mechanical properties of rods including collisions and complex topologies (dynamic tree simulations).

2. RELATED WORK

In the following we provide an overview of the related work, which spans from data-driven physics simulations and graph learning to position-based dynamics and elastic rods. Data-driven Physics Simulations. It has been recognized that neural networks can be used as effective function approximators for physical and dynamic systems. To this end, early approaches focus on emulating the dynamics of physics through learned controllers (Grzeszczuk et al., 1998) or by designing subspace integrators (Barbič & James, 2005) . Today, a range of approaches exist that enable learning ordinary and partial differential equations (Lagaris et al., 1998; Raissi et al., 2019; Raissi & Karniadakis, 2018) , for example, to transform them into optimization problems (Dissanayake & Phan-Thien, 1994) , to accelerate their computation (Mishra, 2018; Sirignano & Spiliopoulos, 2018) , or to solve for advection and diffusion in complex geometries (Berg & Nyström, 2018) . Other methods focus on specific data-driven solutions for non-linear elasticity (Ibañez et al., 2017) , for approximating Maxwell's equation in photonic simulations (Trivedi et al., 2019) , or for animating cloth (Wang et al., 2011) , partially focusing on interactive applications (Holden et al., 2019) . More recently, research on data-driven approaches for modeling the intricacies of fluid dynamics has gained momentum (Ladický et al., 2015; Ummenhofer et al., 2020) . Due to fixed-size spatial representation of Eulerian fluid solvers, a number of approaches rely on CNN-type architectures (Chu & Thuerey, 2017; Guo et al., 2016; Tompson et al., 2016; Xiao et al., 2020) . Furthermore, it has been shown that data-driven approaches can even be used to approximate the temporal evolution of fluid flows (Wiewel et al., 2018) , to compute liquid splashing (Um et al., 2017) , artistic styletransfer (Kim et al., 2020) , or to derive fluid dynamics from reduced sets of parameters (Kim et al., 2019) . Graph-based Learning. Graphs have proven to be a powerful representation for learning a wide range of tasks (Battaglia et al., 2018; Scarselli et al., 2009) . In particular, it has been shown that graphs enable learning knowledge representations (Kipf et al., 2018) , message passing (Gilmer et al., 2017) , or to encode long-range dependencies, e.g., as found in video processing (Wang et al., 2017) . A variety of methods uses graph-based representations to learn properties of dynamic physical systems, e.g. for climate prediction (Seo & Liu, 2019) , with an emphasis on individual objects (Chang et al., 2016) and their relations (Sanchez-Gonzalez et al., 2018) , for partially observable systems (Li et al., 2018) , the prevalent interactions within physical systems (Kipf et al., 2018) , hierarchically-organized particle systems (Mrowca et al., 2018) , or -more generally -physical simulation (Sanchez-Gonzalez et al., 2019; 2020) . While many of the existing approaches learn the time integration of physical systems in an end-to-end manner, we use a graph network to predict the outcome of a PBD solver for rod dynamics to enable more efficient computations.

Discretized Rod

Forward Integration Constraint Projection Figure 2 : Illustration of the discretization of a single rod using several rod segments arranged along its centerline (left). Each rod segment is described by its position and orientation within the generalized coordinates p i . The Lagrange multipliers λ i represent the interaction between rod segments. The forward integration path is illustrated in red (middle) and constraint projection in green (right). Position-based Dynamics and Elastic Rods. PBD is a robust and efficient approach for simulating position changes of connected sets of vertices (Bender et al., 2017; 2014b; Macklin et al., 2016; Müller et al., 2007) . Compared to forced-based methods that compute the force directly, the interaction between different vertices in PBD is realized by a constraint projection step in an iterative manner. To avoid the dependency of the system's stiffness on the number of iterations and the time step size, an extended position-based dynamics approach was introduced (XPBD) (Macklin et al., 2016) . A number of methods exist that model the dynamic properties of rods that can even simulate more complicated rod mechanics (Pai, 2002) . Moreover, particle systems were employed to simulate the dynamics of rods (Michels et al., 2017) and, in particular, for the physically accurate simulation of thin fibers (Michels et al., 2015) such as present in human hair or textiles. On a different trajectory, it has been recognized that rods can be simulated based on PBD (Umetani et al., 2014) . The initial formulation was improved (Kugelstadt & Schoemer, 2016) by including the orientation of rod segments in the system's state to account for torsion effects. Later, the XPBD framework was utilized (Deul et al., 2018) to address the non-physical influence of iteration numbers and steps sizes, which enables the more accurate simulation of elastic rods.

3. METHODOLOGY

We propose a novel approach to simulate the temporal evolution of a dynamic system which consists of elastic rods. Each rod is discretized using several rod segments arranged along its centerline (Figure 2 ). For each rod segment, its state is described by its position, orientation, velocity and angular velocity. The state of the system is given as the set of the individual states of all rod segments. The simulation is carried out by employing PBD (Müller et al., 2007) directly manipulating the system's state. Orientations are represented as quaternions allowing for a convenient implementation of bending and twisting effects (Kugelstadt & Schoemer, 2016) . Extended PBD (XPBD) (Macklin et al., 2016) is implemented to avoid that the rods' stiffnesses depends on the time step size and the number of iterations (Deul et al., 2018) . The generalized coordinates of a rod segment i at time t is given by p i,t ∈ R 3 × H, which includes its position x i,t ∈ R 3 given in Cartesian coordinates and its orientation described by a quaternion q i,t ∈ H. Correspondingly, υ i,t ∈ R 6 refers to the generalized velocity of the rod segment, which includes velocity and angular velocity. The system is continuously updated during the simulation by applying corrections ∆p i = (∆x i , ∆φ i ) T ∈ R 6 with position shifts ∆x i ∈ R 3 and orientation shifts ∆φ i ∈ R 3 representing the integration of the angular velocity.foot_0 A single time integration step is presented in Algorithm 1. In the beginning (lines 1 to 4), generalized velocity and generalized coordinates are updated by employing a symplectic Euler integration step. In this regard, a ext denotes the generalized acceleration due to the external net force, e.g., given by gravity. XPBD (Macklin et al., 2016) employs the Lagrange multiplier λ which is initialized as zero (line 5) along with the integrated generalized coordinates p * . Collision detection results are stored in Coll r-r and Coll r-p (line 6), where Coll r-r includes all the pairs of two rod segments that potentially collide with each other and Coll r-p includes information of all rod segments that potentially collide with another object such as a plane. Within several solver iterations, we alternate between rod constraint projection and the collision constrain projection (lines 7 to 15). The rod constraints include shear-stretch and bend-twist constraints representing the corresponding elastic energy. The Lagrange multiplier represents the interaction between rod segments. Figure 2 illustrated the discretization for a single rod into several interacting segments. The correction values ∆p and ∆λ in line 9 are computed by constraint projection (Deul et al., 2018; Kugelstadt & Schoemer, 2016) . The generalized coordinates and Lagrange multipliers are updated for each rod (lines 8 to 12), and rodrod and rod-plane collisions are addressed to update the generalized coordinates. For details about the collision projection procedure, we refer to Macklin et al. (2014) . For the non-collision case, the steps within line 6 and 13 are not needed. Algorithm 1 Numerical integration procedure updating p i,t → p i,t+∆t and υ i,t → υ i,t+∆t . 1: for all rod segments do 2: υ * i ← υi,t + ∆t aext 3: p * i ← pi,t + ∆t H(qi,t) υ * i with H(qi,t) := [13×3, 03×3 ; 04×3, G(qi,t)] 4: end for 5: λ 0 ← 0, p 0 ← p * 6: (Collr-r, Collr-p) ← generateCollisionConstraints(p, p * ) 7: for j ← 0 to number of required solver iterations do 8: for all rods do 9: (∆p, ∆λ) ← rodConstraintProjection(p j , λ j ) 10: λ j+1 ← λ j + ∆λ 11: p j+1 ← p j + ∆p 12: end for 13: p j+1 ← updateCollisionConstraintProjection(p j+1 , Collr-r, Collr-p) 14: j ← j + 1 15: end for 16: for all rod segments do 17: pi,t+∆t ← p j The most expensive part of Algorithm 1 involves the computation of the corrections of generalized coordinates and Lagrange multipliers (line 9). This projection step requires the solution of a linear system which is a linearization of a non-linear one so that the matrix depends on the system's state making it impossible to precompute its inverse. Instead, a new system at every point in time is solved iteratively using the conjugated gradient (CG) solver. Such iterative solvers are widely used in the context of physical simulations and regularly described as the de facto standard (Barrett et al., 1994; Saad, 2003) since they often show superior performance and usually scale well allowing for exploiting parallel hardware. However, we would like to point out that also highly efficient direct solvers can be found in the literature (Deul et al., 2018) . Instead of fully replacing the projection step in an end-to-end learning manner, we follow the strategy of accelerating it by first computing a guess (∆p 0 , ∆λ 0 ) ← correctionGuess(p j ) , for the iterative procedure (line 9) (∆p, ∆λ) ← rodConstraintProjection(p j , λ j , ∆p 0 , ∆λ 0 ) . (2) A neural network is employed to compute the initial guess in Eq. ( 1) for the constraint projection. The motivation for this approach is to reduce the number of iterations required for the convergence of the CG solver which solves the linear system in Eq. ( 2) compared to the canonical initialization with zeros. We obtain our final framework by replacing line 9 in Algorithm 1 with Eq. ( 1) and Eq. ( 2) as illustrated in Figure 3 , which is inherently as accurate as the traditional PBD method. We name the data-driven part COPINGNet ("COnstraint Projection INitial Guess Network") which learns to compute the correction guess.

3.1. GRAPH ENCODING

COPINGNet is a graph network based architecture which we apply in order to compute initial guesses for ∆p and ∆λ. In this regard, we need to incorporate the rods' state into a graph description (Battaglia et al., 2018) . A graph G = (V, E, U ) usually consists of nodes (or vertices) V , edges E as well as global features U . However, in our framework, global features U are not used. For example, gravity could be a potentially meaningful global feature, but it also can be easily included as an external acceleration. Hence, U = ∅ and the graph can just be represented as G = G(V, E). In our case, the rods' segments within the scene are represented by the graph's nodes while the interactions between the rods' segments are represented by the edges. COPINGNet provides a graph-to-graph mapping: G in → G out , from an input graph G in ∈ G in to an output graph G out ∈ G out . Nodes and edges of both graphs are equipped with specific features. In the case of the input graph, the node features describe the state of the rods' segments, i.e. v in,i = (x i , q i , r i , ρ i , i , α i , f 0i , f 1i , f 2i ) T ∈ V in ⊆ R 14 , in which the positions are denoted with x i ∈ R 3 , the orientations with q i ∈ H, the radii with r i ∈ R >0 , the densities with ρ i ∈ R >0 , and the segment lengths with i ∈ R >0 . Moreover, a segment position indicator α i ∈ [0, 1] ⊂ R is included corresponding to a parameterization by arc length.foot_2 Binary segment flag f 0i ∈ {0, 1}, "left" end flag f 1i ∈ {0, 1} and "right" end flag f 2i ∈ {0, 1} are set to zero if the specific segment respectively the left or right segment of the rod is fixed and to one otherwise. The nodes of G in are given as the set of V in = ∪ n i=1 {v in,i }, in which n = |V in | denotes the number of segments in the scene. The nodes of G out contain the correction values of the generalized coordinates, i.e. v out,i = ∆p i ∈ V out ⊆ R 6 and V out = ∪ n i=1 {v out,i }. While rod segments are represented as node features, we represent constraints between rod segments as edge features: e in,i = (ω i , Y i , T i ) T ∈ E in ⊆ R 5 , in which the (rest) Darboux vector ω ∈ R 3 describes the static angle of two rod segments, and Young's modulus Y ∈ R >0 and torsion modulus T ∈ R >0 are corresponding to extension, bending, and twist constraint parameters. The set of edges of the input graph is then given by E in = ∪ m i=1 {e in,i }, in which m = |E in | denotes the number of interactions between different segments. The correction of the Lagrange multiplier ∆λ i ∈ R 6 is stored in the output edges: e out,i = ∆λ i ∈ E out ⊆ R 6 . The set of output edges is then given by E out = ∪ m i=1 {e out,i }. The connectivity information C of each graph is stored in two vectors c sd and c rv containing the sender node index and the receiver node index of each corresponding edge. This concludes the specification of the input graph G in = G(V in , E in ) and the output graph G out = G(V out , E out ) with connectivity information C = (c sd , c rv ).

3.2. NETWORK STRUCTURE

In the following, we describe the structure of COPINGNet after we formalized its input and output in the previous section. As illustrated in Figure 3 , the network consists of an encoder network, multiple stacks of GN-blocks, and a decoder network. The graph network from Battaglia et al. (2018) is used as a basic element and denoted as a GN-block. Residual connection between blocks could improve performance of neural networks in both CNN (He et al., 2015) , and graph neural network [Li et al. (2019) ]. As in related work (Sanchez-Gonzalez et al., 2020) , we employ the residual connection between the GN-blocks, but our encoder/decoder network directly deals with the graph. The encoder network performs a mapping: G in → G latent and is implemented using two multi-layer perceptrons (MLPs), MLP edge : E in → E latent ⊆ R l and MLP node : V in → V latent ⊆ R l , in which l denotes the latent size. They work separately and thus E en = MLP edge (E in ) and V en = MLP node (V in ). Edge features E in from the input are constant for a rod during the simulation and this results in constant encoded edge features E en , which could be recorded after the first run and used afterwards during inference. The edge feature e in,i contains the material parameters which could vary by different orders of magnitude. Hence, we normalize Young's modulus and torsion modulus before feeding them into the network. After encoding, the graph G en (V en , E en ) ∈ G latent is passed to several GN-blocks with residual connections. Each GN-block also contains two MLPs. However, they use message passing taking advantage of neighbourhood nodes/edges information (Battaglia et al. , Table 1 : Specification of training and validation datasets for the two scenarios of an initially straight bending rod (top) and an elastic helix (bottom). The datasets are comprised of a number of data points (left) each describing the rod's dynamics within t ∈ [0 s, 50∆t] discretized with a time step size of ∆t = 0.02 s. The number of nodes N is sampled from a discrete uniform distribution U d while the remaining parameters are sampled from a continuous uniform distribution U. We trained our network for 5 hours for the bending rod scenario and 6 hours for the helix case. 

2018).

A number of M GN-blocks enable the use of neighbourhood information with distances smaller or equal to M . The graph network performs a mapping within the latent space: G latent → G latent , and after M GN-blocks, we obtain G en (V en , E en ) ∈ G latent . The decoder network performs a mapping: G latent → G out , which has a similar structure as the encoder network. Two MLPs MLP edge : E latent → E out and MLP node : V latent → V out compute E out = MLP edge (E en ) and V out = MLP node (V en ). A tanh-function at the end of MLP edge and MLP node is used restricting the output to the interval [-1, 1] ⊂ R. COPINGNet learns the relative correction values. The generated dataset is normalized, and the maximum correction value of the generalized coordinates and the Lagrange multipliers will be recorded as norms. The final correction value is achieved by multiplying the relative correction values and the norms. This normalization process damps the noise caused by the network and leads to a more stable performance. For simplicity, all the MLPs in different blocks have the same number of layers, and the same width as latent size l within the latent layers. The input and output sizes of each MLP are consistent with the corresponding node/edge feature dimensions. The loss L is computed from both parts, nodes and edges, L := MSE(V out , Ṽout ) + MSE(E out , Ẽout ) , in which (V out , E out ) is the output graph's ground truth in contrast to COPINGNet's prediction ( Ṽout , Ẽout ). The mean squared error between χ and χ is denoted with MSE(χ, χ). For evaluation purposes, we also incorporated the k-nearest neighbor (k-NN) algorithm as described in the supplementary material setting k = 3.

4. EVALUATION

We generate training and validation datasets based on two scenarios: an initially straight bending rod and an elastic helix each fixed at one end oscillating under the influence of gravity. The specification of these datasets is provided in Table 1 . The PBD code is written in C++, while the COPINGNet is implemented in PyTorch. The training is performed on an NVIDIA R Tesla R V100 GPU. The training time varies from 8 to 30 hours for different architecture parameters. A constant learning rate of η = 0.001 was used and a mean square loss function was employed. Our approach generalizes across different initial conditions, geometries, discretizations, and material parameters. In the supplementary material we show that it is possible to robustly generate various dynamical results (Figure 9 ). For a discussion on the network architecture please see Figure 11 (supplementary material). Figure 5 : Realistic biomechanical simulation of a 3D tree model composed of over 1k nodes swaying in a wind field. Our GN approach performs correctly even under a large number of rod segments while increasing performance of the original PBD method. We are comparing our COPINGNet-assisted PBD approach (orange) to a simplified version in which the k-NN (green) is used to predict the initial guess. Moreover (left), we added a performance measurement in which we restricted the solution to be in a two-dimensional plane (black). The results are averages over 20 simulations and smoothed with a window of 10 frames. The dashed vertical lines mark the number of 50 frames contained in the training data set. For the helix simulation we observe a speed up of approximately 50% even beyond the training data (50 time frames). For the bending rod simulation we observe a speedup that further decreases with increasing time frame number. Discretization. Our approach addresses the acceleration of the most expensive part within PBD by providing an accurate initial guess of the constraint projection. We measure the system's complexity by the number of nodes in a rod. Figure 4 shows the ratio of COPINGNet's inference run time (black and red curves) compared to the run time of the vanilla CG solver (purple curves) for different numbers of nodes. The increasing black and red curves indicate that the speedup of COPINGNet is more significant with greater number of nodes. With only a few nodes the CG solver performs better due to the inference overhead. Once the number of nodes is increasing, a significant speedup can be obtained of up to 50% for the constraint projection. Surprisingly, our approach also performs well when going far beyond the sampling range (orange to green dashed lines). Since the constraint projection is the most time-consuming part of the entire simulation, the speedup converges to that of the whole simulation (pink curves) with increasing number of nodes as shown in Figure 4 . Temporal Evolution. In addition to the complexity analysis, we also analyze the required number of CG iterations for the vanilla constraint projection compared to the one accelerated using COP-INGNet over time as shown in Figure 6 . We obtain a significant total speedup compared to the CG solver (dashed blue line). As stated in Table 1 , our training data contains dynamical simulations of 50 time steps. In this range we observe the highest speedup. As was the case for the complexity analysis, we again obtain a significant speedup for simulations beyond 50 time steps. This performance gain is more present for the helix (green curve) compared to the rod simulation (orange curve). Long-term Stability. In case the constraint projection is completely replaced by COPINGNet (endto-end approach), stability of the PBD method decreases as error accumulation takes place. This is illustrated in Figure 7 showing the temporal evolution of the relative change of the total rod length. An initially straight rod bending under the influence of gravity is simulated using the parameters φ 0 = 0 • , N = 30, = 4.0 m, and varying Young's modulus Y . In this scenario the rod length is expected to stay constant during the mechanical simulation. In case COPINGNet is used in an endto-end manner (colored lines), where the whole constraint projection step is replaced, we observe that the rod length changes incorrectly. In fact, the divergence of using COPINGNet to replace the constraint projection step increases exponentially beyond the range of the training data (50 steps). To the contrary, when COPINGNet is used to only estimate the initial guess of the constraint projection (black lines), no rod deformation takes place even beyond the training data range. Collisions. Figure 1 illustrates a collision of an elastic helix with the ground plane and a collision between two rods. Collision detection is efficiently implemented using the hierarchical spatial hashing scheme according to Eitz & Gu (2007) . Rod-rod collisions are then treated with line-to-line distance constraints, and collisions with the ground plane using half-space constraints. Moreover, frictional effects are implemented according to Macklin et al. (2014) . This approach allows us to handle discontinuous events such as collisions between individual rods and other objects. Moreover, for this experiment we use the neural networks trained on the rod and helix simulations. Employing COPINGNet trained on the helix data to simulate the collision of the ground plane (HR = HH = 0.5 m, HW = 2.5, G = 1.0 • 10 6 Pa, N = 50), we measure a total speedup of approx. 10%. In the case of two colliding rods (φ 0 = 0 • , N ∈ {20, 30}, ∈ {4.0 m, 4.5 m}, Y = 1.0 • 10 6 Pa), we obtain a speedup of approx. 6%. Complex Scenarios. Our method is also capable to deal with complex scenarios such as 3D tree models swaying in wind fields as shown in Figure 5 . We represent trees using the extended Cosserat rod theory introduced in Pirk et al. (2017) . This method allows us to simulate realistic biomechanics of thousands of rod segments at interactive rates. We generated 100 different tree topologies using 70 individual rods (average node number: 1056) and simulate the swaying motions of these tree models with vanilla PBD to generate the training dataset. For the evaluation, 30 different tree topologies have been generated for each of the following four experiments using 10 rods (204 nodes), 20 rods (355 nodes), 40 rods (654 nodes), and 70 rods (1061 nodes). We were able to significantly improve the runtime performance of the method by 17.0% (10 rods), 15.8% (20 rods), 13.0% (40 rods), and 11.1% (70 rods). This takes into account the inference time introduced by the neural network. Generalization. Figure 7 and Figure 10 (supplementary material) indicate that using COPINGNet in an end-to-end manner does not generalize beyond the training data. Specifically, the end-to-end setup diverges in terms of rod geometry and segment position from the correct solution. This effect increases significantly beyond the training data range. Although, we only use COPINGNet as a benchmark for this evaluation, other GNs are expected to perform similarly. Common workarounds to increase the stability of dynamical systems with neural networks are temporal skip-connections, recurrent training, and data augmentation. However, these approaches focus on runtime speed and memory performance rather than stability (Holden et al., 2019) . Interestingly, replacing just the initial guess with a GN does not deform the rod or introduces discontinuities at any observed stage of the bending simulation. This means that employing GNs can result in a performance increase without a loss of stability. Furthermore, a GN that only provides initial guesses seems to also generalize to other scenarios. We observed performance improvements for the collision and complex tree case, although the network was never trained on these different rod discretizations and topologies. This indicates that our method is capable to generalize within a specific physical scenario and to a lesser extent to other scenarios.

5. CONCLUSION

We discovered that applying GNs for replacing the initial guess has fundamental advantages over end-to-end approaches. First, our network-enabled solver ensures long-term stability inherited from traditional solvers for physical systems, while improving runtime performance. Second, our approach is able to generalize across different initial conditions, rod discretizations, and material parameters, and it handles discontinuous effects such as collisions. While end-to-end approaches offer more significant speedups, our method is superior in cases where stability is an essential requirement. Our approach to accelerate iterative solvers with GNs opens multiple avenues for future work. For one, it would be interesting to explore mechanical systems describing general deformable (e.g. textiles) or volumetric objects, which have been simulated with PBD. Second, our approach can be applied to other iterative methods, such as in finite elements analysis or in the context of linear complementarity problems (LCP). This would allow us to accelerate physical simulations, when iterative solvers are applied, without compromising stability. Moreover, to further demonstrate general applicability, Figure 9 shows an additional simulation of a tightening knot for which COPINGNet-based PBD shows a total speedup of 10.4% compared to vanilla PBD. COPINGNet is trained using a dataset containing 20 simulations of the same knot scenario with different discretizations over 100 frames. It can clearly be observed that COPINGNet generalizes beyond the training data. 

COMPARISONS

Figure 10 illustrates the temporal evolution of a bending rod and elastic helix scenarios using different approaches. For the bending rod case, the parameters φ 0 = 0 • , N = 30, = 4.0 m, and Y = 1.0 • 10 5 Pa are used. In the helix case, HR = 0.5 m (helix radius), HH = 0.5 m (helix height), HW = 2.5 (winding number), T = 1.0 • 10 5 Pa, and N = 60 were applied. The temporal evolution of the positions' normalized root mean square error (NRMSE) is shown in Figure 11 . Figure 10 : Illustration of the temporal evolution of bending rod (upper row) and elastic helix (lower row) scenarios simulated using our COPINGNet-assisted PBD approach (blue curves), vanilla PBD (orange dotted curves), k-NN-based end-to-end learning (purple curves) and GN-based end-to-end learning (green curves). While the COPINGNet-assisted approach and the vanilla PBD solver allow us to simulate both cases in a stable manner, both end-to-end learning approaches diverge with increasing time due to error accumulation. to vanilla PBD using our COPINGNet-assisted PBD approach (blue curves), k-NN-based end-toend learning (purple curves), and GN-based end-to-end learning (green curves) for the bending rod (left) and the elastic helix (right) scenarios. While the COPINGNet-assisted PBD approach converges to an almost correct solution, both end-to-end learning approaches show large error rates with increasing time frame number.

ARCHITECTURE

The evaluation of COPINGNet's architecture, introduced in Section 3.2, is presented in Figure 12 . The performance is studied for different numbers of GN-blocks and MLP layers, and different MLP widths (latent sizes). The measurements demonstrate that a larger number of GN-blocks usually increases the performance while the performance improvement is not longer significant for more than four GN-blocks. This is plausible and can be considered analogously to the size of the stencil of a numerical integrator: a larger number of GN-blocks means that a specific node can take advantage of information gained from neighbourhoods further away. Correspondingly, a larger stencil can do so as well. However, increasing the size of the stencil usually does not result in more accurate results once the critical size is reached. This can be observed here as well. In contrast, it can be clearly observed that deeper MLP networks do not improve the performance. This is consistent with other research on graph networks (Sanchez-Gonzalez et al., 2020) . However, increasing the MLP width can increase the network's ability to generalize. It is shown that the highest performance is achieved with the largest MLP width, especially in the case of the helix scenarios. Since increasing the number of GN-blocks and MLP width will lead to longer inference time, we compromise by choosing medium numbers. For further evaluations, we employ three GN-blocks, two MLP layers, and a MLP width of 32. 

k-NEAREST NEIGHBOR ALGORITHM

For evaluation purposes, we also incorporated the k-nearest neighbor (k-NN) algorithm into our framework to compute an initial guess for the constraint projection step. Consider a k-NN data point (x i , y i ). Its components contain node and edge feature information: x i = (v in,i , e in,i k , . . . ) T , y i = (v out,i , e out,i k , . . . ) T , k ∈ Simulation to form a dataset {(x i , y i )}. During inference, the nearest k data points of x * i are picked and linear interpolations are performed to obtain the predicted y * i . For each input node feature v * in,i , we obtain the corresponding output node feature ṽout,i = v * out,i . The output edge feature is averaged from the information of the corresponding component y * j : ẽout,i = 1 M j e * out,j k , in which M denotes the number of nodes. The k-NN algorithm is applied as an end-to-end method completely replacing constraint projection or to predict an initial guess.



Please note, that ∆qi = G(q)∆φi ∈ R 4 , in which the matrix G(q) ∈ R 4×3 describes the relationship between quaternion velocity and angular velocity(Bender et al., 2014a). For a single rod in the scene which consists of N segments of equal lengths, for the i-th segment, we obtain αi = (i -1)/(N -1) for i ∈ {1, 2, . . . , n}.



Figure 1: Renderings taken from real-time simulations of the elastic deformation of a helix falling down on the ground plane (left) and two rods colliding with each other (right).

Figure 3: Illustration of our approach incorporating a network which consists of M graph networks (GN-blocks) into the position-based dynamics framework.

45, 105) 10 a Pa, a ∼ U(4.0, 6.0) U(0.4 m, 0.6 m) / U(0.4 m, 0.6 m) U(2.0, 3.0)

Figure4: Illustration of the ratio of COPINGNet's inference time t infer and the vanilla CG solver's run time t CG (purple curves; right vertical axis) for the initially straight bending rod (left) and the elastic helix (right) simulations. The black curves show the CG iteration number ratio while the red curves show the total speedup of the constraint projection when taking into account COPINGNet's inference time (left vertical axis). The pink curves show the total speedup of the entire simulations. The orange and green dashed line indicate the lower and upper boundaries of the total number of nodes used in the training data. We can observe a speedup even for rods and helices with greater node number than the ones used in the the training dataset. The result is averaged from 50 simulations each running 100 steps.

Figure 6: The dashed horizontal lines show the benchmark CG solver's constant performance for an initially straight bending rod simulation (left) and an elastic helix simulation (right). The parameters φ 0 = 0 • , N = 30, = 3.0 m, Y = 1.0 • 10 5 Pa (left), and HR = 0.5 m, HH = 0.5 m, HW = 2.5, G = 1.0 • 10 5 Pa, N = 60 (right) are applied.We are comparing our COPINGNet-assisted PBD approach (orange) to a simplified version in which the k-NN (green) is used to predict the initial guess. Moreover (left), we added a performance measurement in which we restricted the solution to be in a two-dimensional plane (black). The results are averages over 20 simulations and smoothed with a window of 10 frames. The dashed vertical lines mark the number of 50 frames contained in the training data set. For the helix simulation we observe a speed up of approximately 50% even beyond the training data (50 time frames). For the bending rod simulation we observe a speedup that further decreases with increasing time frame number.

Figure 7: Illustration of the relative change of the total rod length (l/l 0 ) for different values of Young's moduli (Y ). Colored lines show different results for COPINGNet replacing the constraint projection. The thick black line represent the result for COPINGNet replacing only the initial guess. This indicates that the end-to-end approach does not generalize past the 50 time steps used in preparing the training data.

Figure 8: Illustration of the temporal evolution of scenarios (a) to (d) for the initially straight bending rod, and (e) to (f) for the elastic helix. The different cases represent various material property configurations.

Figure 9: Illustration of the temporal evolution of a knot scenario. The rod is fixed at both ends and the knot is pulled tight. The predicted results by end-to-end COPINGNet-based learning are shown in red while the results computed with COPINGNet-assisted PBD are shown in black. The visualization of the last frame contains a close-up to demonstrate that the knot structure is still preserved. The rod parameters are N = 110, R = 0.01 m, = 11.0 m, and Y = T = 1.0 • 10 4 Pa.

Figure11: Illustration of the positions' normalized root mean square error (NRMSE) compared to vanilla PBD using our COPINGNet-assisted PBD approach (blue curves), k-NN-based end-toend learning (purple curves), and GN-based end-to-end learning (green curves) for the bending rod (left) and the elastic helix (right) scenarios. While the COPINGNet-assisted PBD approach converges to an almost correct solution, both end-to-end learning approaches show large error rates with increasing time frame number.

Figure 12: Illustration of the evaluation of COPINGNet's architecture (blue: benchmark architecture). The result is averaged from 50 test simulations each running for 100 time steps.

funding

Frame 000 Frame 006 Frame 013 Frame 020 Frame 027 Frame 034 Frame 041 Frame 048 Frame 055 Frame 062 Frame 068 Frame 075 Frame 082 Frame 089 Frame 096 Frame 103 Frame 110 Frame 117 Frame 124 Frame 131 Frame 137 Frame 144 Frame 151 Frame 158 Frame 165 Frame 172 Frame 179 Frame 186 Frame 193 Frame 200

