Coder Social home page Coder Social logo

regolith's Introduction

The regolith project

Exploring Bullet Physics as a tool to simulate behavior of regolith and granular soils.
cpt_picture Currently it allows to show qualitative dependence between resistance and external pressure during Cone Penetration Testing cpt_picture

Note about requirements and build steps

Complete set-up and build instructions for Ubuntu 20.04 are provided in the Dockerfile. Dockerfile should be treated as reference for setting up and building the project on your machine. You can verify the correctness of the steps in Dockerfile by:

docker build -t regolith .
docker run regolith

Note, that these commands will take long time and won't install anything on your local machine.
They will only allow you to run one example from simulations directory without gui.
They will not provide an easy way to modify and rebuild code or modify the configuration.
Execute the commands used inside Dockerfile on your local machine to have fully prepared environment.

In case of any problems with the installation, feel free to open an issue in Github

Requirements

All packages listed below must be installed in a fashion that they are discoverable by cmake find_package function. For example installation steps, refer to the Dockerfile

Bullet Physics

Bullet Physics installed from source Note: bullet installed via apt install libbullet-dev will not work
because CommonInterfaces (used for examples) are not included in the package

yaml-cpp

Required for configuration files

packgen

Packgen is a library created by authors of the "An efficient algorithm to generate random sphere packs in arbitrary domains" paper. Original code is here: https://git.tecgraf.puc-rio.br/elozano/packgen However to install it use this fork: https://github.com/przecze/pacgen where cmake support is added Packgen is used for generating the samples for simulations.

nlohmann_json

Required for saving and analysing profiler output

python3

Following python3 libraries are used for plots:

  • plotly
  • numpy

Build instructions

mkdir build
cd build
cmake ..
make

Run simulations

For ConePenetrationTest, link example config to current directory:

ln -s simulations/ConePenetrationTest/config.example.yaml build/config.yaml

Executables for simulations will be in build/simulations subdirectories

regolith's People

Watchers

Przemysław Czechowski avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.