9 stable releases

3.0.0 May 19, 2025
2.2.1 May 3, 2024
2.2.0 Mar 22, 2024
2.0.2 Feb 1, 2024
1.0.0 Apr 30, 2023

#654 in Science

Download history 7/week @ 2025-05-07 107/week @ 2025-05-14 28/week @ 2025-05-21 7/week @ 2025-05-28

149 downloads per month

MIT license

7MB
12K SLoC

CFD wind loads client implementation

The wind forces and moments derived from the CFD simulations are saved into a file called monitors.csv.z.

This file is loaded into the client [CfdLoads] and resampled at a given sampling frequency.

For example:

use gmt_dos_clients_windloads::CfdLoads;

let cfd_loads = CfdLoads::foh(".", 100)
.duration(100.0)
.mount(None)
.m1_segments()
.m2_segments()
.build()?;

The CFD wind loads are loaded from the current directory, resampled at 100Hz, truncated to the first 100s of data, and includes the loads on the mount, on M1 and on M2.

The version of the wind loads is selected by setting feature to either cfd2021 or cdf2025.

Note that if the environment variable FEM_REPO is set to a valid GMT FEM folder, then the version of the wind loads is derived from the FEM CFD inputs and no feature is required.

If the wind loads are applied to a GMT FEM, then the FEM CFD inputs must be matched against the CFD loads, like so:

use gmt_fem::FEM;
use gmt_dos_clients_windloads::CfdLoads;

let mut fem = FEM::from_env()?;
let cfd_loads = CfdLoads::foh(".", 1000)
.duration(30.0)
.windloads(&mut fem, Default::default())
.build()?;

The WindLoadsBuilder can be used to select wind loads between wind loads applied to the mount, the M1 assembly or the M2 assembly:

use gmt_fem::FEM;
use gmt_dos_clients_windloads::{CfdLoads, windloads::WindLoadsBuilder};

let mut fem = FEM::from_env()?;
let cfd_loads = CfdLoads::foh(".", 1000)
.duration(30.0)
.windloads(&mut fem, WindLoadsBuilder::new().m1_assembly())
.build()?;

gmt_dos-clients_windloads

Crates.io Documentation

A client for importing GMT CFD time series of wind forces and torques.

Dependencies

~75MB
~1.5M SLoC