42 lines
1.5 KiB
Markdown
42 lines
1.5 KiB
Markdown
|
|
|||
|
# 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) [-]
|