From 3068c9ba4eeebe6394a7e9ace6423a63839543cc Mon Sep 17 00:00:00 2001 From: yize Date: Sat, 31 Jan 2026 22:03:42 +0800 Subject: [PATCH] vault backup: 2026-01-31 22:03:41 --- ...®—原ç†ï¼Œå·²çŸ¥p%DOFs%NPTEçš„å«ä¹‰æ˜¯Number_of_DOFs_.md | 413 ++++++++++++++++++ .../风机模型åŠaugmat_matrix.excalidraw.md | 44 +- 2 files changed, 418 insertions(+), 39 deletions(-) create mode 100644 copilot-conversations/20260126_101345__[[CalculateForcesMoments]][[Tower]]详解PFrcT0Trb_and_PMomX0Trb部分的计算原ç†ï¼Œå·²çŸ¥p%DOFs%NPTEçš„å«ä¹‰æ˜¯Number_of_DOFs_.md diff --git a/copilot-conversations/20260126_101345__[[CalculateForcesMoments]][[Tower]]详解PFrcT0Trb_and_PMomX0Trb部分的计算原ç†ï¼Œå·²çŸ¥p%DOFs%NPTEçš„å«ä¹‰æ˜¯Number_of_DOFs_.md b/copilot-conversations/20260126_101345__[[CalculateForcesMoments]][[Tower]]详解PFrcT0Trb_and_PMomX0Trb部分的计算原ç†ï¼Œå·²çŸ¥p%DOFs%NPTEçš„å«ä¹‰æ˜¯Number_of_DOFs_.md new file mode 100644 index 0000000..5540add --- /dev/null +++ b/copilot-conversations/20260126_101345__[[CalculateForcesMoments]][[Tower]]详解PFrcT0Trb_and_PMomX0Trb部分的计算原ç†ï¼Œå·²çŸ¥p%DOFs%NPTEçš„å«ä¹‰æ˜¯Number_of_DOFs_.md @@ -0,0 +1,413 @@ +--- +epoch: 1769393625906 +modelKey: gemini-2.5-flash|google +tags: + - copilot-conversation +--- + +**user**: [[CalculateForcesMoments]][[Tower]]详解PFrcT0Trb and PMomX0Trb部分的计算原ç†ï¼Œå·²çŸ¥p%DOFs%NPTEçš„å«ä¹‰æ˜¯Number of DOFs that contribute to the QD2T-related linear accelerations of the tower nodes (point T) in the inertia frame, based on which DOFs are presently enabledï¼Œå¦‚æžœæœ‰å…¶ä»–ä¸æ¸…楚的å˜é‡å«ä¹‰ï¼Œå‘Šè¯‰æˆ‘我æ¥è¡¥å…… +[Timestamp: 2026/01/26 10:13:45] + +**ai**: `PFrcT0Trb` å’Œ `PMomX0Trb` 是在 `CalculateForcesMoments` å­ç¨‹åºä¸­è®¡ç®—的,它们代表了在塔基(点 T(0))处,与塔架节点(点 T)在惯性系中的 `QD2T` 相关线性加速度(由 `p%DOFs%NPTE` 定义的自由度)相关的**总å力**å’Œ**总å力矩**。这些计算综åˆäº†é£ŽåŠ›å‘电机组塔架以上所有部件以åŠå¡”架自身的贡献。 + +计算原ç†å¦‚下: + +1. **åˆå§‹åŒ–塔架以上部件的贡献:** + * `RtHSdat%PFrcT0Trb` 首先被åˆå§‹åŒ–为 `RtHSdat%PFrcONcRt`。 + * `RtHSdat%PMomX0Trb` 首先被åˆå§‹åŒ–为 `RtHSdat%PMomBNcRt`。 + * `PFrcONcRt` å’Œ `PMomBNcRt` 是在å航轴承(点 O)/底æ¿ï¼ˆä½“ B)处,由机舱ã€å‘电机ã€è½¬å­å’Œå°¾ç¿¼æ•ˆåº”产生的å力与å力矩。这æ„å‘³ç€ `PFrcT0Trb` å’Œ `PMomX0Trb` çš„åˆå§‹å€¼å·²ç»åŒ…å«äº†å航轴承以上所有部件的贡献。 + +2. **å°†å航轴承以上部件的力矩贡献平移到塔基:** + * 代ç ä¼šé历所有激活的自由度 (`p%DOFs%NActvDOF`)。 + * 对于æ¯ä¸ªè‡ªç”±åº¦ `I`,通过 `TmpVec = CROSS_PRODUCT( RtHSdat%rT0O, RtHSdat%PFrcONcRt(:,p%DOFs%SrtPS(I)) )` 计算 `PFrcONcRt` 在点 O 处产生的力,相对于塔基 T(0) 的力矩。其中 `RtHSdat%rT0O` 是从塔基 T(0) 到å航轴承 O çš„ä½ç½®çŸ¢é‡ã€‚ + * 这个计算出的力矩 `TmpVec` 被加到 `RtHSdat%PMomX0Trb` 中,从而将å航轴承以上部件的力矩贡献正确地平移到塔基。 + +3. **添加å航轴承质é‡çš„贡献:** + * 代ç ä¼šé历所有对塔架线性加速度有贡献的自由度 (`p%DOFs%NPTE`)。 + * `TmpVec1 = -p%YawBrMass*RtHSdat%PLinVelEO(p%DOFs%PTE(I),0,:)` 计算了与åèˆªè½´æ‰¿è´¨é‡ (`p%YawBrMass`) åŠå…¶å线性速度 (`RtHSdat%PLinVelEO`) 相关的å力。这本质上是一个惯性力项。 + * 这个å力 `TmpVec1` 被加到 `RtHSdat%PFrcT0Trb` 中。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rT0O, TmpVec1 )` 计算了由这个å航轴承质é‡å力相对于塔基 T(0) 产生的力矩。 + * 这个力矩 `TmpVec2` 被加到 `RtHSdat%PMomX0Trb` 中。 + +4. **集æˆå¡”æž¶å•元的贡献:** + * 代ç é€šè¿‡åµŒå¥—循环é历æ¯ä¸ªå¡”æž¶å•å…ƒ (`J`) å’Œæ¯ä¸ªç›¸å…³çš„自由度 (`I`)。 + * `TmpVec1 = RtHSdat%PFTHydro(:,J,p%DOFs%PTE(I))*abs(p%DHNodes(J)) - p%TElmntMass(J)*RtHSdat%PLinVelET(J,p%DOFs%PTE(I),0,:)` 计算了特定塔架å•å…ƒ `J` 在给定自由度 `I` 下的å力贡献。 + * `RtHSdat%PFTHydro(:,J,p%DOFs%PTE(I))*abs(p%DHNodes(J))` 代表作用在塔架å•å…ƒ `J` ä¸Šçš„åæ°´åŠ¨åŠ›ï¼ˆæˆ–å…¶ä»–å¤–éƒ¨åŠ›ï¼‰ï¼Œä¹˜ä»¥å…¶é•¿åº¦ `abs(p%DHNodes(J))`。 + * `- p%TElmntMass(J)*RtHSdat%PLinVelET(J,p%DOFs%PTE(I),0,:)` 代表由塔架å•å…ƒè´¨é‡ (`p%TElmntMass(J)`) åŠå…¶å线性速度 (`RtHSdat%PLinVelET`) 产生的惯性力贡献。 + * 这个 `TmpVec1` 被加到 `RtHSdat%PFrcT0Trb` 中。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rT0T(:,J), TmpVec1 )` 计算了由 `TmpVec1` 相对于塔基 T(0) 产生的力矩。`RtHSdat%rT0T(:,J)` 是从塔基 T(0) 到塔架å•å…ƒ `J` çš„ä½ç½®çŸ¢é‡ã€‚ + * `TmpVec3 = RtHSdat%PMFHydro(:,J,p%DOFs%PTE(I))*abs(p%DHNodes(J))` 代表作用在塔架å•å…ƒ `J` ä¸Šçš„åæ°´åŠ¨åŠ›çŸ©ï¼ˆæˆ–å…¶ä»–å¤–éƒ¨åŠ›çŸ©ï¼‰ï¼Œä¹˜ä»¥å…¶é•¿åº¦ã€‚ + * `TmpVec2` å’Œ `TmpVec3` 被加到 `RtHSdat%PMomX0Trb` 中。 + +**总结:** + +`PFrcT0Trb` å’Œ `PMomX0Trb` 是通过将风力å‘电机组塔架以上所有部件(转å­ã€æœºèˆ±ã€å°¾ç¿¼ç­‰ï¼‰çš„å力/å力矩贡献,以åŠå航轴承质é‡çš„æƒ¯æ€§å力/å力矩贡献,å†åŠ ä¸Šå¡”æž¶æ¯ä¸ªå•元的惯性å力/å力矩和外部(如水动力)å力/å力矩贡献,全部累加并平移到塔基 T(0) 处得到的。这些“åâ€é‡æ˜¯ä¸Žå¡”架节点线性加速度相关的è¿åŠ¨æ–¹ç¨‹ä¸­çš„åŠ›/力矩分é‡ã€‚ + +[[Tower]] 笔记中æåˆ°çš„塔架广义惯性力ã€å¼¹æ€§åŠ›ã€é˜»å°¼åŠ›ã€æ°”动力和é‡åŠ›ç­‰æ¦‚å¿µï¼Œä¸ºç†è§£è¿™äº›å力与ååŠ›çŸ©çš„æ¥æºæä¾›äº†ç†è®ºåŸºç¡€ã€‚例如,代ç ä¸­çš„ `PFTHydro` å’Œ `PMFHydro` 项与 [[Tower]] 笔记中æè¿°çš„“塔架气动特性â€å’Œâ€œæ°´åŠ¨åŠ›è´¡çŒ®â€ç›¸ç¬¦ï¼Œè€Œè´¨é‡å’Œé€Ÿåº¦é¡¹åˆ™ä¸Žå¹¿ä¹‰æƒ¯æ€§åŠ›ç›¸å…³ã€‚ +[Timestamp: 2026/01/26 10:15:19] + +**user**: [[CalculateForcesMoments]]结åˆå‡¯æ©æ–¹æ³•ï¼Œè§£é‡Šæ•´ä¸ªè®¡ç®—åŽŸç† +[Timestamp: 2026/01/26 11:28:17] + +**ai**: `CalculateForcesMoments` å­ç¨‹åºåœ¨ OpenFAST åŠ¨åŠ›å­¦æ¨¡åž‹ä¸­æ‰®æ¼”ç€æ ¸å¿ƒè§’色,它根æ®å‡¯æ©æ–¹ç¨‹ï¼ˆKane's Equations)的原ç†è®¡ç®—å¹¿ä¹‰åŠ›å’Œå¹¿ä¹‰æƒ¯æ€§åŠ›ã€‚å‡¯æ©æ–¹ç¨‹æ˜¯ä¸€ç§ç”¨äºŽæŽ¨å¯¼å¤šä½“系统è¿åŠ¨æ–¹ç¨‹çš„æœ‰æ•ˆæ–¹æ³•ï¼Œå°¤å…¶é€‚ç”¨äºŽå…·æœ‰å¤æ‚è¿åŠ¨å’Œå¤§é‡è‡ªç”±åº¦çš„系统,如风力涡轮机。 + +**å‡¯æ©æ–¹ç¨‹çš„æ ¸å¿ƒæ€æƒ³ï¼š** + +å‡¯æ©æ–¹ç¨‹é¿å…了直接计算约æŸåŠ›ï¼Œè€Œæ˜¯é€šè¿‡å¼•å…¥â€œå速度â€ï¼ˆpartial velocities)和“å角速度â€ï¼ˆpartial angular velocities)的概念,将牛顿-æ¬§æ‹‰æ–¹ç¨‹æŠ•å½±åˆ°å¹¿ä¹‰åæ ‡ç³»ä¸­ã€‚其基本形å¼ä¸ºï¼š + +$F_r^* + F_r = 0$ + +其中: +* $F_r^*$ 是第 $r$ ä¸ªå¹¿ä¹‰åæ ‡å¯¹åº”的广义惯性力(Generalized Inertia Force)。 +* $F_r$ 是第 $r$ ä¸ªå¹¿ä¹‰åæ ‡å¯¹åº”的广义主动力(Generalized Active Force)。 + +**`CalculateForcesMoments` å­ç¨‹åºçš„计算原ç†ä¸Žå‡¯æ©æ–¹æ³•结åˆï¼š** + +该å­ç¨‹åºçš„目标是计算风力涡轮机系统中å„个部件(å¶ç‰‡ã€è½®æ¯‚ã€æœºèˆ±ã€å¡”æž¶ã€å¹³å°ï¼‰çš„广义力和广义力矩,这些力矩最终会用于构建系统的è¿åŠ¨æ–¹ç¨‹ã€‚å®ƒé€šè¿‡ä»¥ä¸‹æ­¥éª¤å®žçŽ°ï¼š + +1. **定义系统部件和自由度:** + * 风力涡轮机被分解为多个相互连接的刚体或柔性体(如å¶ç‰‡ã€è½®æ¯‚ã€æœºèˆ±ã€å¡”æž¶ã€å¹³å°ï¼‰ã€‚ + * æ¯ä¸ªéƒ¨ä»¶éƒ½æœ‰å…¶è‡ªèº«çš„è´¨é‡ã€æƒ¯æ€§ç‰¹æ€§ä»¥åŠç›¸å¯¹äºŽå…¶ä»–部件或惯性系的è¿åŠ¨ã€‚ + * ç³»ç»Ÿé€šè¿‡ä¸€ç»„å¹¿ä¹‰åæ ‡ $q_r$ æ¥æè¿°å…¶è¿åŠ¨ï¼Œæ¯ä¸ªå¹¿ä¹‰å标对应一个自由度。 + * `p%DOFs%NPSE(K)`ã€`p%DOFs%NPCE`ã€`p%DOFs%NPDE`ã€`p%DOFs%NPIE`ã€`p%DOFs%NPUE`ã€`p%DOFs%NPTE`ã€`p%DOFs%NPYE` ç­‰å‚æ•°å®šä¹‰äº†ä¸åŒéƒ¨ä»¶ï¼ˆå¶ç‰‡ã€è½®æ¯‚ã€è½¬å­-机舱ã€å°¾ç¿¼ã€æœºèˆ±ã€å¡”æž¶ã€å¹³å°ï¼‰ä¸­å¯¹ `QD2T` ç›¸å…³çº¿æ€§åŠ é€Ÿåº¦æœ‰è´¡çŒ®çš„æ¿€æ´»è‡ªç”±åº¦ã€‚è¿™äº›è‡ªç”±åº¦æ˜¯å‡¯æ©æ–¹ç¨‹ä¸­çš„å¹¿ä¹‰åæ ‡ã€‚ + +2. **计算å速度和å角速度(éšå«åœ¨ `PLinVel` å’Œ `PAngVel` å˜é‡ä¸­ï¼‰ï¼š** + * å‡¯æ©æ–¹æ³•的核心是计算æ¯ä¸ªè´¨ç‚¹æˆ–刚体的线速度和角速度对æ¯ä¸ªå¹¿ä¹‰é€Ÿåº¦çš„å导数,å³å速度和å角速度。 + * 在 OpenFAST 中,这些å速度和å角速度通常在其他模å—(如 `RtHndSide` 模å—)中预先计算并存储在 `RtHSdat` 结构体中,例如 `RtHSdat%PLinVelES` (å¶ç‰‡å•元的å线性速度)ã€`RtHSdat%PAngVelEH` (轮毂的å角速度) 等。 + * 这些å速度和å角速度是连接部件è¿åŠ¨ä¸Žå¹¿ä¹‰åæ ‡çš„关键。 + +3. **计算广义惯性力 ($F_r^*$ 的组æˆéƒ¨åˆ†):** + * 广义惯性力通常由两部分组æˆï¼šä¸Žå¹¿ä¹‰åŠ é€Ÿåº¦ç›¸å…³çš„é¡¹ï¼ˆè´¨é‡çŸ©é˜µçš„一部分)和与广义速度平方相关的项(科里奥利力和离心力项)。 + * 在 `CalculateForcesMoments` 中,与广义加速度相关的项通过以下形å¼è®¡ç®—: + * `TmpVec1 = -p%TipMass(K)*RtHSdat%PLinVelES(K,p%TipNode,p%DOFs%PSE(K,I),0,:)` (å¶å°–è´¨é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec1 = -p%BElmntMass(J,K)*RtHSdat%PLinVelES(K,J,p%DOFs%PSE(K,I),0,:)` (å¶ç‰‡å•元质é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec1 = -p%HubMass*RtHSdat%PLinVelEC(p%DOFs%PCE(I),0,:)` (轮毂质é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec1 = -p%RFrlMass*RtHSdat%PLinVelED(p%DOFs%PDE(I) ,0,:)` (转å­-机舱结构质é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec1 = -p%BoomMass*RtHSdat%PLinVelEI(p%DOFs%PIE(I),0,:)` (尾翼臂质é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec2 = -p%TFinMass*RtHSdat%PLinVelEJ(p%DOFs%PIE(I),0,:)` (尾翼质é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec1 = -p%NacMass*RtHSdat%PLinVelEU(p%DOFs%PUE(I),0,:)` (机舱质é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec1 = -p%YawBrMass*RtHSdat%PLinVelEO(p%DOFs%PTE(I),0,:)` (å航轴承质é‡çš„æƒ¯æ€§åŠ›) + * `TmpVec1 = RtHSdat%PFTHydro(:,J,p%DOFs%PTE(I))*abs(p%DHNodes(J)) - p%TElmntMass(J)*RtHSdat%PLinVelET(J,p%DOFs%PTE(I),0,:)` (塔架å•元的惯性力与水动力) + * `TmpVec1 = -p%PtfmMass*RtHSdat%PLinVelEY(p%DOFs%PYE(I),0,:) ` (å¹³å°è´¨é‡çš„æƒ¯æ€§åŠ›) + * 这些 `PLinVel` (Partial Linear Velocity) å’Œ `PAngVel` (Partial Angular Velocity) ä¹˜ä»¥è´¨é‡æˆ–惯性张é‡ï¼Œå¹¶ç»“åˆè´Ÿå·ï¼Œæž„æˆäº†å¹¿ä¹‰æƒ¯æ€§åŠ›ä¸­ä¸Žå¹¿ä¹‰åŠ é€Ÿåº¦ç›¸å…³çš„éƒ¨åˆ†ã€‚ + * 与广义速度平方相关的项(科里奥利力和离心力)在代ç ä¸­ä¹Ÿé€šè¿‡ `CROSS_PRODUCT` å’Œ `DOT_PRODUCT` 结åˆè§’é€Ÿåº¦å’Œæƒ¯æ€§å¼ é‡æ¥è®¡ç®—,例如: + * `TmpVec3 = CROSS_PRODUCT( -RtHSdat%AngVelEH, TmpVec )` (轮毂的科里奥利/离心力矩) + * `TmpVec4 = CROSS_PRODUCT( -RtHSdat%AngVelER, TmpVec )` (转å­-机舱结构的科里奥利/离心力矩) + * `TmpVec5 = CROSS_PRODUCT( -RtHSdat%AngVelEG, TmpVec )` (å‘电机的科里奥利/离心力矩) + * `TmpVec5 = CROSS_PRODUCT( -RtHSdat%AngVelEA, TmpVec )` (尾翼的科里奥利/离心力矩) + * `CROSS_PRODUCT( -RtHSdat%AngVelEN, TmpVec )` (机舱的科里奥利/离心力矩) + * `TmpVec4 = CROSS_PRODUCT( -RtHSdat%AngVelEX, TmpVec )` (å¹³å°çš„科里奥利/离心力矩) + +4. **计算广义主动力 ($F_r$ 的组æˆéƒ¨åˆ†):** + * å¹¿ä¹‰ä¸»åŠ¨åŠ›åŒ…æ‹¬æ‰€æœ‰éžæƒ¯æ€§åŠ›ï¼Œå¦‚æ°”åŠ¨åŠ›ã€é‡åŠ›ã€å¼¹æ€§åŠ›ã€é˜»å°¼åŠ›ã€æ°´åŠ¨åŠ›ç­‰ã€‚ + * 在 `CalculateForcesMoments` 中,这些力通过以下方å¼è®¡ç®—: + * **气动力:** `RtHSdat%FSAero` (å¶ç‰‡æ°”动力)ã€`RtHSdat%MMAero` (å¶ç‰‡æ°”动力矩)ã€`RtHSdat%FSTipDrag` (å¶å°–阻力)。这些力直接æ¥è‡ª `u` (输入) 结构体,代表了外部气动载è·ã€‚ + * **é‡åŠ›ï¼š** `p%Gravity*CoordSys%z2` 乘以质é‡é¡¹ï¼Œä¾‹å¦‚ `-p%TipMass(K)*( p%Gravity*CoordSys%z2 + ... )`。 + * **水动力/外部载è·ï¼š** `RtHSdat%PFTHydro` å’Œ `RtHSdat%PMFHydro` (塔架水动力/力矩)ï¼Œä»¥åŠ `u%TowerPtLoads%Force` å’Œ `u%TowerPtLoads%Moment` (塔架点载è·),`u%PtfmAddedMass` (å¹³å°é™„åŠ è´¨é‡æ•ˆåº”),`u%PlatformPtMesh%Force` å’Œ `u%PlatformPtMesh%Moment` (å¹³å°ç‚¹è½½è·)。这些项包å«äº†æ°´åŠ¨åŠ›ã€åŸºç¡€åˆšåº¦/阻尼ã€ç³»æ³Šçº¿æ¢å¤åŠ›/阻尼等。 + * **外部点载è·ï¼š** `u%HubPtLoad%Force` å’Œ `u%HubPtLoad%Moment` (轮毂点载è·),`u%TFinCMLoads%Force` å’Œ `u%TFinCMLoads%Moment` (尾翼质心载è·),`u%NacelleLoads%Force` å’Œ `u%NacelleLoads%Moment` (机舱载è·)。 + +5. **通过力矩平移和å åŠ è¿›è¡Œé›†æˆï¼š** + * å‡¯æ©æ–¹æ³•的一个关键优势是å¯ä»¥é€šè¿‡åŠ›çŸ©å¹³ç§»ï¼ˆ`CROSS_PRODUCT`)将作用在ä¸åŒç‚¹çš„力/力矩等效到å‚考点,并进行å åŠ ã€‚ + * å­ç¨‹åºä¸­å¤§é‡ä½¿ç”¨äº† `CROSS_PRODUCT` 函数,例如 `CROSS_PRODUCT( RtHSdat%rS0S(:,K,p%TipNode), TmpVec1 )`,这表示将作用在å¶å°–的力 `TmpVec1` å¹³ç§»åˆ°å¶æ ¹ `S(0)` 产生的力矩。 + * 通过这ç§é€çº§å‘上(从å¶ç‰‡åˆ°è½®æ¯‚,到转å­-机舱,到机舱,到塔架,å†åˆ°å¹³å°ï¼‰çš„é›†æˆæ–¹å¼ï¼Œå°†æ‰€æœ‰éƒ¨ä»¶çš„力和力矩贡献累加到系统的å„ä¸ªå…³é”®ç‚¹ï¼ˆå¦‚å¶æ ¹ `S(0)`ã€æ‘†æŒ¯é”€ `P`ã€è½¬å­-机舱轴 `V`ã€å°¾ç¿¼è½´ `W`ã€å航轴承 `O`ã€å¡”基 `T(0)`ã€å¹³å°å‚考点 `Z`)。 + * 最终,`RtHSdat%PFrcZAll` å’Œ `RtHSdat%PMomXAll` 代表了整个风力涡轮机系统在平å°å‚考点 `Z` 处的总广义å力与å力矩,而 `RtHSdat%FrcZAllt` å’Œ `RtHSdat%MomXAllt` 则代表了总的广义主动力与力矩。 + +**与 [[Tower]] 笔记的关è”:** + +[[Tower]] 笔记详细é˜è¿°äº†å¡”架的广义惯性力ã€å¼¹æ€§åŠ›ã€é˜»å°¼åŠ›ã€æ°”动力和é‡åŠ›ã€‚åœ¨ `CalculateForcesMoments` å­ç¨‹åºä¸­ï¼Œè¿™äº›æ¦‚念体现在对塔架å•元的计算中: +* **广义惯性力:** `p%TElmntMass(J)*RtHSdat%PLinVelET(J,p%DOFs%PTE(I),0,:)` å’Œ `p%TElmntMass(J)*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccETt(:,J) )` 等项直接对应了塔架质é‡å’ŒåŠ é€Ÿåº¦äº§ç”Ÿçš„æƒ¯æ€§åŠ›ã€‚ +* **广义主动力(水动力/外部载è·ï¼‰ï¼š** `RtHSdat%PFTHydro` å’Œ `RtHSdat%PMFHydro` 直接对应了塔架上的水动力或其他外部载è·ã€‚ +* **é‡åŠ›ï¼š** `p%Gravity*CoordSys%z2` 明确表示了é‡åŠ›é¡¹ã€‚ +* **弹性力/阻尼力:** 虽然在 `CalculateForcesMoments` 中没有直接计算塔架的弹性力和阻尼力(这些通常在è¿åŠ¨æ–¹ç¨‹çš„åˆšåº¦çŸ©é˜µå’Œé˜»å°¼çŸ©é˜µä¸­å¤„ç†ï¼‰ï¼Œä½† `PFTHydro` å’Œ `PMFHydro` 的注释中æåˆ°å®ƒä»¬â€œåŒ…嫿¥è‡ªåŸºç¡€åˆšåº¦å’Œé˜»å°¼ [éžæµ®åЍ] 或系泊线æ¢å¤åŠ›å’Œé˜»å°¼ [浮动] 的贡献â€ï¼Œè¿™è¡¨æ˜Žè¿™äº›æ•ˆåº”被纳入了外部载è·çš„范畴。 + +**总结æ¥è¯´ï¼Œ`CalculateForcesMoments` å­ç¨‹åºæ˜¯ OpenFAST ä¸­å®žçŽ°å‡¯æ©æ–¹ç¨‹çš„关键部分。它通过系统地计算æ¯ä¸ªéƒ¨ä»¶çš„å力/å力矩和主动力/力矩,并é€çº§å‘上集æˆï¼Œæœ€ç»ˆå¾—到整个风力涡轮机系统在关键å‚考点处的总广义力和广义力矩。这些计算结果将用于构建系统的è¿åŠ¨æ–¹ç¨‹ï¼Œä»Žè€Œæ¨¡æ‹Ÿé£ŽåŠ›æ¶¡è½®æœºçš„åŠ¨æ€å“应。** +[Timestamp: 2026/01/26 11:28:35] + +**user**: é€ä¸ªéƒ¨ä»¶ä»‹ç»è®¡ç®—åŽŸç† +[Timestamp: 2026/01/26 11:30:05] + +**ai**: 好的,我们æ¥é€ä¸ªéƒ¨ä»¶åœ°è¯¦ç»†ä»‹ç» `CalculateForcesMoments` å­ç¨‹åºä¸­åŠ›çŸ©å’ŒåŠ›è®¡ç®—çš„åŽŸç†ï¼Œå¹¶ç»“åˆå‡¯æ©æ–¹æ³•进行解释。 + +å‡¯æ©æ–¹æ³•的核心是计算æ¯ä¸ªéƒ¨ä»¶çš„广义惯性力 ($F_r^*$) 和广义主动力 ($F_r$)。在 `CalculateForcesMoments` 中,这些力通常以“å力â€ï¼ˆPartial Forces)和“å力矩â€ï¼ˆPartial Moments)的形å¼å‡ºçŽ°ï¼Œå®ƒä»¬æ˜¯ä½œç”¨åœ¨éƒ¨ä»¶ä¸Šçš„åŠ›/力矩对广义速度的åå¯¼æ•°ã€‚åŒæ—¶ï¼Œä¹Ÿè®¡ç®—了总的力 (`Frc...t`) 和力矩 (`Mom...t`),这些包å«äº†æ‰€æœ‰éžæƒ¯æ€§åŠ›ï¼ˆå¦‚æ°”åŠ¨ã€é‡åŠ›ã€å¤–部载è·ï¼‰ä»¥åŠä¸Žå¹¿ä¹‰åŠ é€Ÿåº¦æ— å…³çš„æƒ¯æ€§åŠ›é¡¹ï¼ˆå¦‚ç§‘é‡Œå¥¥åˆ©åŠ›ã€ç¦»å¿ƒåŠ›ï¼‰ã€‚ + +我们将按照代ç ä¸­è®¡ç®—的顺åºï¼Œä»Žå¶ç‰‡å¼€å§‹ï¼Œé€æ­¥å‘上到平å°ã€‚ + +--- + +### 1. å¶ç‰‡ (Blade) + +**相关å˜é‡ï¼š** `FSTipDrag`, `FSAero`, `MMAero`, `PFrcS0B`, `PMomH0B`, `FrcS0Bt`, `MomH0Bt` + +**计算原ç†ï¼š** + +* **气动力和力矩 (`FSAero`, `MMAero`, `FSTipDrag`):** + * **`FSTipDrag` (å¶å°–阻力):** 代ç ä¸­è¢«åˆå§‹åŒ–为0,但注释表明它原本用于计算å¶å°–刹车产生的阻力。这是一ç§å¤–部主动力。 + * **`FSAero` (å¶ç‰‡æ°”动力) å’Œ `MMAero` (å¶ç‰‡æ°”动力矩):** + * è¿™äº›åŠ›çŸ©æ˜¯æ ¹æ® `u%BladePtLoads` (æ¥è‡ª AeroDyn 模å—çš„å¶ç‰‡ç‚¹è½½è·) 计算的。 + * `RtHSdat%rSAerCen` 计算了从å¶ç‰‡ä¸Šçš„点 S 到气动中心的ä½ç½®çŸ¢é‡ã€‚ + * 如果 `p%UseAD14` 为真(使用 AeroDyn v14),则气动力 `FSAero` 是 `u%BladePtLoads` 的分é‡åœ¨ `CoordSys%te1` å’Œ `CoordSys%te2` æ–¹å‘上的投影,并除以 `p%DRNodes(J)` (å•元长度)。气动力矩 `MMAero` 则包括 `FSAero` 产生的力矩 (`CROSS_PRODUCT( RtHSdat%rSAerCen, RtHSdat%FSAero )`) 和直接作用的俯仰力矩 (`u%BladePtLoads%Moment(3,NodeNum)/p%DRNodes(J) * CoordSys%te3`)。 + * 如果 `p%UseAD14` 为å‡ï¼ˆä½¿ç”¨ AeroDyn v15+),则直接从 `u%BladePtLoads` 获å–力矩分é‡ï¼Œå¹¶è¿›è¡Œå标系转æ¢ã€‚ + * 这些都是作用在å¶ç‰‡ä¸Šçš„外部主动力。 + +* **å¶æ ¹å¤„çš„å力与å力矩 (`PFrcS0B`, `PMomH0B`):** + * 这些是与å¶ç‰‡è‡ªç”±åº¦ç›¸å…³çš„广义惯性力/力矩的组æˆéƒ¨åˆ†ï¼Œåœ¨å¶æ ¹ç‚¹ S(0) 处计算。 + * **åˆå§‹åŒ–:** `PFrcS0B` å’Œ `PMomH0B` 首先被åˆå§‹åŒ–为0。 + * **å¶å°–è´¨é‡è´¡çŒ®ï¼š** é历所有对å¶ç‰‡ `K` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPSE(K)`)。 + * `TmpVec1 = -p%TipMass(K)*RtHSdat%PLinVelES(K,p%TipNode,p%DOFs%PSE(K,I),0,:)`:计算å¶å°–è´¨é‡ `p%TipMass(K)` 产生的惯性å力。这里的 `RtHSdat%PLinVelES` 是å¶å°–çš„å线性速度。 + * `RtHSdat%PFrcS0B` 累加 `TmpVec1`。 + * `RtHSdat%PMomH0B` 累加 `CROSS_PRODUCT( RtHSdat%rS0S(:,K,p%TipNode), TmpVec1 )`,å³å°†å¶å°–惯性ååŠ›å¹³ç§»åˆ°å¶æ ¹ S(0) 产生的å力矩。`RtHSdat%rS0S` æ˜¯ä»Žå¶æ ¹åˆ°å¶å°–çš„ä½ç½®çŸ¢é‡ã€‚ + * **å¶ç‰‡å•元质é‡è´¡çŒ®ï¼š** é历æ¯ä¸ªå¶ç‰‡å•å…ƒ `J` å’Œæ¯ä¸ªç›¸å…³è‡ªç”±åº¦ `I`。 + * `TmpVec1 = -p%BElmntMass(J,K)*RtHSdat%PLinVelES(K,J,p%DOFs%PSE(K,I),0,:)`:计算å¶ç‰‡å•å…ƒè´¨é‡ `p%BElmntMass(J,K)` 产生的惯性å力。 + * `RtHSdat%PFrcS0B` 累加 `TmpVec1`。 + * `RtHSdat%PMomH0B` 累加 `CROSS_PRODUCT( RtHSdat%rS0S(:,K,J), TmpVec1 )`,å³å°†å¶ç‰‡å•元惯性ååŠ›å¹³ç§»åˆ°å¶æ ¹ S(0) 产生的å力矩。 + +* **å¶æ ¹å¤„的总力与总力矩 (`FrcS0Bt`, `MomH0Bt`):** + * è¿™äº›æ˜¯ä½œç”¨åœ¨å¶æ ¹ç‚¹ S(0) 处的总主动力/力矩,包括外部载è·ã€é‡åЛ以åŠä¸Žå¹¿ä¹‰åŠ é€Ÿåº¦æ— å…³çš„æƒ¯æ€§åŠ›ï¼ˆå¦‚ç§‘é‡Œå¥¥åˆ©åŠ›ã€ç¦»å¿ƒåŠ›ï¼‰ã€‚ + * **å¶å°–贡献:** + * `TmpVec1 = RtHSdat%FSTipDrag(:,K) - p%TipMass(K)*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccESt(:,K,p%TipNode) )`:计算å¶å°–的总力。包括å¶å°–阻力ã€å¶å°–è´¨é‡çš„é‡åŠ› (`p%Gravity*CoordSys%z2`) å’Œå¶å°–è´¨é‡çš„æƒ¯æ€§åŠ› (`-p%TipMass(K)*RtHSdat%LinAccESt`)。这里的 `RtHSdat%LinAccESt` 是å¶å°–的总线性加速度。 + * `RtHSdat%FrcS0Bt` 累加 `TmpVec1`。 + * `RtHSdat%MomH0Bt` 累加 `CROSS_PRODUCT( RtHSdat%rS0S(:,K,p%TipNode), TmpVec1 )`,å³å°†å¶å°–æ€»åŠ›å¹³ç§»åˆ°å¶æ ¹ S(0) 产生的总力矩。 + * **å¶ç‰‡å•元贡献:** é历æ¯ä¸ªå¶ç‰‡å•å…ƒ `J`。 + * `TmpVec1 = RtHSdat%FSAero(:,K,J)*p%DRNodes(J) - p%BElmntMass(J,K)*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccESt(:,K,J) )`:计算å¶ç‰‡å•元的总力。包括气动力 (`RtHSdat%FSAero*p%DRNodes(J)`)ã€å•元质é‡çš„é‡åŠ› (`p%Gravity*CoordSys%z2`) å’Œå•元质é‡çš„æƒ¯æ€§åŠ› (`-p%BElmntMass(J,K)*RtHSdat%LinAccESt`)。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rS0S(:,K,J), TmpVec1 )`:将å•å…ƒæ€»åŠ›å¹³ç§»åˆ°å¶æ ¹ S(0) 产生的力矩。 + * `TmpVec3 = RtHSdat%MMAero(:,K,J)*p%DRNodes(J)`:å•元上的总气动力矩。 + * `RtHSdat%FrcS0Bt` 累加 `TmpVec1`。 + * `RtHSdat%MomH0Bt` 累加 `TmpVec2 + TmpVec3`。 + +--- + +### 2. 轮毂 (Hub) + +**相关å˜é‡ï¼š** `PFrcPRot`, `PMomLPRot`, `FrcPRott`, `MomLPRott` + +**计算原ç†ï¼š** + +* **摆振销处的å力与å力矩 (`PFrcPRot`, `PMomLPRot`):** + * 这些是与轮毂自由度相关的广义惯性力/力矩的组æˆéƒ¨åˆ†ï¼Œåœ¨æ‘†æŒ¯é”€ç‚¹ P 处计算。 + * **åˆå§‹åŒ–:** `PFrcPRot` å’Œ `PMomLPRot` 首先被åˆå§‹åŒ–为0。 + * **轮毂质é‡è´¡çŒ®ï¼š** é历所有对轮毂质心 `C` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPCE`)。 + * `TmpVec1 = -p%HubMass*RtHSdat%PLinVelEC(p%DOFs%PCE(I),0,:)`ï¼šè®¡ç®—è½®æ¯‚è´¨é‡ `p%HubMass` 产生的惯性å力。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rPC, TmpVec1 )`:将轮毂惯性å力平移到摆振销 P 产生的å力矩。`RtHSdat%rPC` 是从摆振销 P 到轮毂质心 C çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PFrcPRot` 累加 `TmpVec1`。 + * `RtHSdat%PMomLPRot` 累加 `TmpVec2`,并å‡åŽ»ä¸Žè½®æ¯‚æƒ¯æ€§å¼ é‡ (`p%Hubg1Iner`, `p%Hubg2Iner`) å’Œå角速度 (`RtHSdat%PAngVelEH`) 相关的惯性力矩项。 + * **å¶ç‰‡æ•ˆåº”贡献:** é历所有å¶ç‰‡ `K` 和所有对å¶ç‰‡ `K` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPSE(K)`)。 + * `TmpVec = CROSS_PRODUCT( RtHSdat%rPS0(:,K), RtHSdat%PFrcS0B(:,K,p%DOFs%PSE(K,I)) )`ï¼šå°†å¶æ ¹å¤„çš„å力 `PFrcS0B` 平移到摆振销 P 产生的å力矩。`RtHSdat%rPS0` 是从摆振销 P åˆ°å¶æ ¹ S(0) çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PFrcPRot` 累加 `RtHSdat%PFrcS0B`。 + * `RtHSdat%PMomLPRot` 累加 `RtHSdat%PMomH0B` (å¶æ ¹å¤„çš„å力矩) å’Œ `TmpVec`。 + +* **摆振销处的总力与总力矩 (`FrcPRott`, `MomLPRott`):** + * 这些是作用在摆振销点 P 处的总主动力/力矩。 + * **轮毂质é‡è´¡çŒ®ï¼š** + * `TmpVec1 = -p%HubMass*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccECt )`:计算轮毂质é‡çš„æ€»åŠ›ã€‚åŒ…æ‹¬é‡åŠ› (`p%Gravity*CoordSys%z2`) 和惯性力 (`-p%HubMass*RtHSdat%LinAccECt`)。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rPC, TmpVec1 )`:将轮毂总力平移到摆振销 P 产生的力矩。 + * `TmpVec` å’Œ `TmpVec3` 计算了与轮毂角速度 (`RtHSdat%AngVelEH`) 和惯性张é‡ç›¸å…³çš„科里奥利/离心力矩。 + * `RtHSdat%FrcPRott` 累加 `TmpVec1` å’Œ `u%HubPtLoad%Force` (轮毂外部点载è·)。 + * `RtHSdat%MomLPRott` 累加 `TmpVec2 + TmpVec3`,并å‡åŽ»ä¸Žè½®æ¯‚æƒ¯æ€§å¼ é‡å’Œæ€»è§’加速度 (`RtHSdat%AngAccEHt`) 相关的惯性力矩项,最åŽåŠ ä¸Š `u%HubPtLoad%Moment` (轮毂外部点力矩)。 + * **å¶ç‰‡æ•ˆåº”贡献:** é历所有å¶ç‰‡ `K`。 + * `TmpVec = CROSS_PRODUCT( RtHSdat%rPS0(:,K), RtHSdat%FrcS0Bt(:,K) )`ï¼šå°†å¶æ ¹å¤„的总力 `FrcS0Bt` 平移到摆振销 P 产生的力矩。 + * `RtHSdat%FrcPRott` 累加 `RtHSdat%FrcS0Bt`。 + * `RtHSdat%MomLPRott` 累加 `RtHSdat%MomH0Bt` (å¶æ ¹å¤„的总力矩) å’Œ `TmpVec`。 + +--- + +### 3. 转å­-机舱结构 (Rotor-Furl Structure) å’Œ å‘电机 (Generator) + +**相关å˜é‡ï¼š** `PFrcVGnRt`, `PMomNGnRt`, `FrcVGnRtt`, `MomNGnRtt` + +**计算原ç†ï¼š** + +* **转å­-机舱轴处的å力与å力矩 (`PFrcVGnRt`, `PMomNGnRt`):** + * 这些是与转å­-机舱结构和å‘电机自由度相关的广义惯性力/力矩的组æˆéƒ¨åˆ†ï¼Œåœ¨è½¬å­-机舱轴点 V 处计算。 + * **åˆå§‹åŒ–:** `PFrcVGnRt` å’Œ `PMomNGnRt` 首先被åˆå§‹åŒ–为轮毂/å¶ç‰‡æ•ˆåº”的贡献 (`RtHSdat%PFrcPRot`, `RtHSdat%PMomLPRot`)。 + * **轮毂/å¶ç‰‡æ•ˆåº”平移:** é历所有激活自由度 `I` (`p%DOFs%NActvDOF`)。 + * `TmpVec = CROSS_PRODUCT( RtHSdat%rVP, RtHSdat%PFrcPRot(:,p%DOFs%SrtPS(I)) )`:将摆振销 P 处的å力 `PFrcPRot` 平移到转å­-机舱轴 V 产生的å力矩。`RtHSdat%rVP` 是从转å­-机舱轴 V 到摆振销 P çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PMomNGnRt` 累加 `TmpVec`。 + * **转å­-机舱结构质é‡è´¡çŒ®ï¼š** é历所有对转å­-机舱结构质心 `D` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPDE`)。 + * `TmpVec1 = -p%RFrlMass*RtHSdat%PLinVelED(p%DOFs%PDE(I) ,0,:)`:计算转å­-æœºèˆ±ç»“æž„è´¨é‡ `p%RFrlMass` 产生的惯性å力。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rVD, TmpVec1 )`:将惯性å力平移到转å­-机舱轴 V 产生的å力矩。`RtHSdat%rVD` 是从转å­-机舱轴 V 到质心 D çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PFrcVGnRt` 累加 `TmpVec1`。 + * `RtHSdat%PMomNGnRt` 累加 `TmpVec2`,并å‡åŽ»ä¸Žè½¬å­-æœºèˆ±ç»“æž„æƒ¯æ€§å¼ é‡ (`p%RrfaIner`) å’Œå‘ç”µæœºæƒ¯æ€§å¼ é‡ (`p%GenIner`) 以åŠå„自å角速度相关的惯性力矩项。 + * **å‘电机方ä½è§’自由度贡献:** 如果 `DOF_GeAz` 自由度激活,则å•独添加å‘电机惯性张é‡å’Œå角速度相关的力矩项。 + +* **转å­-机舱轴处的总力与总力矩 (`FrcVGnRtt`, `MomNGnRtt`):** + * 这些是作用在转å­-机舱轴点 V 处的总主动力/力矩。 + * `TmpVec1 = -p%RFrlMass*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccEDt )`:计算转å­-机舱结构质é‡çš„æ€»åŠ›ã€‚ + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rVD , TmpVec1 )`:将总力平移到转å­-机舱轴 V 产生的力矩。 + * `TmpVec3 = CROSS_PRODUCT( RtHSdat%rVP , RtHSdat%FrcPRott )`:将摆振销 P 处的总力 `FrcPRott` 平移到转å­-机舱轴 V 产生的力矩。 + * `TmpVec`ã€`TmpVec4`ã€`TmpVec5` 计算了与转å­-机舱结构和å‘电机角速度和惯性张é‡ç›¸å…³çš„科里奥利/离心力矩。 + * `RtHSdat%FrcVGnRtt` 累加 `RtHSdat%FrcPRott` å’Œ `TmpVec1`。 + * `RtHSdat%MomNGnRtt` 累加 `RtHSdat%MomLPRott`ã€`TmpVec2`ã€`TmpVec3`ã€`TmpVec4`ã€`TmpVec5`,并å‡åŽ»ä¸Žè½¬å­-机舱结构和å‘电机惯性张é‡ä»¥åŠå„自总角加速度相关的惯性力矩项。 + +--- + +### 4. 尾翼 (Tail) + +**相关å˜é‡ï¼š** `PFrcWTail`, `PMomNTail`, `FrcWTailt`, `MomNTailt` + +**计算原ç†ï¼š** + +* **尾翼轴处的å力与å力矩 (`PFrcWTail`, `PMomNTail`):** + * 这些是与尾翼自由度相关的广义惯性力/力矩的组æˆéƒ¨åˆ†ï¼Œåœ¨å°¾ç¿¼è½´ç‚¹ W 处计算。 + * **åˆå§‹åŒ–:** `PFrcWTail` å’Œ `PMomNTail` 首先被åˆå§‹åŒ–为0。 + * **尾翼臂和尾翼质é‡è´¡çŒ®ï¼š** é历所有对尾翼臂质心 `I` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPIE`)。 + * `TmpVec1 = -p%BoomMass*RtHSdat%PLinVelEI(p%DOFs%PIE(I),0,:)`ï¼šè®¡ç®—å°¾ç¿¼è‡‚è´¨é‡ `p%BoomMass` 产生的惯性å力。 + * `TmpVec2 = -p%TFinMass*RtHSdat%PLinVelEJ(p%DOFs%PIE(I),0,:)`ï¼šè®¡ç®—å°¾ç¿¼è´¨é‡ `p%TFinMass` 产生的惯性å力。 + * `TmpVec3 = CROSS_PRODUCT( RtHSdat%rWI, TmpVec1 )`:将尾翼臂惯性å力平移到尾翼轴 W 产生的å力矩。`RtHSdat%rWI` 是从尾翼轴 W 到尾翼臂质心 I çš„ä½ç½®çŸ¢é‡ã€‚ + * `TmpVec4 = CROSS_PRODUCT( RtHSdat%rWJ, TmpVec2 )`:将尾翼惯性å力平移到尾翼轴 W 产生的å力矩。`RtHSdat%rWJ` 是从尾翼轴 W 到尾翼质心 J çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PFrcWTail` 累加 `TmpVec1 + TmpVec2`。 + * `RtHSdat%PMomNTail` 累加 `TmpVec3 + TmpVec4`,并å‡åŽ»ä¸Žå°¾ç¿¼æƒ¯æ€§å¼ é‡ (`p%AtfaIner`) å’Œå角速度 (`RtHSdat%PAngVelEA`) 相关的惯性力矩项。 + +* **尾翼轴处的总力与总力矩 (`FrcWTailt`, `MomNTailt`):** + * 这些是作用在尾翼轴点 W 处的总主动力/力矩。 + * `Force` å’Œ `Moment` æ¥è‡ª `u%TFinCMLoads` (尾翼质心载è·),是外部气动力和力矩。 + * `TmpVec1 = -p%BoomMass*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccEIt )`:计算尾翼臂质é‡çš„æ€»åŠ›ã€‚ + * `TmpVec2 = -p%TFinMass*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccEJt )`:计算尾翼质é‡çš„æ€»åŠ›ã€‚ + * `TmpVec3 = CROSS_PRODUCT( RtHSdat%rWI , TmpVec1 )`:将尾翼臂总力平移到尾翼轴 W 产生的力矩。 + * `TmpVec4 = CROSS_PRODUCT( RtHSdat%rWJ , TmpVec2 )`:将尾翼总力平移到尾翼轴 W 产生的力矩。 + * `TmpVec` å’Œ `TmpVec5` 计算了与尾翼角速度 (`RtHSdat%AngVelEA`) 和惯性张é‡ç›¸å…³çš„科里奥利/离心力矩。 + * `RtHSdat%FrcWTailt` 累加 `Force + TmpVec1 + TmpVec2`。 + * `RtHSdat%MomNTailt` 累加 `Moment + TmpVec3 + TmpVec4 + TmpVec5`,加上 `CROSS_PRODUCT( RtHSdat%rWJ , Force )` (外部力在尾翼轴 W 产生的力矩),并å‡åŽ»ä¸Žå°¾ç¿¼æƒ¯æ€§å¼ é‡å’Œæ€»è§’加速度 (`RtHSdat%AngAccEAt`) 相关的惯性力矩项。 + +--- + +### 5. 机舱 (Nacelle) + +**相关å˜é‡ï¼š** `PFrcONcRt`, `PMomBNcRt`, `FrcONcRtt`, `MomBNcRtt` + +**计算原ç†ï¼š** + +* **å航轴承处的å力与å力矩 (`PFrcONcRt`, `PMomBNcRt`):** + * 这些是与机舱自由度相关的广义惯性力/力矩的组æˆéƒ¨åˆ†ï¼Œåœ¨å航轴承点 O 处计算。 + * **åˆå§‹åŒ–:** `PFrcONcRt` å’Œ `PMomBNcRt` 首先被åˆå§‹åŒ–为转å­-机舱结构和尾翼效应的贡献 (`RtHSdat%PFrcVGnRt + RtHSdat%PFrcWTail`, `RtHSdat%PMomNGnRt + RtHSdat%PMomNTail`)。 + * **转å­-机舱结构效应平移:** é历所有激活自由度 `I` (`p%DOFs%NActvDOF`)。 + * `TmpVec = CROSS_PRODUCT( RtHSdat%rOV, RtHSdat%PFrcVGnRt(:,p%DOFs%SrtPS(I)) )`:将转å­-机舱轴 V 处的å力 `PFrcVGnRt` 平移到å航轴承 O 产生的å力矩。`RtHSdat%rOV` 是从å航轴承 O 到转å­-机舱轴 V çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PMomBNcRt` 累加 `TmpVec`。 + * **尾翼效应平移:** é历所有对尾翼臂质心 `I` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPIE`)。 + * `TmpVec = CROSS_PRODUCT( RtHSdat%rOW, RtHSdat%PFrcWTail(:,p%DOFs%PIE(I) ) )`:将尾翼轴 W 处的å力 `PFrcWTail` 平移到å航轴承 O 产生的å力矩。`RtHSdat%rOW` 是从å航轴承 O 到尾翼轴 W çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PMomBNcRt` 累加 `TmpVec`。 + * **机舱质é‡è´¡çŒ®ï¼š** é历所有对机舱质心 `U` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPUE`)。 + * `TmpVec1 = -p%NacMass*RtHSdat%PLinVelEU(p%DOFs%PUE(I),0,:)`ï¼šè®¡ç®—æœºèˆ±è´¨é‡ `p%NacMass` 产生的惯性å力。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rOU, TmpVec1 )`:将惯性å力平移到å航轴承 O 产生的å力矩。`RtHSdat%rOU` 是从å航轴承 O 到机舱质心 U çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PFrcONcRt` 累加 `TmpVec1`。 + * `RtHSdat%PMomBNcRt` 累加 `TmpVec2`,并å‡åŽ»ä¸Žæœºèˆ±æƒ¯æ€§å¼ é‡ (`p%Nacd2Iner`) å’Œå角速度 (`RtHSdat%PAngVelEN`) 相关的惯性力矩项。 + +* **å航轴承处的总力与总力矩 (`FrcONcRtt`, `MomBNcRtt`):** + * 这些是作用在å航轴承点 O 处的总主动力/力矩。 + * `TmpVec1 = -p%NacMass*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccEUt )`:计算机舱质é‡çš„æ€»åŠ›ã€‚ + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rOU, TmpVec1 )`:将总力平移到å航轴承 O 产生的力矩。 + * `TmpVec3 = CROSS_PRODUCT( RtHSdat%rOV, RtHSdat%FrcVGnRtt )`:将转å­-机舱轴 V 处的总力 `FrcVGnRtt` 平移到å航轴承 O 产生的力矩。 + * `TmpVec4 = CROSS_PRODUCT( RtHSdat%rOW, RtHSdat%FrcWTailt )`:将尾翼轴 W 处的总力 `FrcWTailt` 平移到å航轴承 O 产生的力矩。 + * `TmpVec` 计算了与机舱角速度 (`RtHSdat%AngVelEN`) 和惯性张é‡ç›¸å…³çš„科里奥利/离心力矩。 + * `RtHSdat%FrcONcRtt` 累加 `RtHSdat%FrcVGnRtt`ã€`RtHSdat%FrcWTailt`ã€`TmpVec1` å’Œ `u%NacelleLoads%Force` (机舱外部载è·)。 + * `RtHSdat%MomBNcRtt` 累加 `RtHSdat%MomNGnRtt`ã€`RtHSdat%MomNTailt`ã€`TmpVec2`ã€`TmpVec3`ã€`TmpVec4`,加上 `CROSS_PRODUCT( -RtHSdat%AngVelEN, TmpVec )` (科里奥利/离心力矩),å‡åŽ»ä¸Žæœºèˆ±æƒ¯æ€§å¼ é‡å’Œæ€»è§’加速度 (`RtHSdat%AngAccENt`) 相关的惯性力矩项,最åŽåŠ ä¸Š `u%NacelleLoads%Moment` (机舱外部力矩)。 + +--- + +### 6. 塔架 (Tower) + +**相关å˜é‡ï¼š** `PFTHydro`, `PMFHydro`, `FTHydrot`, `MFHydrot`, `PFrcT0Trb`, `PMomX0Trb`, `FrcT0Trbt`, `MomX0Trbt` + +**计算原ç†ï¼š** + +* **塔架å•元的水动力/外部å力与å力矩 (`PFTHydro`, `PMFHydro`):** + * 这些是作用在æ¯ä¸ªå¡”æž¶å•å…ƒ `J` 上的å力/ååŠ›çŸ©ï¼Œä¸»è¦æ¥è‡ªæ°´åŠ¨åŠ›æˆ–å…¶ä»–å¤–éƒ¨è½½è·ï¼Œå¹¶ä¸Žå¡”架自由度相关的广义惯性力/力矩的组æˆéƒ¨åˆ†ã€‚ + * **åˆå§‹åŒ–:** `PFTHydro` å’Œ `PMFHydro` 首先被åˆå§‹åŒ–为0。 + * **计算:** é历æ¯ä¸ªå¡”æž¶å•å…ƒ `J` 和所有对塔架线性加速度有贡献的自由度 `I` (`p%DOFs%NPTE`)。 + * `PFTHydro` å’Œ `PMFHydro` çš„è®¡ç®—æ¶‰åŠ `u%TwrAddedMass` (塔架附加质é‡çŸ©é˜µ) 和塔架å•元的å线性速度 (`RtHSdat%PLinVelET`) åŠå角速度 (`RtHSdat%PAngVelEF`)。这里的附加质é‡çŸ©é˜µåŒ…å«äº†æ°´åŠ¨åŠ›æ•ˆåº”ã€‚ + * 这些项代表了塔架å•元在å„个自由度方å‘上的水动力/外部å力与å力矩。 + +* **塔架å•元的水动力/外部总力与总力矩 (`FTHydrot`, `MFHydrot`):** + * 这些是作用在æ¯ä¸ªå¡”æž¶å•å…ƒ `J` 上的总主动力/力矩,包括外部载è·ã€é‡åЛ以åŠä¸Žå¹¿ä¹‰åŠ é€Ÿåº¦æ— å…³çš„æƒ¯æ€§åŠ›ã€‚ + * **计算:** é历æ¯ä¸ªå¡”æž¶å•å…ƒ `J`。 + * `FTHydrot` å’Œ `MFHydrot` çš„è®¡ç®—æ¶‰åŠ `u%TowerPtLoads` (塔架点载è·)ã€`u%TwrAddedMass` (塔架附加质é‡çŸ©é˜µ) 以åŠå¡”æž¶å•元的总线性加速度 (`RtHSdat%LinAccETt`) 和总角加速度 (`RtHSdat%AngAccEFt`)。 + * 这些项代表了塔架å•元在å„个自由度方å‘上的水动力/外部总力与总力矩。 + +* **塔基处的å力与å力矩 (`PFrcT0Trb`, `PMomX0Trb`):** + * 这些是与塔架自由度相关的广义惯性力/力矩的组æˆéƒ¨åˆ†ï¼Œåœ¨å¡”基点 T(0) 处计算。 + * **åˆå§‹åŒ–:** `PFrcT0Trb` å’Œ `PMomX0Trb` 首先被åˆå§‹åŒ–为å航轴承以上所有部件的贡献 (`RtHSdat%PFrcONcRt`, `RtHSdat%PMomBNcRt`)。 + * **å航轴承以上部件效应平移:** é历所有激活自由度 `I` (`p%DOFs%NActvDOF`)。 + * `TmpVec = CROSS_PRODUCT( RtHSdat%rT0O, RtHSdat%PFrcONcRt(:,p%DOFs%SrtPS(I)) )`:将å航轴承 O 处的å力 `PFrcONcRt` 平移到塔基 T(0) 产生的å力矩。`RtHSdat%rT0O` 是从塔基 T(0) 到å航轴承 O çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PMomX0Trb` 累加 `TmpVec`。 + * **å航轴承质é‡è´¡çŒ®ï¼š** é历所有对å航轴承质心 `O` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPTE`)。 + * `TmpVec1 = -p%YawBrMass*RtHSdat%PLinVelEO(p%DOFs%PTE(I),0,:)`:计算åèˆªè½´æ‰¿è´¨é‡ `p%YawBrMass` 产生的惯性å力。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rT0O, TmpVec1 )`:将惯性å力平移到塔基 T(0) 产生的å力矩。 + * `RtHSdat%PFrcT0Trb` 累加 `TmpVec1`。 + * `RtHSdat%PMomX0Trb` 累加 `TmpVec2`。 + * **塔架å•元贡献(集æˆï¼‰ï¼š** é历æ¯ä¸ªå¡”æž¶å•å…ƒ `J` 和所有对塔架线性加速度有贡献的自由度 `I` (`p%DOFs%NPTE`)。 + * `TmpVec1 = RtHSdat%PFTHydro(:,J,p%DOFs%PTE(I))*abs(p%DHNodes(J)) - p%TElmntMass(J)*RtHSdat%PLinVelET(J,p%DOFs%PTE(I),0,:)`:计算塔架å•å…ƒ `J` 的总å力。包括水动力/外部å力 (`PFTHydro`) å’Œå•元质é‡çš„æƒ¯æ€§å力。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rT0T(:,J), TmpVec1 )`:将å•元总å力平移到塔基 T(0) 产生的å力矩。`RtHSdat%rT0T` 是从塔基 T(0) 到塔架å•å…ƒ `J` çš„ä½ç½®çŸ¢é‡ã€‚ + * `TmpVec3 = RtHSdat%PMFHydro(:,J,p%DOFs%PTE(I))*abs(p%DHNodes(J))`:å•元上的水动力/外部å力矩。 + * `RtHSdat%PFrcT0Trb` 累加 `TmpVec1`。 + * `RtHSdat%PMomX0Trb` 累加 `TmpVec2 + TmpVec3`。 + +* **塔基处的总力与总力矩 (`FrcT0Trbt`, `MomX0Trbt`):** + * 这些是作用在塔基点 T(0) 处的总主动力/力矩。 + * **åˆå§‹åŒ–:** `FrcT0Trbt` å’Œ `MomX0Trbt` 首先被åˆå§‹åŒ–为å航轴承以上所有部件的贡献 (`RtHSdat%FrcONcRtt`, `RtHSdat%MomBNcRtt`)。 + * **å航轴承质é‡è´¡çŒ®ï¼š** + * `TmpVec1 = -p%YawBrMass*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccEOt )`:计算å航轴承质é‡çš„æ€»åŠ›ã€‚ + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rT0O, TmpVec1 )`:将总力平移到塔基 T(0) 产生的力矩。 + * `TmpVec3 = CROSS_PRODUCT( RtHSdat%rT0O, RtHSdat%FrcONcRtt )`:将å航轴承 O 处的总力 `FrcONcRtt` 平移到塔基 T(0) 产生的力矩。 + * `RtHSdat%FrcT0Trbt` 累加 `TmpVec1`。 + * `RtHSdat%MomX0Trbt` 累加 `TmpVec2 + TmpVec3`。 + * **塔架å•元贡献(集æˆï¼‰ï¼š** é历æ¯ä¸ªå¡”æž¶å•å…ƒ `J`。 + * `TmpVec1 = ( RtHSdat%FTHydrot(:,J) )*abs(p%DHNodes(J)) - p%TElmntMass(J)*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccETt(:,J) )`:计算塔架å•å…ƒ `J` 的总力。包括水动力/外部总力 (`FTHydrot`)ã€å•元质é‡çš„é‡åŠ› (`p%Gravity*CoordSys%z2`) å’Œå•元质é‡çš„æƒ¯æ€§åŠ› (`-p%TElmntMass(J)*RtHSdat%LinAccETt`)。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rT0T(:,J), TmpVec1 )`:将å•元总力平移到塔基 T(0) 产生的力矩。 + * `TmpVec3 = ( RtHSdat%MFHydrot(:,J) )*abs(p%DHNodes(J))`:å•元上的水动力/外部总力矩。 + * `RtHSdat%FrcT0Trbt` 累加 `TmpVec1`。 + * `RtHSdat%MomX0Trbt` 累加 `TmpVec2 + TmpVec3`。 + +--- + +### 7. å¹³å° (Platform) + +**相关å˜é‡ï¼š** `PFZHydro`, `PMXHydro`, `FZHydrot`, `MXHydrot`, `PFrcZAll`, `PMomXAll`, `FrcZAllt`, `MomXAllt` + +**计算原ç†ï¼š** + +* **平尿°´åŠ¨åŠ›/外部å力与å力矩 (`PFZHydro`, `PMXHydro`):** + * 这些是作用在平å°å‚考点 Z 处的å力/ååŠ›çŸ©ï¼Œä¸»è¦æ¥è‡ªæ°´åŠ¨åŠ›æˆ–å…¶ä»–å¤–éƒ¨è½½è·ï¼Œå¹¶ä¸Žå¹³å°è‡ªç”±åº¦ç›¸å…³çš„广义惯性力/力矩的组æˆéƒ¨åˆ†ã€‚ + * **åˆå§‹åŒ–:** `PFZHydro` å’Œ `PMXHydro` 首先被åˆå§‹åŒ–为0。 + * **计算:** é历所有对平å°è´¨å¿ƒ `Y` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPYE`)。 + * `PFZHydro` å’Œ `PMXHydro` çš„è®¡ç®—æ¶‰åŠ `u%PtfmAddedMass` (å¹³å°é™„加质é‡çŸ©é˜µ) 以åŠå¹³å°çš„å线性速度 (`RtHSdat%PLinVelEZ`) å’Œå角速度 (`RtHSdat%PAngVelEX`)。 + +* **平尿°´åŠ¨åŠ›/外部总力与总力矩 (`FZHydrot`, `MXHydrot`):** + * 这些是作用在平å°å‚考点 Z 处的总主动力/力矩,包括外部载è·ã€é‡åЛ以åŠä¸Žå¹¿ä¹‰åŠ é€Ÿåº¦æ— å…³çš„æƒ¯æ€§åŠ›ã€‚ + * **计算:** + * `FZHydrot` å’Œ `MXHydrot` çš„è®¡ç®—æ¶‰åŠ `u%PlatformPtMesh%Force` (å¹³å°ç‚¹è½½è·)ã€`u%PlatformPtMesh%Moment` (å¹³å°ç‚¹åŠ›çŸ©) 以åŠå¹³å°çš„å线性速度 (`RtHSdat%PLinVelEZ`) å’Œå角速度 (`RtHSdat%PAngVelEX`)。 + +* **å¹³å°å‚考点处的总å力与å力矩 (`PFrcZAll`, `PMomXAll`):** + * 这些是整个风力涡轮机系统在平å°å‚考点 Z 处的总广义惯性力/力矩的组æˆéƒ¨åˆ†ã€‚ + * **åˆå§‹åŒ–:** `PFrcZAll` å’Œ `PMomXAll` 首先被åˆå§‹åŒ–为塔基以上所有部件的贡献 (`RtHSdat%PFrcT0Trb`, `RtHSdat%PMomX0Trb`)。 + * **塔架效应平移:** é历所有激活自由度 `I` (`p%DOFs%NActvDOF`)。 + * `TmpVec = CROSS_PRODUCT( RtHSdat%rZT0, RtHSdat%PFrcT0Trb(:,p%DOFs%SrtPS(I)) )`:将塔基 T(0) 处的å力 `PFrcT0Trb` 平移到平å°å‚考点 Z 产生的å力矩。`RtHSdat%rZT0` 是从平å°å‚考点 Z 到塔基 T(0) çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PMomXAll` 累加 `TmpVec`。 + * **å¹³å°è´¨é‡è´¡çŒ®ï¼š** é历所有对平å°è´¨å¿ƒ `Y` 线性加速度有贡献的自由度 `I` (`p%DOFs%NPYE`)。 + * `TmpVec1 = -p%PtfmMass*RtHSdat%PLinVelEY(p%DOFs%PYE(I),0,:)`:计算平å°è´¨é‡ `p%PtfmMass` 产生的惯性å力。 + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rZY , TmpVec1 )`:将惯性å力平移到平å°å‚考点 Z 产生的å力矩。`RtHSdat%rZY` 是从平å°å‚考点 Z 到平å°è´¨å¿ƒ Y çš„ä½ç½®çŸ¢é‡ã€‚ + * `RtHSdat%PFrcZAll` 累加 `RtHSdat%PFZHydro(p%DOFs%PYE(I),:) + TmpVec1`。 + * `RtHSdat%PMomXAll` 累加 `RtHSdat%PMXHydro(p%DOFs%PYE(I),:) + TmpVec2`,并å‡åŽ»ä¸Žå¹³å°æƒ¯æ€§å¼ é‡ (`p%PtfmRIner`, `p%PtfmYIner`, `p%PtfmPIner`) å’Œå角速度 (`RtHSdat%PAngVelEX`) 相关的惯性力矩项。 + +* **å¹³å°å‚考点处的总力与总力矩 (`FrcZAllt`, `MomXAllt`):** + * 这些是整个风力涡轮机系统在平å°å‚考点 Z 处的总主动力/力矩。 + * `TmpVec1 = -p%PtfmMass*( p%Gravity*CoordSys%z2 + RtHSdat%LinAccEYt )`:计算平å°è´¨é‡çš„æ€»åŠ›ã€‚ + * `TmpVec2 = CROSS_PRODUCT( RtHSdat%rZY , TmpVec1 )`:将总力平移到平å°å‚考点 Z 产生的力矩。 + * `TmpVec3 = CROSS_PRODUCT( RtHSdat%rZT0 , RtHSdat%FrcT0Trbt )`:将塔基 T(0) 处的总力 `FrcT0Trbt` 平移到平å°å‚考点 Z 产生的力矩。 + * `TmpVec` å’Œ `TmpVec4` 计算了与平å°è§’速度 (`RtHSdat%AngVelEX`) 和惯性张é‡ç›¸å…³çš„科里奥利/离心力矩。 + * `RtHSdat%FrcZAllt` 累加 `RtHSdat%FrcT0Trbt + RtHSdat%FZHydrot + TmpVec1`。 + * `RtHSdat%MomXAllt` 累加 `RtHSdat%MomX0Trbt + RtHSdat%MXHydrot + TmpVec2 + TmpVec3 + TmpVec4`。 + +--- + +**总结:** + +整个 `CalculateForcesMoments` å­ç¨‹åºä¸¥æ ¼éµå¾ªå‡¯æ©æ–¹æ³•的结构,通过以下步骤构建系统的è¿åŠ¨æ–¹ç¨‹ï¼š + +1. **分解:** 将夿‚的风力涡轮机系统分解为多个相互连接的刚体或柔性体å•元。 +2. **è¿åŠ¨å­¦ï¼š** 在其他模å—中计算æ¯ä¸ªéƒ¨ä»¶çš„线速度ã€è§’速度ã€çº¿åŠ é€Ÿåº¦å’Œè§’åŠ é€Ÿåº¦ï¼Œä»¥åŠå®ƒä»¬å¯¹å¹¿ä¹‰é€Ÿåº¦çš„å导数(å速度和å角速度)。 +3. **力/力矩计算:** + * **广义惯性力/力矩:** 通过将部件的质é‡/惯性张é‡ä¸Žå速度/å角速度(或总加速度)相乘,并进行适当的å‰ä¹˜ï¼ˆåŠ›çŸ©å¹³ç§»ï¼‰ï¼Œè®¡ç®—ä¸Žå¹¿ä¹‰åŠ é€Ÿåº¦ç›¸å…³çš„æƒ¯æ€§åŠ›çŸ©é¡¹ï¼ˆ`PFrc...` å’Œ `PMom...` 系列å˜é‡ï¼‰ä»¥åŠä¸Žå¹¿ä¹‰é€Ÿåº¦å¹³æ–¹ç›¸å…³çš„æƒ¯æ€§åŠ›çŸ©é¡¹ï¼ˆç§‘é‡Œå¥¥åˆ©åŠ›ã€ç¦»å¿ƒåŠ›ï¼Œä½“çŽ°åœ¨ `Frc...t` å’Œ `Mom...t` 系列å˜é‡ä¸­ï¼‰ã€‚ + * **广义主动力/力矩:** 收集所有外部作用力(气动ã€é‡åŠ›ã€æ°´åŠ¨åŠ›ã€å¤–部点载è·ç­‰ï¼‰ï¼Œå¹¶å°†å…¶é€šè¿‡å速度/åè§’é€Ÿåº¦æŠ•å½±åˆ°å¹¿ä¹‰åæ ‡ç³»ä¸­ã€‚ +4. **集æˆï¼š** 从最末端的部件(å¶ç‰‡ï¼‰å¼€å§‹ï¼Œé€çº§å‘上将所有部件的力和力矩贡献累加到系统的关键å‚考点,最终得到整个系统在平å°å‚考点处的总广义力和广义力矩。 + +è¿™äº›è®¡ç®—å‡ºçš„å¹¿ä¹‰åŠ›å’Œå¹¿ä¹‰åŠ›çŸ©å°†ä½œä¸ºå‡¯æ©æ–¹ç¨‹çš„å³ä¾§é¡¹ï¼Œç”¨äºŽæ±‚解系统的广义加速度,从而进行风力涡轮机的动æ€ä»¿çœŸã€‚ +[Timestamp: 2026/01/26 11:30:48] \ No newline at end of file diff --git a/多体+è€¦åˆæ±‚解器/风机模型åŠaugmat_matrix.excalidraw.md b/多体+è€¦åˆæ±‚解器/风机模型åŠaugmat_matrix.excalidraw.md index 3ced5cb..a2c0abd 100644 --- a/多体+è€¦åˆæ±‚解器/风机模型åŠaugmat_matrix.excalidraw.md +++ b/多体+è€¦åˆæ±‚解器/风机模型åŠaugmat_matrix.excalidraw.md @@ -7653,48 +7653,14 @@ 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 - -DgABEuAp1gILgMAACDwAgIAgAAA= +AA== ``` %% \ No newline at end of file