obsidian_backup/多体+耦合求解器/计算线速度 偏加速度.md

42 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2025-01-24 09:55:07 +08:00
# yaw
```rust
ewn_x_r_ou = cross_product(&rt_hs.ang_vel_en, &rt_hs.r_ou);
rt_hs.plin_vel_eu = rt_hs.plin_vel_eo.clone();
for i in 0..NPN{
tmp_vec0 = cross_product(&rt_hs.p_ang_vel_en.slice(s![PN[i] - 1, 0, ..]).to_owned(), &rt_hs.r_ou);
tmp_vec1 = cross_product(&rt_hs.p_ang_vel_en.slice(s![PN[i] - 1, 0, ..]).to_owned(), &ewn_x_r_ou);
tmp_vec2 = cross_product(&rt_hs.p_ang_vel_en.slice(s![PN[i] - 1, 1, ..]).to_owned(), &rt_hs.r_ou);
let update_value = tmp_vec0 + rt_hs.plin_vel_eu.slice(s![PN[i] - 1, 0, ..]);
// Partial linear velocity (and its 1st time derivative) of the nacelle center of mass (point U) in the inertia frame (body E for earth) [-]
rt_hs.plin_vel_eu.slice_mut(s![PN[i] - 1, 0, ..]).assign(&update_value);
let update_value = tmp_vec1 + tmp_vec2 + rt_hs.plin_vel_eu.slice(s![PN[i] - 1, 1, ..]);
rt_hs.plin_vel_eu.slice_mut(s![PN[i] - 1, 1, ..]).assign(&update_value);
// Linear acceleration of the nacelle center of mass (point U) in the inertia frame (body E for earth) (excluding QD2T components) [-]
rt_hs.lin_acc_eut = rt_hs.lin_acc_eut.clone() + x.qdt[PN[i] as usize - 1] * rt_hs.plin_vel_eu.slice(s![PN[i] - 1, 1, ..]).to_owned();
    }
```
plin_vel_eu
Partial linear velocity (and its 1st time derivative) of the nacelle center of mass (point U) in the inertia frame (body E for earth) [-]
lin_acc_eut
Linear acceleration of the nacelle center of mass (point U) in the inertia frame (body E for earth) (excluding QD2T components) [-]