Technical Approach¶
Why the Material Point Method?¶
Solid mechanics-based numerical analysis in the offshore renewable energy industry, and engineering in general, is dominated by the Finite Element Method (FEM). However, the FEM struggles to analyze problems involving very large deformation due to issues associated with:
- Mesh distortion
- Remeshing requirements
- Remapping of state variables (such as parameters for the history-dependent nature of soil)
Alternative Methods and Their Limitations¶
Several alternative numerical methods exist, each with distinct advantages and limitations:
Coupled Eulerian-Lagrangian Method (CELM)¶
The CELM avoids many of the FEM's difficulties and is the primary numerical method that has been used to model large deformation problems to date, mainly due to its availability in commercial software (Abaqus). However:
- Requires fine meshes (high computational cost and time)
- Struggles with boundary conditions and tracking of free surfaces
- Has not achieved widespread use in the ORE industry
Particle Finite Element Method (PFEM)¶
The PFEM relies on continuous and extensive remeshing, but:
- Is computationally expensive
- Unproven for 3D ORE problems
- Not available commercially
Discrete Element Method (DEM)¶
The DEM has been adopted by industry for some soil-structure interaction problems due to the availability of commercial and open source software (PFC, Yade, LAMMPS, etc.). However:
- Issues exist in calibrating suitable particle interaction models to represent bulk material behaviour
- Analyses are very expensive compared to continuum-based approaches
MPM Advantages¶
The Material Point Method (MPM) overcomes the FEM/CELM/PFEM/DEM issues and has been demonstrated by researchers at Durham University to be viable for ORE industry-relevant, large deformation soil-structure interaction problems.
We believe that the MPM is the ideal approach to tackle the large deformation soil-structure interaction problems faced by the ORE community.
Building on Previous Work¶
Through existing EPSRC support, Durham University has developed the AMPLE codeāan implicit implementation of the MPM designed to help people understand and use the method for problems ranging from small demonstrations to large-scale simulations.
Key Features of Durham's MPM Implementation¶
Implicit Formulation: As with all of Durham's MPM research, the governing equations controlling the physical response are solved implicitly. This is in contrast to most other open source codes, which are restricted to explicit analysis. These explicit implementations have performance limitations when solving coupled (soil-water) interaction problems due to the CFL condition severely constraining the maximum time step size.
Julia Language: The code has been implemented in the high-performance Julia programming language (julialang.org). Julia was selected as it provides a good balance between performance and readability, which allows accessible code to be written that is:
- Easy to understand
- Easy to use and extend
- Deployable (reproducible coding environments)
- Efficient across different operating systems and high-performance computing (HPC) hardware
Soil-Structure Interaction: The existing implementation already includes soil-structure interaction for coupled problems, providing the core base for this proposal.
The Transformation Challenge¶
The key progression offered by this project is making this academic, command-line accessed software accessible to engineers working in the ORE sector without a low-level coding requirement.
The approach to transforming this academic software into an open source software environment will be informed by successful examples, such as:
- Cuclix
- Firedrake
- FreeFEM
- OpenFOAM
- OpenSees
- OpenSCAD
Work Packages¶
The project has four Work Packages (WPs) designed to deliver a maintainable, useable, and industry-ready software tool.
WP1: Maintainable and Sustainable Base Code Environment¶
This WP focuses on setting up an appropriate platform for long-term software sustainability. The developed software will be open access under a GPL License, allowing other users to develop new software features and capabilities beyond this project's scope.
Key Activities:
- Automated building of the code (including support for diverse physical hardware and operating software environments)
- Version control via GitHub
- Automated documentation (on GitHub pages) via structured commented code
- Bug tracking and fixing
- Automatic testing (including automated monitoring and alerting of issues using native Julia tools)
- Addition of new features
The code will be developed within the framework of Continuous Integration/Continuous Deployment (CI/CD), which will automatically build, test, and deploy base code changes when pushed to the GitHub repository.
Deliverables:
- Maintainable base code
- Article in Advances in Engineering Software
WP2: Software Scoping Through User Engagement¶
End users' needs are core to the developed software. This WP focuses on scoping requirements through focused online workshops with participants from supporting offshore geotechnical stakeholders.
Focus Areas:
- Front-end interaction with the core code engine
- Scripting and batching of problem realizations
- Results visualization and output formats
- Exemplar problems that should be included as demonstration cases
- Required material models for soil behaviour
- Requirements categorization based on user type (geotechnical engineering consultant versus in-house software engineer)
Workshops will be summarized into briefing notes distilling key recommendations and proposed solutions/workflows, circulated for comment, prioritization, and approval prior to development. A feedback loop will be defined, allowing stakeholders to report on software interactions beyond the scoping workshops.
Deliverables:
- Software briefing/scoping notes
- Prioritization of tasks/features
WP3: Software Interaction¶
This WP is split into three components:
Front-End Development¶
- Define workflow for running an analysis
- Facilitate the use of general material models for soil behaviour
- Provide 2D and 3D example test cases for problems such as:
- Cone Penetration Tests (CPTs)
- Spudcan penetration and extraction
- Foundation installation
- Cable ploughing
- Anchor penetration
Python will be adopted as the industry-standard language for analysis scripting as a high-level software front end. The STL file format will be used to define rigid bodies interacting with deformable soil. Additional material constitutive models will be included via the widely used Abaqus UMAT file format.
Code Deployment¶
Focused on making deployment as straightforward as possible across various operating systems and computational hardware, including local and cloud-based implementations.
Outputs and Visualization¶
- Define workflow for visualizing analysis results
- Set output file formats
- Define methods allowing users to specify specific output information (such as force components on specific parts of a rigid body)
Output visualization will be facilitated by existing open source post-processing software, specifically ParaView and VisIt.
Deliverables:
- Clear workflow for setting up, running, and visualizing analyses
- Test cases
- UMAT interface
- Installation guides
- Deployment packages
WP4: Training and Learning Resources¶
This WP provides learning resources and training to facilitate use of the developed software. Resources will be provided for users to understand both the fundamental methods/techniques and how to use the software to conduct engineering analysis.
Learning Resources:
- Core software documentation
- Test cases
- Video tutorials on model setup, running, and post-processing
- Recorded lectures on fundamentals of the MPM
- Videos explaining the core software
Towards the end of the project, two 2-day training workshops (one in-person, one online) will be provided free to members of the ORE geotechnical community.
Deliverables:
- Comprehensive learning resources
- Training workshops
Research Environment¶
The Department of Engineering at Durham University is the ideal place from which to deliver this project. Computational Mechanics is one of the Department's strategic areas of research excellence (one of eight Research Nodes). It includes nine members of academic staff with broad, complementary experience of numerical methods applied to solving engineering problems.
The project is also supported by Durham University's Advanced Research Computing (ARC) team, which provides:
- Professional-level development practices and software engineering expertise
- Continuous Integration and Deployment (CI/CD) experience
- Test-driven development expertise
- Understanding and experience of large-scale open source software projects
- Software project management proficiency
Risk Management¶
Technical Risk Mitigation¶
All fundamental research objectives have already been achieved via previous EPSRC-funded projects. Technical risks are mitigated by:
- The experience of Durham's ARC team supporting the project
- Proven track record with the MPM approach
- Existing validated and benchmarked implementation
Software Adoption Risk Mitigation¶
Software adoption risk is mitigated by stakeholder involvement from project inception to final delivery, ensuring the developed tool meets real industry needs.
Recruitment Risk Mitigation¶
Recruitment of suitable staff is mitigated by the named researcher on the proposal who developed the current MPM Julia code and is therefore ideally placed to deliver the proposed project.