7 research outputs found

    An open-source Julia code for geotechnical MPM

    Get PDF
    There is considerable interest in the Material Point Method (MPM) in the computational geotechnics community since it can model problems involving large deformations, e.g. landslides, collapses etc. without being too far from the standard finite element method, which can struggle with large deformation problems. The open-source code AMPLE developed at Durham University in recent years is a compact set of MATLAB functions that “address the severe learning curve for researchers wishing to understand, and start using, the MPM”. It is well known that MATLAB can be very slow hence limiting its utility for major studies of large problems, so here we introduce an MPM code with the same aims as AMPLE but written in the relatively new language Julia, specifically for fast runtimes. We highlight areas where MATLAB code constructs are inefficient if just transferred to Julia and show that to unlock large speed gains with Julia, one needs to code in a different way and we demonstrate this on a geotechnical problem. While this paper is concerned with the MPM, the advice regarding coding using Julia is transferable to other computational geotechnics methods and tools

    An open-source Julia code for geotechnical MPM

    Get PDF
    There is considerable interest in the Material Point Method (MPM) in the computational geotechnics community since it can model problems involving large deformations, e.g. landslides, collapses etc. without being too far from the standard finite element method, which can struggle with large deformation problems. The open-source code AMPLE developed at Durham University in recent years is a compact set of MATLAB functions that “address the severe learning curve for researchers wishing to understand, and start using, the MPM”. It is well known that MATLAB can be very slow hence limiting its utility for major studies of large problems, so here we introduce an MPM code with the same aims as AMPLE but written in the relatively new language Julia, specifically for fast runtimes. We highlight areas where MATLAB code constructs are inefficient if just transferred to Julia and show that to unlock large speed gains with Julia, one needs to code in a different way and we demonstrate this on a geotechnical problem. While this paper is concerned with the MPM, the advice regarding coding using Julia is transferable to other computational geotechnics methods and tools

    SOniCS: Develop intuition on biomechanical systems through interactive error controlled simulations

    Get PDF
    This new approach allows the user to experiment with model choices easily and quickly without requiring in-depth expertise, as constitutive models can be modified by one line of code only. This ease in building new models makes SOniCS ideal to develop surrogate, reduced order mod- els and to train machine learning algorithms for uncertainty quantification or to enable patient-specific simulations. SOniCS is thus not only a tool that facilitates the development of surgical training simulations but also, and perhaps more importantly, paves the way to increase the intuition of users or otherwise non-intuitive behaviors of (bio)mechanical systems. The plugin uses new developments of the FEniCSx project enabling au- tomatic generation with FFCx of finite element tensors such as the local residual vector and Jacobian matrix. We validate our approach with nu- merical simulations such as manufactured solutions, cantilever beams, and benchmarks provided by FEBio. We reach machine precision accuracy and demonstrate the use of the plugin for a real-time haptic simulation involv- ing a surgical tool controlled by the user in contact with a hyperelastic liver. We include complete examples showing the use of our plugin for sim- ulations involving Saint Venant-Kirchhoff, Neo-Hookean, Mooney-Rivlin, and Holzapfel Ogden anisotropic models as supplementary material.Submitted preprin

    Data-driven patient-specific breast modeling: a simple, automatized, and robust computational pipeline

    Get PDF
    Background: Breast-conserving surgery is the most acceptable option for breast cancer removal from an invasive and psychological point of view. During the surgical procedure, the imaging acquisition using Magnetic Image Resonance is performed in the prone configuration, while the surgery is achieved in the supine stance. Thus, a considerable movement of the breast between the two poses drives the tumor to move, complicating the surgeon's task. Therefore, to keep track of the lesion, the surgeon employs ultrasound imaging to mark the tumor with a metallic harpoon or radioactive tags. This procedure, in addition to an invasive characteristic, is a supplemental source of uncertainty. Consequently, developing a numerical method to predict the tumor movement between the imaging and intra-operative configuration is of significant interest. Methods: In this work, a simulation pipeline allowing the prediction of patient-specific breast tumor movement was put forward, including personalized preoperative surgical drawings. Through image segmentation, a subject-specific finite element biomechanical model is obtained. By first computing an undeformed state of the breast (equivalent to a nullified gravity), the estimated intra-operative configuration is then evaluated using our developed registration methods. Finally, the model is calibrated using a surface acquisition in the intra-operative stance to minimize the prediction error. Findings: The capabilities of our breast biomechanical model to reproduce real breast deformations were evaluated. To this extent, the estimated geometry of the supine breast configuration was computed using a corotational elastic material model formulation. The subject-specific mechanical properties of the breast and skin were assessed, to get the best estimates of the prone configuration. The final results are a Mean Absolute Error of 4.00 mm for the mechanical parameters E_breast = 0.32 kPa and E_skin = 22.72 kPa. The optimized mechanical parameters are congruent with the recent state-of-the-art. The simulation (including finding the undeformed and prone configuration) takes less than 20 s. The Covariance Matrix Adaptation Evolution Strategy optimizer converges on average between 15 to 100 iterations depending on the initial parameters for a total time comprised between 5 to 30 min. To our knowledge, our model offers one of the best compromises between accuracy and speed. The model could be effortlessly enriched through our recent work to facilitate the use of complex material models by only describing the strain density energy function of the material. In a second study, we developed a second breast model aiming at mapping a generic model embedding breast-conserving surgical drawing to any patient. We demonstrated the clinical applications of such a model in a real-case scenario, offering a relevant education tool for an inexperienced surgeon

    Programming the material point method in Julia

    No full text
    This article presents the implementation of the material point method (MPM) using Julia. Julia is an open source, multi-platform, high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to Matlab and Python programmers. MPM is a hybrid particle-grid approach that combines the advantages of Eulerian and Lagrangian methods and is suitable for complex solid mechanics problems involving contact, impact and large deformations. We will show that a Julia based MPM code, which is short, compact and readable and uses only Julia built in features, performs much better (with speed up of up to 8) than a similar Matlab based MPM code for large strain solid mechanics simulations. We share our experiences of implementing MPM in Julia and demonstrate that Julia is a very interesting platform for rapid development in the field of scientific computing
    corecore