11 stable releases (4 major)

new 4.0.0 Sep 15, 2023
3.0.0 Aug 28, 2023
2.2.0 Jul 12, 2023
2.1.3 Jun 28, 2023
0.1.0 Mar 10, 2023

#282 in Science

Download history 28/week @ 2023-05-25 28/week @ 2023-06-01 70/week @ 2023-06-08 37/week @ 2023-06-15 65/week @ 2023-06-22 57/week @ 2023-06-29 90/week @ 2023-07-06 56/week @ 2023-07-13 48/week @ 2023-07-20 21/week @ 2023-07-27 12/week @ 2023-08-03 33/week @ 2023-08-10 24/week @ 2023-08-17 59/week @ 2023-08-24 23/week @ 2023-08-31 41/week @ 2023-09-07

150 downloads per month
Used in 4 crates

MIT license

140KB
3K SLoC

gmt_dos-clients_fem

Crates.io Documentation

A client for the GMT FEM crate gmt-fem.


lib.rs:

This module is used to build the state space model of the telescope structure

A state space model is represented by the structure [DiscreteModalSolver] that is created using the builder DiscreteStateSpace. The transformation of the FEM continuous 2nd order differential equation into a discrete state space model is performed by the [Exponential] structure (for the details of the transformation see the exponential module ).

Example

The following example loads a FEM model and converts it into a state space model setting the sampling rate and the damping coefficients and truncating the eigen frequencies. A single input and a single output are selected.

use gmt_fem::{FEM,
              dos::{DiscreteStateSpace, DiscreteModalSolver, Exponential},
              fem_io::{OSSM1Lcl6F, OSSM1Lcl}};

    let sampling_rate = 1e3; // Hz
    let fem = FEM::from_env()?;
    let mut fem_ss: DiscreteModalSolver<Exponential> = DiscreteStateSpace::from(fem)
        .sampling(sampling_rate)
        .proportional_damping(2. / 100.)
        .max_eigen_frequency(75.0) // Hz
        .ins::<OSSM1Lcl6F>()
        .outs::<OSSM1Lcl>()
        .build()?;

Dependencies

~38–78MB
~1.5M SLoC