37 releases (20 stable)
Uses new Rust 2024
| 5.2.1 | Aug 19, 2025 |
|---|---|
| 5.1.2 | May 19, 2025 |
| 5.1.1 | Oct 30, 2024 |
| 5.1.0 | Feb 1, 2024 |
| 0.1.0 | Nov 10, 2021 |
#157 in Simulation
1,639 downloads per month
Used in 10 crates
56KB
1K
SLoC
Giant Magellan Telescope Finite Element Model
The crate is a Rust API for the GMT second order finite element model (FEM).
The FEM is loaded from a zip file which name must be modal_state_space_model_2ndOrder.zip and the location of the zip file is given by the environment variable FEM_REPO.
The FEM inputs and outputs are dynamically created during compilation from importing input and output tables contained within the zip archive.
This means that each time an application needs a new model, the gmt-fem crate need to be recompiled using the modal_state_space_model_2ndOrder.zip archive corresponding to the new model.
To force a re-compilation of the gmt-crate, the gmt-crate library need to be deleted from Rust Cargo cache like this:
cargo clean --release -p gmt-fem
A summary of the properties of a GMT FEM can be obtained by running the Cargo subcommand
cargo gmt-fem
The subcommand is installed with
cargo install -f --features clap gmt-fem
Run
cargo gmt-fem --help
to see the arguments to apply a custom model reduction.
For the reasons explained above, the subcommand need to be re-installed each time it is applied to a new model.
The zip archive modal_state_space_model_2ndOrder.zip is generated with the Matlab script unwrapFEM.m available in the tools directory.
The script uses the Matlab files modal_state_space_model_2ndOrder.mat and, if present, static_reduction_model.mat to build modal_state_space_model_2ndOrder.zip.
Dependencies
~50MB
~1M SLoC