213 research outputs found
Parallelized Incomplete Poisson Preconditioner in Cloth Simulation
Efficient cloth simulation is an important problem for interactive applications that involve virtual humans, such as computer games. A common aspect of many methods that have been developed to simulate cloth is a linear system of equations, which is commonly solved using conjugate gradient or multi-grid approaches. In this paper, we introduce to the computer gaming community a recently proposed preconditioner, the incomplete Poisson preconditioner, for conjugate gradient solvers. We show that the parallelized incomplete Poisson preconditioner (PIPP) performs as well as the current state-of-the-art preconditioners, while being much more amenable to standard thread-level parallelism. We demonstrate our results on an 8-core Apple* Mac* Pro and a 32-core code name Emerald Ridge system
Parallel cloth simulation using OpenMp and CUDA
The widespread availability of parallel computing architectures has lead to research regarding algorithms and techniques that best exploit available parallelism. In addition to the CPU parallelism available; the GPU has emerged as a parallel computational device. The goal of this study was to explore the combined use of CPU and GPU parallelism by developing a hybrid parallel CPU/GPU cloth simulation application. In order to evaluate the benefits of the hybrid approach, the application was first developed in sequential CPU form, followed by a parallel CPU form. The application uses Backward Euler implicit time integration to solve the differential equations of motion associated with the physical system. The Conjugate Gradient (CG) algorithm is used to determine the solution vector for the system of equations formed by the Backward Euler approach. The matrix/vector, vector/vector, and vector/scalar operations required by CG are handled by calls to BLAS level 1 and level 2 functions. In the sequential CPU and parallel CPU versions, the Intel Math Kernel Library implementation of BLAS is used. In the hybrid parallel CPU/GPU version, the Nvidia CUDA based BLAS implementation (CUBLAS) is used. In the parallel CPU and hybrid implementations, OpenMP directives are used to parallelize the force application loop that traverses the list of forces acting on the system. Runtimes were collected for each version of the application while simulating cloth meshes with particle resolutions of 20x20, 40x40, and 60x60. The performance of each version was compared at each mesh resolution. The level of performance degradation experienced when transitioning to the larger mesh sizes was also determined. The hybrid parallel CPU/GPU implementation yielded the highest frame rate for the 40x40 and 60x60 meshes. The parallel CPU implementation yielded the highest frame rate for the 20x20 mesh. The performance of the hybrid parallel CPU/GPU implementation degraded the least as it transitioned to the two larger mesh sizes. The results of this study will potentially lead to further research regarding the use of GPUs to perform the matrix/vector operations associated with the CG algorithm under more complex cloth simulation scenarios
Recommended from our members
Coupling, Conservation, and Performance in Numerical Simulations
This thesis considers three aspects of the numerical simulations, which arecoupling, conservation, and performance. We conduct a project and addressone challenge from each of these aspects.We propose a novel penalty force to enforce contacts with accurate Coulombfriction. The force is compatible with fully-implicit time integration and theuse of optimization-based integration. In addition to processing collisionsbetween deformable objects, the force can be used to couple rigid bodies todeformable objects or the material point method. The force naturally leads tostable stacking without drift over time, even when solvers are not run toconvergence. The force leads to an asymmetrical system, and we provide apractical solution for handling these.Next we present a new technique for transferring momentum and velocity betweenparticles and MAC grids based on the Affine-Particle-In-Cell (APIC) frameworkpreviously developed for co-locatedgrids. We extend the original APIC paper and show thatthe proposed transfers preserve linear and angular momentum and also satisfyall of the original APIC properties.Early indications in the original APIC paper suggested that APIC might besuitable for simulating high Reynolds fluids due to favorable retention ofvortices, but these properties were not studied further. We use twodimensional Fourier analysis to investigate dissipation in the limit \dt=0.We investigate dissipation and vortex retention numerically to quantify theeffectiveness of APIC compared with other transfer algorithms.Finally we present an efficient solver for problems typically seen inmicrofluidic applications.Microfluidic ``lab on a chip'' devices are small devices that operate on smalllength scales on small volumes of fluid. Designs for microfluidic chips aregenerally composed of standardized and often repeated components connected bylong, thin, straight fluid channels. We propose a novel discretizationalgorithm for simulating the Stokes equations on geometry with these features,which produces sparse linear systems with many repeated matrix blocks. Thediscretization is formally third order accurate for velocity and second orderaccurate for pressure in the norm. We also propose a novel linearsystem solver based on cyclic reduction, reordered sparse Gaussian elimination,and operation caching that is designed to efficiently solve systems withrepeated matrix blocks
Discrete Differential Geometry of Thin Materials for Computational Mechanics
Instead of applying numerical methods directly to governing equations, another approach to computation is to discretize the geometric structure specific to the problem first, and then compute with the discrete geometry. This structure-respecting discrete-differential-geometric (DDG) approach often leads to new algorithms that more accurately track the physically behavior of the system with less computational effort. Thin objects, such as pieces of cloth, paper, sheet metal, freeform masonry, and steel-glass structures are particularly rich in geometric structure and so are well-suited for DDG. I show how understanding the geometry of time integration and contact leads to new algorithms, with strong correctness guarantees, for simulating thin elastic objects in contact; how the performance of these algorithms can be dramatically improved without harming the geometric structure, and thus the guarantees, of the original formulation; how the geometry of static equilibrium can be used to efficiently solve design problems related to masonry or glass buildings; and how discrete developable surfaces can be used to model thin sheets undergoing isometric deformation
Position Based Balloon Angioplasty
Balloon angioplasty is an endovascular procedure to widen narrowed or obstructed blood vessels, typically to treat arterial atherosclerosis. Simulating angioplasty procedure in the complex vascular structures is a challenge task since the balloon and vessels are both flexible bodies. In this paper, we proposed a position based balloon physical model to solve nonlinear physical deformation in the process of balloon inflation. Firstly, the balloon is discrete modeled by the closed triangle mesh, and the hyperelastic membrane material and continuum based formulation are combined to compute the mechanical properties in the process of balloon inflation. Then, an adaptive air mesh generation algorithm is proposed as a preprocessing procedure for accelerating the coming collision process between balloon and blood vessel according to the characteristic of collision area which is relative fixed. The experiment results show that this physical model is feasible, which could simulate the contact and deformation process between the inflation balloon and the diseased blood vessel wall with good robustness and in realtime
Example-based wrinkle synthesis for clothing animation
This paper describes a method for animating the appearance of clothing, such as pants or a shirt, that fits closely to a figure's body. Compared to flowing cloth, such as loose dresses or capes, these types of garments involve nearly continuous collision contact and small wrinkles, that can be troublesome for traditional cloth simulation methods. Based on the observation that the wrinkles in closefitting clothing behave in a predominantly kinematic fashion, we have developed an example-based wrinkle synthesis technique. Our method drives wrinkle generation from the pose of the figure's kinematic skeleton. This approach allows high quality clothing wrinkles to be combined with a coarse cloth simulation that computes the global and dynamic aspects of the clothing motion. While the combined results do not exactly match a high-resolution reference simulation, they do capture many of the characteristic fine-scale features and wrinkles. Further, the combined system runs at interactive rates, making it suitable for applications where high-resolution offline simulations would not be a viable option. The wrinkle synthesis method uses a precomputed database built by simulating the high-resolution clothing as the articulated figure is moved over a range of poses. In principle, the space of poses is exponential in the total number of degrees of freedom; however clothing wrinkles are primarily affected by the nearest joints, allowing each joint to be processed independently. During synthesis, mesh interpolation is used to consider the influence of multiple joints, and combined with a coarse simulation to produce the final results at interactive rates
- …