obsidian_backup/多体求解器debug/多体+气动 yaw debug.md

109 lines
4.3 KiB
Markdown
Raw Normal View History

2025-01-24 09:55:07 +08:00
# 问题
转速在14s之后一直掉
![[Pasted image 20250120102349.png]]
## yaw求解过程
2025-02-10 08:53:03 +08:00
## 思路
yaw_mom 到 augmat - 再到 qdt dof_yaw
哪里发生了比较大的变化导致 发散 外推drtr
2025-01-24 09:55:07 +08:00
1 输入yaw_mom from 控制
multibody_solution 1834-1846行
Elastodyn.f90 8295
FAST_Subs.f90
- 4835
- 4520
- 4865
pmom_bnc_rt 在基板 (point O) 处由机舱、发电机和转子产生的偏力矩 [-] 2方向
Partial moment at the base plate (body B) / yaw bearing (point O) due the nacelle, generator, and rotor [-]
- 2, 10: yaw 差距较小 3-11
- 2, 12: geaz 差距较大 3-13
- 2, 13: drtr 差距较大 3-14
pmom_ngn_rt 就有问题
Partial moment at the nacelle (body N) / selected point on rotor-furl axis (point V) due the structure that furls with the rotor, generator, and rotor [-]
2025-02-10 08:53:03 +08:00
pmom_lprot 有问题 210PMomLPRot-311
pmom_lprot - Partial moment at the teeter pin (point P) on the low-speed shaft (body L) due to the rotor [-]
pmom_h0b - Partial moment at the hub (body H) / blade root (point S(0)) due to the blade [-]
pmom_lprot[.., dof] += rt_hs.pmom_h0b[.., K, dof] + tmp_vec
n = 0
rust
| pmom_lprot[.., 10] | [10065.169025312112, -880.58815982021201, 0] |
| ------------------- | ---------------------------------------------------------------- |
| tmp_vec | [-106008.52186436673, 4628.43188287714, -1.0682859215676195e-10] |
| pmom_h0b[.., 0, 10] | [-1273126.2724884835, 55585.89184040811, -2.254358687222148e-9] |
| pmom_lprot[.., 10] | [-1369069.625327538, 59333.735563465045, -2.36118727937891e-9] |
| | |
| tmp_vec | [89979.12573566216, -452011.2188342586, -248942.84544012396] |
| pmom_h0b[.., 1, 10] | [1422330.1493642807, -9454670.27374079, -5253335.786885787] |
| pmom_lprot[.., 10] | [143239.64977240493, -9847347.757011585, -5502278.632325914] |
| | |
| tmp_vec | [89979.12573566235, -452011.21883425827, 248942.8454401244] |
| pmom_h0b[.., 2, 10] | [1422330.149364284, -9454670.27374078, 5253335.786885795] |
| pmom_lprot[.., 10] | [1655548.9248723513, -19754029.249586623, 5.820766091346741e-9] |
fortran
| pmom_lprot[.., 10] | [10065.17, -880.5881, 0.0] |
| ------------------- | --------------------------------------- |
| tmp_vec | [-106008.5, 4628.433, -1.0682862E-10] |
| pmom_h0b[.., 0, 10] | [-1273126., 55585.91, -2.2543594E-09] |
| pmom_lprot[.., 10] | [-1369070., 59333.75, -2.3611879E-09] |
| | |
| tmp_vec | [89979.14, -452011.3, -248942.9] |
| pmom_h0b[.., 1, 10] | [1422330., -9454672., -5253337.] |
| pmom_lprot[.., 10] | [143239.8, -9847349., -5502280.] |
| | |
| tmp_vec | [89979.14, -452011.3, 248942.9] |
| pmom_h0b[.., 1, 10] | [1422330., -9454672., 5253337.] |
| pmom_lprot[.., 10] | [1655549., -1.9754032E+07., -0.1093750] |
2025-01-24 09:55:07 +08:00
2025-02-13 16:15:18 +08:00
**pmom_h0b[2,11]**
2025-01-24 09:55:07 +08:00
pfrc_prot 有问题
2025-02-10 08:53:03 +08:00
pfrc_prot - Partial force at the teeter pin (point P) due to the rotor [-]
pfrc_s0b - Partial force at the blade root (point S(0)) due to the blade [-]
pfrc_prot[.., dof] += rt_hs.pfrc_s0b[.., K, dof]
## 切换双精度后:依然出现
plin_vel_ec 10, 0, 0有问题
Partial linear velocity (and its 1st time derivative) of the hub center of mass (point C) in the inertia frame (body E for earth) [-]
rt_hs.pmom_lprot 2, 10 差两倍
```fortran
RtHSdat%PMomLPRot(:,p%DOFs%PCE(I)) = TmpVec2 - p%Hubg1Iner*CoordSys%g1*DOT_PRODUCT( CoordSys%g1, RtHSdat%PAngVelEH(p%DOFs%PCE(I),0,:) ) & - p%Hubg2Iner*CoordSys%g2*DOT_PRODUCT( CoordSys%g2, RtHSdat%PAngVelEH(p%DOFs%PCE(I),0,:) )
```
g1 [2]差2倍
MomBNcRtt有差距导致右端项算的不对
frc_vgn_rtt
mom_ngn_rtt
frc_prot_t - Portion of the force at the teeter pin (point P) due to the rotor associated with everything but the QD2T()'s [-]
frc_s0bt - Force at the blade root (point S(0)) due to the blade (excluding QD2T components) [-]
## 问题
- Fortran 与rust加和 趋于0的结果 精度不同 Fortran e-5 rust e-11
- Fortran写到txt文本的数值读进rust有少许差异
2025-02-13 16:15:18 +08:00
# qt是如何推进的有没有问题