1,059 research outputs found

    REBOUND: An open-source multi-purpose N-body code for collisional dynamics

    Full text link
    REBOUND is a new multi-purpose N-body code which is freely available under an open-source license. It was designed for collisional dynamics such as planetary rings but can also solve the classical N-body problem. It is highly modular and can be customized easily to work on a wide variety of different problems in astrophysics and beyond. REBOUND comes with three symplectic integrators: leap-frog, the symplectic epicycle integrator (SEI) and a Wisdom-Holman mapping (WH). It supports open, periodic and shearing-sheet boundary conditions. REBOUND can use a Barnes-Hut tree to calculate both self-gravity and collisions. These modules are fully parallelized with MPI as well as OpenMP. The former makes use of a static domain decomposition and a distributed essential tree. Two new collision detection modules based on a plane-sweep algorithm are also implemented. The performance of the plane-sweep algorithm is superior to a tree code for simulations in which one dimension is much longer than the other two and in simulations which are quasi-two dimensional with less than one million particles. In this work, we discuss the different algorithms implemented in REBOUND, the philosophy behind the code's structure as well as implementation specific details of the different modules. We present results of accuracy and scaling tests which show that the code can run efficiently on both desktop machines and large computing clusters.Comment: 10 pages, 9 figures, accepted by A&A, source code available at https://github.com/hannorein/reboun

    A scalable parallel finite element framework for growing geometries. Application to metal additive manufacturing

    Get PDF
    This work introduces an innovative parallel, fully-distributed finite element framework for growing geometries and its application to metal additive manufacturing. It is well-known that virtual part design and qualification in additive manufacturing requires highly-accurate multiscale and multiphysics analyses. Only high performance computing tools are able to handle such complexity in time frames compatible with time-to-market. However, efficiency, without loss of accuracy, has rarely held the centre stage in the numerical community. Here, in contrast, the framework is designed to adequately exploit the resources of high-end distributed-memory machines. It is grounded on three building blocks: (1) Hierarchical adaptive mesh refinement with octree-based meshes; (2) a parallel strategy to model the growth of the geometry; (3) state-of-the-art parallel iterative linear solvers. Computational experiments consider the heat transfer analysis at the part scale of the printing process by powder-bed technologies. After verification against a 3D benchmark, a strong-scaling analysis assesses performance and identifies major sources of parallel overhead. A third numerical example examines the efficiency and robustness of (2) in a curved 3D shape. Unprecedented parallelism and scalability were achieved in this work. Hence, this framework contributes to take on higher complexity and/or accuracy, not only of part-scale simulations of metal or polymer additive manufacturing, but also in welding, sedimentation, atherosclerosis, or any other physical problem where the physical domain of interest grows in time

    Geometric transformations in octrees using shears

    Get PDF
    Existent algorithms to perform geometric transformations on octrees can be classified in two families: inverse transformation and address computation ones. Those in the inverse transformation family essentially resample the target octree from the source one, and are able to cope with all the affine transformations. Those in the address computation family only deal with translations, but are commonly accepted as faster than the former ones for they do no intersection tests, but directly calculate the transformed address of each black node in the source tree. This work introduces a new translation algorithm that shows to perform better than previous one when very small displacements are involved. This property is particularly useful in applications such as simulation, robotics or computer animation.Postprint (published version

    An Octree-based proxy for collision detection in large-scale particle systems

    Get PDF
    International audienceParticle systems are important building block for simulating vivid and detail-rich effects in virtual world. One of the most difficult aspects of particle systems has been detecting collisions between particlesand mesh surface. Due to the huge computation, a variety of proxy-based approaches have been proposed recently to perform visually correct simulation. However, all either limit the complexity of the scene, fail toguarantee non-penetration, or are too slow for real-time use with many particles. In this paper, we propose anew octree-based proxy for colliding particles with meshes on the GPU. Our approach works by subdividingthe scene mesh with an octree in which each leaf node associates with a representative normal correspondingto the normals of the triangles that intersect the node. We present a view-visible method, which is suitable forboth closed and non-closed models, to label the empty leaf nodes adjacent to nonempty ones with appropriateback/front property, allowing particles to collide with both sides of the scene mesh. We show how collisionscan be performed robustly on this proxy structure in place of the original mesh, and describe an extension thatallows for fast traversal of the octree structure on the GPU. The experiments show that the proposed methodis fast enough for real-time performance with millions of particles interacting with complex scenes

    QuickCSG: Fast Arbitrary Boolean Combinations of N Solids

    Get PDF
    QuickCSG computes the result for general N-polyhedron boolean expressions without an intermediate tree of solids. We propose a vertex-centric view of the problem, which simplifies the identification of final geometric contributions, and facilitates its spatial decomposition. The problem is then cast in a single KD-tree exploration, geared toward the result by early pruning of any region of space not contributing to the final surface. We assume strong regularity properties on the input meshes and that they are in general position. This simplifying assumption, in combination with our vertex-centric approach, improves the speed of the approach. Complemented with a task-stealing parallelization, the algorithm achieves breakthrough performance, one to two orders of magnitude speedups with respect to state-of-the-art CPU algorithms, on boolean operations over two to dozens of polyhedra. The algorithm also outperforms GPU implementations with approximate discretizations, while producing an output without redundant facets. Despite the restrictive assumptions on the input, we show the usefulness of QuickCSG for applications with large CSG problems and strong temporal constraints, e.g. modeling for 3D printers, reconstruction from visual hulls and collision detection

    Identifying and remeshing contact interfaces in a polyhedral assembly for digital mock-up applications

    Get PDF
    Polyhedral models are widely used for applications such as manufacturing, digital simulation or visualization. They are discrete models; easy to store, to manipulate, allowing levels of resolution for visualization. They can be easily exchanged between CAD systems without loss of data. Previous works (Comput Aided Des 29(4):287–298, 1997, Comput Graphics 22(5):565–585, 1998) have focused on simplification process applied to polyhedral part models. The goal of the proposed approach is to extend these processes to polyhedral assembly models, describing the digital mock-up of a future manufacturing product. To apply simplification techniques or other processes on polyhedral assemblies, contact surfaces between interacting objects have to be identified and specific constraints must be applied for processing. The approach proposed allows checking and maintaining a global consistency of the assembly model to ensure the reliability of the future processes. Thus, contacts between objects are detected using an approach that works for a static configuration of the assembly. Finally, a precise detection of the faces involved in each contact area is made and the resulting input domains identified are processed using a local Frontal Delaunay re-meshing technique to produce an identical tessellation on both objects involved in the processed contact. The quality of the triangulation produced is also checked

    A real-time virtual sculpting application with a haptic device

    Get PDF
    In this paper, a 3D virtual sculpting application is developed for 3D virtual models with removing or adding materials by using Boolean operations. Virtual sculpting simulation reads 3D virtual models in a variety of file formats such as raw and stl consisting of a triangle poligon mesh and voxelizes its outer surface and interiror volüme to generate its volumetric dataset. We used octree and hashing techniques to reduce the memory requirement needed for volumetric dataset. The surface is locally reconstructed using Marching Cubes algorithm known as the most popular isosurface extraction algorithm after removing or adding material to the 3D virtual model. The user interacts with the model by using a haptic device to give the force-feedback like real-life sculpting.Publisher's Versio
    corecore