Extending EPFL's Akantu package, WOBBLE (Waves Of Beams and other Bodies due to Loadings and Excitations) offers efficient and accurate simulation capabilities by utilising modal analysis and rigid body mechanics
- Oisín Morrison (oisin.morrison@epfl.ch)
- Leonhard Driever (leonhard.driever@epfl.ch)
WOBBLE is designed to deal with situations where large translations and rotations may be at play. This makes the package suitable for the simulation of satellites in space, which is important for applications such as ClearSpace.
- Efficient Numerical Solvers
- Accurate Results
- Ability to Model Both Clamped and Non-Clamped Bodies
The project is structured using the following directory structure:
.
├── wobble
└── examples
├── sample_data_files
└── sample_notebooks
where
wobble
contains the code for the WOBBLE packagesample_data_files
contains the files (mesh files, eigenmode files, force files, mask files, geometry files, material files) for running the examplessample_notebooks
contains a number of sample notebooks showing how to run WOBBLE to obtain results shown in our report
Within wobble
, there exists 5 main files, containing 5 key classes for the WOBBLE package:
wobble
├── ma_fundamentals.py
├── pure.py
├── rb_fundamentals.py
├── rb_simple.py
└── rb_coupled.py
where
ma_fundamentals.py
contains the abstract classMAFundamentals
, which implements the main methods used across all other classespure.py
contains thePureMA
class, which implements the solver using pure modal analysis (no rigid body motion). This is suitable for modelling scenarios where bodies are clampedrb_fundamentals.py
contains the abstract classRBFundamentals
, which implements the main methods used across all the rigid body mechanics solversrb_simple.py
contains theSimpleRB
class, which implements the SimpleRB algorithm discussed in the report (implements rigid body mechanics and modal analysis in a decoupled fashion)rb_coupled.py
contains theCoupledRB
class, which implements the SimpleRB algorithm discussed in the report (implements rigid body mechanics and modal analysis in a coupled fashion)
Examples of notebooks are provided in the sample_notebooks
folder.
The authors recommend the following:
- Use
PureMA
if rigid body mechanics are not important for the application (e.g. clamped beam) - Use
SimpleRB
if the body is not expected to be subject to a large amount of fictitious forces due to its rotation - Use
CoupledRB
if the beam is expected to be subject to a large amount of fictitious forces due to its rotation
WOBBLE was tested with Python 3.8.10
and uses the following packages:
akantu==4.0.1
numpy==1.20.3
matplotlib==3.4.3
scipy==1.8.0
For further details, please see our report or contact the authors