mjamiv/pile-designer

Pile Designer

โ˜… 0Forks 0TypeScriptGitHub โ†—Compare

README

Pile Designer

Open-source geotechnical engineering application for analyzing laterally loaded piles, modeled after the industry-standard L-Pile program.

๐Ÿš€ Live Demo: (https://mjamiv.github.io/pile-designer/)

Features

  • Non-linear pile analysis using P-Y curve methods
  • Finite difference solver with Newton-Raphson iteration
  • Client-side computation via Pyodide (Python in browser)
  • Interactive visualization of results
  • Open source and free to use

Technology Stack

  • Frontend: React + TypeScript + Vite
  • Computation: Pyodide (Python + NumPy/SciPy in WebAssembly)
  • Visualization: Plotly.js (planned)
  • Deployment: GitHub Pages

Development

Prerequisites

  • Node.js 18+
  • npm

Setup

# Clone the repository
git clone https://github.com/mjamiv/piledesigner.git
cd piledesigner

# Install dependencies
npm install

# Start dev server
npm run dev

The application will be available at http://localhost:3000

Build

npm run build

The built files will be in the dist/ directory.

Project Structure

pile-designer/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/      # React components
โ”‚   โ”œโ”€โ”€ engine/          # Pyodide loader & Python solver
โ”‚   โ”œโ”€โ”€ types/           # TypeScript type definitions
โ”‚   โ”œโ”€โ”€ App.tsx          # Main application
โ”‚   โ””โ”€โ”€ main.tsx         # Entry point
โ”œโ”€โ”€ public/              # Static assets
โ””โ”€โ”€ index.html           # HTML template

Computational Methodology

Governing Equation

Laterally loaded piles are analyzed using the beam-column equation:

EI ยท dโดy/dxโด + P ยท dยฒy/dxยฒ + p(y) = 0

Where:

  • y(x) = lateral deflection at depth x
  • EI = flexural rigidity
  • P = axial load
  • p(y) = soil reaction (from P-Y curves)

Solution Method

  • Finite Difference Method: Discretize pile into nodes
  • Newton-Raphson Iteration: Solve non-linear system
  • P-Y Curves: Matlock (soft clay), Reese (stiff clay), API (sand)

Roadmap

  • Project setup and basic UI
  • Pyodide integration
  • Basic finite difference solver
  • Full P-Y curve implementations
  • Interactive Plotly charts
  • Soil profile builder
  • Multiple load cases
  • PDF report generation
  • GROUP analysis (pile groups)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

References

  • Matlock, H. (1970). Correlations for Design of Laterally Loaded Piles in Soft Clay
  • Reese et al. (1975). Field Testing and Analysis of Laterally Loaded Piles in Stiff Clay
  • API RP2A (2014). Recommended Practice for Planning, Designing and Constructing Fixed Offshore Platforms

Acknowledgments

This project is inspired by L-Pile (Ensoft Inc.) and aims to provide an open-source alternative for educational and professional use.

Contributors

mjamiv

Issues