From ed20f7ef1e2934772e1c6ca089d5ad3a59331f40 Mon Sep 17 00:00:00 2001 From: yz Date: Fri, 16 May 2025 09:18:09 +0800 Subject: [PATCH 1/5] vault backup: 2025-05-16 09:18:05 --- ... uae wind turbine for refinement of fast_ad.md | 25 +++++++++++++++---- 工作OKRs/xxx.md | 3 +++ 杂项/NV显卡显存占用查看 ollama清理显存.md | 5 ++++ 杂项/NV显卡显存占用查看.md | 1 - 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 工作OKRs/xxx.md create mode 100644 杂项/NV显卡显存占用查看 ollama清理显存.md delete mode 100644 杂项/NV显卡显存占用查看.md diff --git a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md index b952f0a..3af48e2 100644 --- a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md +++ b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md @@ -747,8 +747,10 @@ In turbulent conditions, the extended flow field around the rotor cannot react p Once wind-inflow conditions are correlated to applied loads on the wind turbine, structural models are needed to accurately predict and understand the complex interactions between their dynamically active members. Accurate structural models are thus essential to successfully design and analyze wind energy systems. -The subsequent analysis develops the fundamental structural models employed in the FAST_AD design code for two-bladed HAWTs. The modifications needed to extend the model to threebladed HAWTS are beyond the scope of this work. Wind turbine geometry, coordinate systems, and degrees of freedom (DOFs) are first discussed in section 3.1. Since FAST_AD models the blades and tower as flexible bodies, their deflections are presented next in section 3.2. Expressions relating to the kinematics and kinetics of wind turbine motion are developed in sections 3.3 and 3.4, respectively. Finally, Kane’s equations of motion, which describe the force-acceleration relationships of the entire wind turbine system, are presented in section 3.5. Discrepancies between the models developed herein and those given by Wilson et al. (1999) and implemented in the FAST_AD design code and the Modes preprocessor code are noted using footnotes where appropriate. This chapter is devoted entirely to the structural models employed in the FAST_AD design code. Structural models, such as the commonly used equivalent-springhinge models of flexible blades, though simpler, are beyond the scope of this work. +The subsequent analysis develops the fundamental structural models employed in the FAST_AD design code for two-bladed HAWTs. The modifications needed to extend the model to three bladed HAWTS are beyond the scope of this work. Wind turbine geometry, coordinate systems, and degrees of freedom (DOFs) are first discussed in section 3.1. Since FAST_AD models the blades and tower as flexible bodies, their deflections are presented next in section 3.2. Expressions relating to the kinematics and kinetics of wind turbine motion are developed in sections 3.3 and 3.4, respectively. Finally, Kane’s equations of motion, which describe the force-acceleration relationships of the entire wind turbine system, are presented in section 3.5. Discrepancies between the models developed herein and those given by Wilson et al. (1999) and implemented in the FAST_AD design code and the Modes preprocessor code are noted using footnotes where appropriate. This chapter is devoted entirely to the structural models employed in the FAST_AD design code. Structural models, such as the commonly used equivalent-spring-hinge models of flexible blades, though simpler, are beyond the scope of this work. +一旦风速流入条件与风力涡轮机的载荷相关联,就需要结构模型来准确预测和理解其动态活动部件之间的复杂相互作用。因此,准确的结构模型对于成功设计和分析风能系统至关重要。 +后续分析阐述了FAST_AD设计代码中用于两叶片水平轴风力涡轮机的基本结构模型。将该模型扩展到三叶片水平轴风力涡轮机所需的修改超出了本工作的范围。风力涡轮机的几何形状、坐标系和自由度(DOFs)首先在第3.1节中讨论。由于FAST_AD将叶片和塔架建模为柔性体,因此它们的挠曲变形在第3.2节中介绍。关于风力涡轮机运动的运动学和动力学关系的表达式分别在第3.3节和第3.4节中推导。最后,第3.5节介绍了描述整个风力涡轮机系统力-加速度关系的Kane运动方程。使用脚注标明本文开发的模型与Wilson et al. (1999) 给出的模型以及在FAST_AD设计代码和Modes预处理器代码中实现的模型的差异。本章完全致力于FAST_AD设计代码中使用的结构模型。诸如常用的柔性叶片的等效弹簧铰链模型之类的结构模型,虽然更简单,但超出了本工作的范围。 # 3.1 Geometry, Coordinate Systems, and Degrees of Freedom The FAST_AD design code models a wind turbine structurally as a combination of six rigid and four flexible members. The six rigid bodies are the Earth, nacelle, tower-top base plate, armature, hub, and gears. The four flexible bodies are the two blades, tower, and drive shaft. The model connects these bodies through 15 DOFs. Blade deflections account for six DOFs: two arise from the first flapwise, two from the second flapwise, and two from the first edgewise natural vibration mode of each blade. Tower deflections account for four DOFs: the first two natural vibration modes in each longitudinal and lateral direction. Rotor teeter, rotor speed variation, drive train flexibility, and nacelle yaw and tilt account for the remaining five DOFs. Each blade can be regarded as having a structural pretwist, but no torsional freedom is modeled. @@ -756,7 +758,11 @@ The FAST_AD design code models a wind turbine structurally as a combination of s FAST_AD employs several reference frames for ease in conceptualizing geometry and developing kinematics and kinetics expressions. Most reference frames, corresponding to a coordinate system formed by a dextral set of orthogonal unit vectors (denoted by a bold lowercase script letter) are fixed in one of the rigid bodies (denoted by an uppercase character). These coordinate systems are listed in Table $3.1^{7}$ . A number of points on the wind turbine are also labeled for convenience. These are listed in Table 3.2. +FAST_AD 设计代码将风力发电机结构建模为一个由六个刚体和四个柔性构件的组合。这六个刚体分别是:地球、机舱、塔顶底板、转子臂、轮毂和齿轮箱。四个柔性构件分别是:两叶片、塔筒和驱动轴。该模型通过 15 个自由度 (DOF) 将这些构件连接起来。叶片挠曲占据六个自由度:每个叶片的第一种翼向自然振动模式产生两个自由度,第二种翼向自然振动模式也产生两个自由度,第一种纵向自然振动模式也产生两个自由度。塔筒挠曲占据四个自由度:每个纵向和横向方向上的前两种自然振动模式。旋转倾覆、转子转速变化、驱动系柔性和机舱偏航和俯仰占据剩余的五个自由度。每片叶片可以被视为具有结构预扭,但没有模拟扭转自由度。 +FAST_AD 采用多个参考坐标系,以便于概念化几何形状,并开发运动学和动力学表达式。大多数参考坐标系对应于由一组正交单位向量(用粗体小写字母表示)形成的坐标系,并且固定在其中一个刚体上(用大写字母表示)。 + +这些坐标系列在表 3.17 中。风力发电机上的许多点也被标记,以便使用。这些点列在表 3.2 中。 Table 3.1: Coordinate System Descriptions7 @@ -787,7 +793,9 @@ Table 3.5: Other Distance Variables Relationships between the various coordinate systems, points, DOFs, and other angles and distances are illustrated graphically in Fig. 3.1. FAST_AD employs the convention that downwind displacements are positive displacements. In FAST_AD, the bottom part of the tower can be modeled as rigid to a height $H_{S}$ ; thus, the length of the flexible part of the tower, $H.$ is defined as: +图 3.1 详细地用图形方式说明了各个坐标系、点、自由度 (DOF) 之间的关系,以及其他角度和距离。FAST_AD 采用的惯例是,顺风位移为正位移。 +在 FAST_AD 中,塔的底部可以被建模为刚性,高度为 $H_{S}$;因此,塔的柔性部分的长度,$H$,定义如下: $$ H=H_{H}-T W R H T O F F S E T-H_{S} $$ @@ -795,7 +803,9 @@ $$ where $H_{H}$ is the elevation of the hub (hub height) relative to the Earth’s surface and TWRHTOFFSET is the vertical distance between the hub and the tower-top base plate, both specified while assuming that the tower deflection and nacelle tilt are negligible. The sums of the tip deflections for both natural modes in the longitudinal and lateral deflections form the total longitudinal and lateral displacements of the tower-top base plate, $u_{7}$ and $u_{\delta.}$ , respectively: +其中,$H_{H}$ 为塔毂(毂高)相对于地球表面的高度,TWRHTOFFSET 为塔毂与塔顶底板之间的垂直距离,两者均在假设塔架挠度和机舱倾斜可忽略的情况下指定。 +塔顶底板的纵向和横向总位移(分别为 $u_{7}$ 和 $u_{\delta}$)是两个自然模式下塔尖挠度的总和: $$ u_{7}=q_{7}+q_{9} $$ @@ -803,7 +813,7 @@ $$ and $$ -u_{\delta}=q_{\delta}+q_{I\partial} +u_{8}=q_{8}+q_{10} $$ ![](d7aaefcc2ec24837a4766f274d6c0c8509183d389972a23361280170a027ebf2.jpg) @@ -812,16 +822,21 @@ Figure 3.1: FAST_AD coordinate system illustrations Since the generalized coordinates associated with the tip deflections are functions of time, so too are the total longitudinal and lateral displacements of the tower-top base plate. In section 3.2, dealing with deflections of the tower and blades, the assumption is employed that the deflections are small. With this assumption, the tower-top rotations in both the longitudinal and lateral directions, $\theta_{7}$ and $\theta_{8}$ respectively, can be approximated: +由于与塔尖挠度相关的广义坐标是时间的函数,因此塔顶底板的总纵向和横向位移也是时间的函数。 + +在第3.2节中,关于塔和叶片的挠度分析时,采用挠度较小的假设。基于此假设,塔顶在纵向和横向方向上的旋转,分别表示为 $\theta_{7}$ 和 $\theta_{8}$,可以近似为: $$ -\theta_{7}=-\Bigg(\frac{d\phi_{_{I T}}(h)}{d h}_{_{h=H}}q_{7}+\frac{d\phi_{_{2T}}(h)}{d h}\biggl|_{h=H}q_{9}\Bigg) +\theta_{7}=-\Bigg(\frac{d\phi_{_{1 T}}(h)}{d h}\biggl|_{h=H}q_{7}+\frac{d\phi_{_{2T}}(h)}{d h}\biggl|_{h=H}q_{9}\Bigg) $$ $$ -\theta_{\vartheta}=\frac{d\phi_{_{I T}}(h)}{d h}\bigg\vert_{h=H}q_{\vartheta}+\frac{d\phi_{_{2T}}(h)}{d h}\bigg\vert_{h=H}q_{I\0} +\theta_{8}=\frac{d\phi_{_{1 T}}(h)}{d h}\bigg\vert_{h=H}q_{8}+\frac{d\phi_{_{2T}}(h)}{d h}\bigg\vert_{h=H}q_{10} $$ -where $\phi_{l T}(h)$ and $\phi_{2T}(h)$ are the first and second natural mode shapes of the tower, respectively. In these expressions, the elevation along the flexible part of the tower, $h$ , ranges from zero to $H.$ . Note that $h$ equals zero at an elevation of $H_{S}$ relative to the Earth’s surface. Also, the derivatives of the mode shapes are evaluated at an elevation of $h=H$ as indicated. The derivation of these natural mode shapes of the tower is presented in section 3.2 where the tower is assumed to deflect in the longitudinal and lateral directions independently; yet, the natural mode shapes in each direction are assumed to be identical in each direction. The negative sign is present in Eq. (3.4) since positive longitudinal displacements of the tower-top base plate tend to rotate the base plate about the negative ${\pmb a}_{3}$ -axis. The generalized coordinates associated with the tip deflections are functions of time; so are the longitudinal and lateral tower-top rotations of the plate. +where $\phi_{1 T}(h)$ and $\phi_{2T}(h)$ are the first and second natural mode shapes of the tower, respectively. In these expressions, the elevation along the flexible part of the tower, $h$ , ranges from zero to $H.$ . Note that $h$ equals zero at an elevation of $H_{S}$ relative to the Earth’s surface. Also, the derivatives of the mode shapes are evaluated at an elevation of $h=H$ as indicated. The derivation of these natural mode shapes of the tower is presented in section 3.2 where the tower is assumed to deflect in the longitudinal and lateral directions independently; yet, the natural mode shapes in each direction are assumed to be identical in each direction. The negative sign is present in Eq. (3.4) since positive longitudinal displacements of the tower-top base plate tend to rotate the base plate about the negative ${\pmb a}_{3}$ -axis. The generalized coordinates associated with the tip deflections are functions of time; so are the longitudinal and lateral tower-top rotations of the plate. + +其中 $\phi_{1 T}(h)$ 和 $\phi_{2T}(h)$ 分别是塔的第一个和第二个固有振型。 在这些表达式中,塔柔性部分沿高度方向的坐标 $h$ 从零到 $H$ 变化。需要注意的是,$h$ 在相对于地球表面的高度 $H_{S}$ 时等于零。 此外,振型的导数在高度 $h=H$ 处进行评估,如所示。 这些塔的固有振型的推导见第 3.2 节,其中假设塔在纵向和横向方向上独立挠曲;然而,假设每个方向的固有振型在每个方向上是相同的。 方程 (3.4) 中存在负号,因为塔顶底板的正向纵向位移倾向于使底板绕负 ${\pmb a}_{3}$ 轴旋转。 与塔尖挠度相关的广义坐标是时间的函数;塔顶底板的纵向和横向旋转也是时间的函数。 Attached to the tower-top base plate is a yaw bearing (O). The yaw bearing allows everything atop the tower to rotate $\left(q_{\delta}\right)$ as winds change direction. The yaw bearing also has the flexibility to allow everything atop the tower to tilt $(q_{\cal S})$ when responding to wind loads. The nacelle houses the generator and gearbox and supports the rotor. The center of mass of the nacelle (D) is related to the tower-top base plate by the position vector $r^{O D10}$ : diff --git a/工作OKRs/xxx.md b/工作OKRs/xxx.md new file mode 100644 index 0000000..71ecb50 --- /dev/null +++ b/工作OKRs/xxx.md @@ -0,0 +1,3 @@ + +自主开发基于Python的风电机组叶片气动设计软件,实现稳态叶素动量理论(BEM)方法的全自主实现。该软件在气动性能评估精度上达到行业主流软件Bladed的水平相当,构建高自由度叶片外形控制点体系。采用多目标优化算法确保各叶素截面工作在最优攻角区间。软件架构采用模块化设计思想,集成多线程并行计算框架,显著缩短复杂叶片的优化设计周期。应用于16MW级叶片气动设计,气动性能满足设计要求。 +自主开发基于Rust语言的风电机组多体动力学求解器,实现从基础结构到关键柔性部件(叶片、塔架)的全系统建模能力,支持固定式与漂浮式风电机组的多场景仿真。采用多体系统动力学理论建立风电机组各部件(塔架、叶片、机舱等)的运动学与动力学方程,考虑柔性体的模态分解与刚柔耦合效应。该求解器采用完全自主知识产权的算法框架,基于Rust语言的内存安全机制与高性能编译特性,实现代码自主可控,计算精度达到国际主流软件OpenFAST的同等水平。通过理论建模、算法开发实现了多体动力学理论在风电工程中的深度落地。 diff --git a/杂项/NV显卡显存占用查看 ollama清理显存.md b/杂项/NV显卡显存占用查看 ollama清理显存.md new file mode 100644 index 0000000..bd4f8d7 --- /dev/null +++ b/杂项/NV显卡显存占用查看 ollama清理显存.md @@ -0,0 +1,5 @@ +nvidia-smi + +ollama list +ollama ps +ollama stop \ No newline at end of file diff --git a/杂项/NV显卡显存占用查看.md b/杂项/NV显卡显存占用查看.md deleted file mode 100644 index b623e40..0000000 --- a/杂项/NV显卡显存占用查看.md +++ /dev/null @@ -1 +0,0 @@ -nvidia-smi \ No newline at end of file From b4e86db20af793289eeee0be408d937e36985469 Mon Sep 17 00:00:00 2001 From: yz Date: Fri, 16 May 2025 15:09:08 +0800 Subject: [PATCH 2/5] vault backup: 2025-05-16 15:09:06 --- 多体+耦合求解器/稳态停机载荷/Bladed.md | 27 ++++++++++++++++++ .../auto/Control of variable speed pitch turbine.md | 0 .../Control of variable speed pitch turbine_origin.pdf | Bin ...960bb63b3d4ac35e9033af86604ef84c74a6bba936f5c2941cd.jpg | Bin .../{ => 稳态运行载荷}/Steady 多体计算.md | 0 .../steady power curve Operational loads 控制.md | 0 .../{ => 稳态运行载荷}/steady控制算法.excalidraw.md | 0 .../转速变桨角控制曲线/图像 001.png | Bin .../转速变桨角控制曲线/图像 002.png | Bin .../转速变桨角控制曲线/图像 003.png | Bin .../转速变桨角控制曲线/图像 004.png | Bin .../转速变桨角控制曲线/图像 005.png | Bin .../转速变桨角控制曲线/图像 006.png | Bin 工作OKRs/25.2-5 OKR.canvas | 6 ++-- 工作总结/周报/周报76-郭翼泽.docx | Bin 20443 -> 22559 bytes 工作总结/周报/周报77-郭翼泽.docx | Bin 0 -> 20387 bytes 16 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 多体+耦合求解器/稳态停机载荷/Bladed.md rename 多体+耦合求解器/{ => 稳态运行载荷}/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine.md (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine_origin.pdf (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/Control of variable speed pitch turbine/auto/images/2f94874fe734e960bb63b3d4ac35e9033af86604ef84c74a6bba936f5c2941cd.jpg (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/Steady 多体计算.md (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/steady power curve Operational loads 控制.md (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/steady控制算法.excalidraw.md (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/转速变桨角控制曲线/图像 001.png (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/转速变桨角控制曲线/图像 002.png (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/转速变桨角控制曲线/图像 003.png (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/转速变桨角控制曲线/图像 004.png (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/转速变桨角控制曲线/图像 005.png (100%) rename 多体+耦合求解器/{ => 稳态运行载荷}/转速变桨角控制曲线/图像 006.png (100%) create mode 100644 工作总结/周报/周报77-郭翼泽.docx diff --git a/多体+耦合求解器/稳态停机载荷/Bladed.md b/多体+耦合求解器/稳态停机载荷/Bladed.md new file mode 100644 index 0000000..c4ce984 --- /dev/null +++ b/多体+耦合求解器/稳态停机载荷/Bladed.md @@ -0,0 +1,27 @@ + + +Steady parked loads (see 7.10): Loads on the parked turbine are calculated in steady wind. As the blade position is specified, the wind field need not be spatially uniform. +静止泊堆载荷(见 7.10):泊置涡轮机的载荷计算基于稳态风速。由于叶片位置已确定,风场不必具有空间均匀性。 +# Steady parked loads calculation +This calculation generates wind turbine loads for a parked rotor in steady winds. This optionally includes blade, tower and other loads - see Output Control (see 7.21). +Use the Steady parked loads screen (see 7.5) to define the following parameters for the calculation: +• Steady wind speed: note that although the wind speed is steady, it need not be spatially uniform. +• Azimuth angle: the rotor azimuth position; zero means that blade 1 is pointing vertically upwards. +• Yaw angle: the nacelle angle measured clockwise from North, assuming that the wind is blowing from the North: see wind direction (see 6.9). +• Wind inclination: for non-horizontal wind flows (e.g. on the side of a hill). A positive value indicates a rising wind. +• Pitch angle: the pitch angle or aileron/flap/airbrake deployment angle - see Rotor (see 4.1). +The calculation also allows a sweep through any one of the four above angles, i.e. azimuth, yaw, wind inclination or pitch angle. Use Parameter to vary to define which angle will vary. The sweep start at the value specified above for that parameter. Specify End value to define the end of the sweep, and Step to define the step size. + +# 稳态停机载荷计算 + +此计算生成停机转子在稳态风中的载荷。 可选地,包括叶片、塔架和其他载荷 - 参见输出控制 (参见 7.21)。 + +使用“稳态停机载荷”屏幕 (参见 7.5) 定义以下参数: + +• 稳态风速:请注意,虽然风速是稳态的,但它不必在空间上均匀。 +• 方位角:转子的方位位置;零表示叶片 1 指向垂直向上。 +• 偏航角:从北向顺时针测量的吊舱角,假设风从北吹来 - 参见风向 (参见 6.9)。 +• 风倾角:用于非水平风流(例如,山坡上)。 正值表示风向上升。 +• 迎角:迎角或副翼/襟翼/气动刹车展开角 - 参见转子 (参见 4.1)。 + +该计算还允许对上述四个角度中的任何一个进行扫描,即方位角、偏航角、风倾角或迎角。 使用“参数变化”定义将变化的那个角度。 扫描从上述该参数的值开始。 指定“结束值”定义扫描的结束,并指定“步长”定义步长大小。 \ No newline at end of file diff --git a/多体+耦合求解器/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine.md b/多体+耦合求解器/稳态运行载荷/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine.md similarity index 100% rename from 多体+耦合求解器/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine.md rename to 多体+耦合求解器/稳态运行载荷/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine.md diff --git a/多体+耦合求解器/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine_origin.pdf b/多体+耦合求解器/稳态运行载荷/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine_origin.pdf similarity index 100% rename from 多体+耦合求解器/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine_origin.pdf rename to 多体+耦合求解器/稳态运行载荷/Control of variable speed pitch turbine/auto/Control of variable speed pitch turbine_origin.pdf diff --git a/多体+耦合求解器/Control of variable speed pitch turbine/auto/images/2f94874fe734e960bb63b3d4ac35e9033af86604ef84c74a6bba936f5c2941cd.jpg b/多体+耦合求解器/稳态运行载荷/Control of variable speed pitch turbine/auto/images/2f94874fe734e960bb63b3d4ac35e9033af86604ef84c74a6bba936f5c2941cd.jpg similarity index 100% rename from 多体+耦合求解器/Control of variable speed pitch turbine/auto/images/2f94874fe734e960bb63b3d4ac35e9033af86604ef84c74a6bba936f5c2941cd.jpg rename to 多体+耦合求解器/稳态运行载荷/Control of variable speed pitch turbine/auto/images/2f94874fe734e960bb63b3d4ac35e9033af86604ef84c74a6bba936f5c2941cd.jpg diff --git a/多体+耦合求解器/Steady 多体计算.md b/多体+耦合求解器/稳态运行载荷/Steady 多体计算.md similarity index 100% rename from 多体+耦合求解器/Steady 多体计算.md rename to 多体+耦合求解器/稳态运行载荷/Steady 多体计算.md diff --git a/多体+耦合求解器/steady power curve Operational loads 控制.md b/多体+耦合求解器/稳态运行载荷/steady power curve Operational loads 控制.md similarity index 100% rename from 多体+耦合求解器/steady power curve Operational loads 控制.md rename to 多体+耦合求解器/稳态运行载荷/steady power curve Operational loads 控制.md diff --git a/多体+耦合求解器/steady控制算法.excalidraw.md b/多体+耦合求解器/稳态运行载荷/steady控制算法.excalidraw.md similarity index 100% rename from 多体+耦合求解器/steady控制算法.excalidraw.md rename to 多体+耦合求解器/稳态运行载荷/steady控制算法.excalidraw.md diff --git a/多体+耦合求解器/转速变桨角控制曲线/图像 001.png b/多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 001.png similarity index 100% rename from 多体+耦合求解器/转速变桨角控制曲线/图像 001.png rename to 多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 001.png diff --git a/多体+耦合求解器/转速变桨角控制曲线/图像 002.png b/多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 002.png similarity index 100% rename from 多体+耦合求解器/转速变桨角控制曲线/图像 002.png rename to 多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 002.png diff --git a/多体+耦合求解器/转速变桨角控制曲线/图像 003.png b/多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 003.png similarity index 100% rename from 多体+耦合求解器/转速变桨角控制曲线/图像 003.png rename to 多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 003.png diff --git a/多体+耦合求解器/转速变桨角控制曲线/图像 004.png b/多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 004.png similarity index 100% rename from 多体+耦合求解器/转速变桨角控制曲线/图像 004.png rename to 多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 004.png diff --git a/多体+耦合求解器/转速变桨角控制曲线/图像 005.png b/多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 005.png similarity index 100% rename from 多体+耦合求解器/转速变桨角控制曲线/图像 005.png rename to 多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 005.png diff --git a/多体+耦合求解器/转速变桨角控制曲线/图像 006.png b/多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 006.png similarity index 100% rename from 多体+耦合求解器/转速变桨角控制曲线/图像 006.png rename to 多体+耦合求解器/稳态运行载荷/转速变桨角控制曲线/图像 006.png diff --git a/工作OKRs/25.2-5 OKR.canvas b/工作OKRs/25.2-5 OKR.canvas index a095bfa..78c732c 100644 --- a/工作OKRs/25.2-5 OKR.canvas +++ b/工作OKRs/25.2-5 OKR.canvas @@ -1,10 +1,10 @@ { "nodes":[ {"id":"b698e88ca5fb9c51","type":"text","text":"状态指标:\n推进OKR的时候也要关注这些事情,它们是完成OKR的保障。\n\n\n效率状态 green","x":-96,"y":80,"width":456,"height":347}, - {"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (7.5/10)\n\n关键结果:对标Bladed模块完成 (8/10)\n\n关键结果:风机多体动力学文献调研情况完成 (5.5/10)","x":-96,"y":-307,"width":456,"height":347}, + {"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (8/10)\n\n关键结果:对标Bladed模块完成 (8.5/10)\n\n关键结果:风机多体动力学文献调研情况完成 (5.5/10)","x":-96,"y":-307,"width":456,"height":347}, {"id":"01ee5c157d0deeae","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-620,"y":80,"width":456,"height":347}, - {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 Q 问孟航\n- 柔性梁弯曲变形振动学习,done 但对于公式不太懂\n- 如何静力学求解\n\nP1 Steady Operational Loads求解器测试 \n- 两个结合点测试 完成\n\nP2 结合yaml解析代码 暂缓,需要新的yaml文件\n\nP1 simpack多体对CAE的需求梳理 分成塔架、叶片、传动链模型\n\nP2 yaw 自由度再bug确认 已知原理了\n\n","x":-614,"y":-307,"width":450,"height":347}, - {"id":"cb9319d24c3e70e3","type":"text","text":"# 5月已完成\n\nP1 Steady Operational Loads求解器测试 \n- 变桨算法测试完成\n- 转速算法基本完成","x":-240,"y":520,"width":440,"height":560}, + {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\nP1 建立IEA 15yaml文件\nP1 结合yaml解析代码,联合气动更新对yaml文件的支持\nP1 结果对比\n- 优先瞬态\n\nP1 如何优雅的存储、输出结果。\nP1 开发板联系\nP2 yaw 自由度再bug确认 已知原理了\n\n","x":-614,"y":-307,"width":450,"height":347}, + {"id":"cb9319d24c3e70e3","type":"text","text":"# 5月已完成\n\nP1 Steady Operational Loads求解器测试 \n- 变桨算法测试完成\n- 转速算法基本完成\n- 两个结合点测试 完成\n\nP1 simpack多体对CAE的需求梳理 分成塔架、叶片、传动链模型 完成","x":-240,"y":520,"width":440,"height":560}, {"id":"1ebeabaf5c73ddbb","type":"text","text":"# 4月已完成\n\n多体原理学习 YouTube课程 018\n\n气动模块联合调试,跑通\n\n使用python搭建风电机组多体模型 刚性部件主动力、惯性力计算 \n\n编写Steady Operational Loads求解器\n- 稳态工况多体动力学求解方法 --龙格库塔+ed_caloutput 初步方案完成\n- 遍历风速框架 完成\n- 不同风速下转速、变桨角度算法 完成\n- 多体设置参数 完成\n- 每个风速直接是否需要重新初始化 需要 完成\n\n\n\ngenerator torque计算 简单了解,确定方案","x":-720,"y":520,"width":440,"height":560} ], "edges":[] diff --git a/工作总结/周报/周报76-郭翼泽.docx b/工作总结/周报/周报76-郭翼泽.docx index b4436ff454f1acf1cb77dd48256c72c07600630a..4841d6e4cac9ae22c89925ff9a3f515e3090859e 100644 GIT binary patch delta 14775 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 G?tcNJ%~QGn diff --git a/工作总结/周报/周报77-郭翼泽.docx b/工作总结/周报/周报77-郭翼泽.docx new file mode 100644 index 0000000000000000000000000000000000000000..76c15e433e854af14c8fea0ab5f7b89f42cfb978 GIT binary patch literal 20387 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 Date: Fri, 16 May 2025 16:33:21 +0800 Subject: [PATCH 3/5] vault backup: 2025-05-16 16:33:20 --- .obsidian/plugins/copilot/data.json | 2 +- ... uae wind turbine for refinement of fast_ad.md | 63 ++++++++++++------- 2 files changed, 41 insertions(+), 24 deletions(-) diff --git a/.obsidian/plugins/copilot/data.json b/.obsidian/plugins/copilot/data.json index 8841520..7f611bf 100644 --- a/.obsidian/plugins/copilot/data.json +++ b/.obsidian/plugins/copilot/data.json @@ -266,7 +266,7 @@ }, { "name": "Translate to Chinese", - "prompt": "Translate the text below into Chinese:\n 1. Preserve the meaning and tone\n 2. Maintain appropriate cultural context\n 3. Keep formatting and structure\n Return only the translated text.\n\n{copilot-selection}", + "prompt": "Translate the text below into Chinese:\n 1. Preserve the meaning and tone\n 2. Maintain appropriate cultural context\n 3. Keep formatting and structure\n 4. Blade翻译为叶片,flapwise翻译为挥舞,edgewise翻译为摆振,pitch angle翻译成变桨角度,twist angle翻译为扭角,rotor翻译为风轮,span翻译为展向\n Return only the translated text.\n\n{copilot-selection}", "showInContextMenu": true, "modelKey": "gemma3:12b|ollama" }, diff --git a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md index 3af48e2..fedfe0f 100644 --- a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md +++ b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md @@ -839,14 +839,15 @@ where $\phi_{1 T}(h)$ and $\phi_{2T}(h)$ are the first and second natural mode s 其中 $\phi_{1 T}(h)$ 和 $\phi_{2T}(h)$ 分别是塔的第一个和第二个固有振型。 在这些表达式中,塔柔性部分沿高度方向的坐标 $h$ 从零到 $H$ 变化。需要注意的是,$h$ 在相对于地球表面的高度 $H_{S}$ 时等于零。 此外,振型的导数在高度 $h=H$ 处进行评估,如所示。 这些塔的固有振型的推导见第 3.2 节,其中假设塔在纵向和横向方向上独立挠曲;然而,假设每个方向的固有振型在每个方向上是相同的。 方程 (3.4) 中存在负号,因为塔顶底板的正向纵向位移倾向于使底板绕负 ${\pmb a}_{3}$ 轴旋转。 与塔尖挠度相关的广义坐标是时间的函数;塔顶底板的纵向和横向旋转也是时间的函数。 Attached to the tower-top base plate is a yaw bearing (O). The yaw bearing allows everything atop the tower to rotate $\left(q_{\delta}\right)$ as winds change direction. The yaw bearing also has the flexibility to allow everything atop the tower to tilt $(q_{\cal S})$ when responding to wind loads. The nacelle houses the generator and gearbox and supports the rotor. The center of mass of the nacelle (D) is related to the tower-top base plate by the position vector $r^{O D10}$ : - +塔顶底板上安装有偏航轴承(O)。偏航轴承允许塔顶所有部件随着风向变化而旋转($q_{6}$)。此外,偏航轴承还具有一定的柔性,使其能够在应对风荷载时允许塔顶所有部件倾斜($q_{5}$)。机舱内容纳了发电机和齿轮箱,并支撑着风轮。机舱的质心(D)与塔顶底板之间的位置由位置向量 $r^{O D10}$ 描述: $$ -\pmb{r}^{O D}=D_{N M I}\pmb{c}_{I}+\left(D_{N M2}+T W R H T O F F S E T\right)\pmb{c}_{2} +\pmb{r}^{O D}=D_{N M 1}\pmb{c}_{I}+\left(D_{N M2}+T W R H T O F F S E T\right)\pmb{c}_{2} $$ Blade 1 is at an azimuth angle of $q_{4}$ . The zero-azimuth reference position can be located by the azimuth offset parameter $z(4)$ . Blade 2 is naturally $180^{\circ}$ out of phase with blade 1. Drive train flexibility allows the induction generator to see an angular velocity that is different than $n$ times the angular velocity of the rotor, where $n$ is the gearbox ratio. The twist of the low-speed shaft is, because of its torsional flexibility, modeled with the $q_{I5}$ parameter. The azimuth angle $q_{I5}$ , is essentially the sum of the azimuth angle, $q_{4}$ , and the twist of the low-speed shaft. - +叶片 1 的方位角为 $q_{4}$ 。零方位角参考位置可以通过方位角偏移参数 $z(4)$ 确定。叶片 2 与叶片 1 固有相位差为 $180^{\circ}$。传动系统的柔性使得感应发电机看到的角速度与转子角速度的 $n$ 倍不同,其中 $n$ 是齿轮箱比。由于其扭转柔性,低速轴的扭转由参数 $q_{15}$ 进行建模。方位角 $q_{15}$,本质上是方位角,即 $q_{4}$,与低速轴扭转之和。 If applicable to the wind turbine under consideration, teeter motion of the rotor is about a pin (P) fixed on the low-speed shaft. The position vector connecting the teeter pin to the tower-top base plate, $r^{O P}$ , is10: +如果适用于所考虑的风力发电机,转子倾斜运动是绕固定在低速轴上的一个销(P)。连接倾斜销到塔顶底板的位置向量,$r^{O P}$,为10: $$ \pmb{r}^{O P}=D_{N}\pmb{c}_{I}+T W R H T O F F S E T\pmb{c}_{2} @@ -856,42 +857,53 @@ For an upwind turbine configuration, the distance between the tower-top base pla The delta-3 angle, $\delta_{3}$ , orients the axis of the unconed rotor blades so it is no longer perpendicular to the axis of the teeter pin. In this case, the teeter motion has both a flapping and a pitching component. If the delta-3 angle is zero, teeter motion is purely flapping motion. -Each blade can be coned a different amount ( $\beta_{I}$ for blade 1 and $\beta_{2}$ for blade 2), though the coning angles are constant, not changing with time. Coning begins in the very center of the hub at point Q, which is offset of the teeter pin (P) by a distance $R_{U}$ along the central axis of the hub (undersling length). The position vector connecting the blade axes intersection point and the teeter pin, $\bar{\mathbf{r}}^{P Q}$ , is: +对于迎风式风力发电机组配置,塔顶底板与偏摆销在 $c_{I}=e_{I}$ 方向上的距离,$D_{N}$,必须小于零。 +delta-3 角,$\delta_{3}$,使非偏摆的叶片旋转轴不再垂直于偏摆销的轴线。在这种情况下,偏摆运动既有摆动分量,也有俯仰分量。如果 delta-3 角为零,偏摆运动纯粹是摆动运动。 + +Each blade can be coned a different amount ( $\beta_{I}$ for blade 1 and $\beta_{2}$ for blade 2), though the coning angles are constant, not changing with time. Coning begins in the very center of the hub at point Q, which is offset of the teeter pin (P) by a distance $R_{U}$ along the central axis of the hub (undersling length). The position vector connecting the blade axes intersection point and the teeter pin, $\bar{\mathbf{r}}^{P Q}$ , is: +每个叶片可以被锥入不同的角度(叶片 1 为 $\beta_{I}$,叶片 2 为 $\beta_{2}$),尽管锥入角度是恒定的,不会随时间变化。锥入始于枢轴中心点 Q,该点相对于偏心铰链 (P) 沿枢轴中心轴(悬挂长度)偏移了距离 $R_{U}$。连接叶片轴线交点和偏心铰链的位移矢量 $\bar{\mathbf{r}}^{P Q}$ 为: $$ {\pmb r}^{P Q}=-R_{U}{\pmb g}_{I} $$ Located between point $\mathrm{P}$ and point Q, along the central axis of the hub, is the hub center of mass (C) (not shown in Fig. 3.1). The position vector connecting the hub center of mass and the teeter pin, $\bar{\pmb{r}}^{P C}$ , is: - +位于点 $\mathrm{P}$ 和点 Q 之间,沿着轮毂的中心轴,是轮毂质心 (C)(如图 3.1 所示未标注)。连接轮毂质心和摇臂销的位移矢量 $\bar{\pmb{r}}^{P C}$ 为: $$ {\pmb r}^{P C}=-R_{\phantom{}_{U M}}{\pmb g}_{I} $$ Similar to the tower, the root of each rotor blade can be considered rigid to some radius $R_{H}$ representing the robustness of the hub (hub radius). The length of the flexible part of each blade is thus $R-R_{H},$ where $R$ is the total radius of the rotor (also not shown in Fig. 3.1). The flexible part of each blade is assumed to deflect in the local flapwise (out-of-plane of rotor if pitch and twist distribution equal zero) and local edgewise (in-plane of rotor if pitch and twist distribution equal zero) directions independently. Local means that the flapwise and edgewise directions are unique to each blade element as defined by the sum of the distributed structural pretwist angle, $\theta_{S}(\bar{r^{\flat}})^{9}$ , and the blade collective pitch angle. Unlike the tower, the natural mode shapes in each direction are permitted to be different. The natural mode shapes for each blade are assumed to be identical. +类似于塔架,每个风轮叶片的根部可以被视为在一定半径 $R_{H}$ 内刚性,该半径代表轮毂的稳固性(轮毂半径)。每个叶片柔性部分的长度因此为 $R-R_{H}$,其中 $R$ 是风轮的总半径(如图 3.1 所示)。每个叶片的柔性部分被假定在局部挥舞(如果变桨角度和扭角分布为零,则为风轮平面外方向)和局部摆振(如果变桨角度和扭角分布为零,则为风轮平面内方向)方向上独立挠曲。局部意味着挥舞和摆振方向是每个叶片单元所特有的,由分布的结构预扭角之和 $\theta_{S}(\bar{r^{\flat}})^{9}$ 和叶片整体变桨角度共同定义。与塔架不同,每个方向的固有振型可以不同。每个叶片的固有振型被假定是相同的。 + Because each blade can have some distributed structural pretwist, defining the deflection in two directions is complicated. The most viable method is to define the total blade curvature as the combination of the local curvature in each local blade element direction (flapwise or edgewise), resolved into in-plane and out-of-plane components by orienting them with the structural pretwist and blade collective pitch angles. This curvature can then be integrated twice to get the total deflection shape. Assuming that the blade deflections are small, the local curvatures in the flapwise and edgewise directions at a span of $r$ , and time $t$ , $\kappa_{\/F}(r_{\/,}t)$ and $\kappa_{E}(r,t)$ respectively, for blade 1, are11: +**由于每一叶片都可能存在分布式结构预扭角,因此定义两个方向的挠曲变得复杂**。**最可行的方法是将总叶片曲率定义为每个局部叶片单元方向(挥舞方向或摆振方向)的局部曲率之和,通过与结构预扭角和叶片整体变桨角度对齐,将其分解为平面内和平面外分量。然后,可以将此曲率进行两次积分,以获得总挠曲形状**。假设叶片挠曲较小,在跨度 $r$ ,以及时间 $t$ 时,挥舞方向和摆振方向的局部曲率分别表示为 $\kappa_{F}(r,t)$ 和 $\kappa_{E}(r,t)$,对于叶片 1,为${^{11}}$: + $$ -\kappa_{\scriptscriptstyle F}(r,t)\!=\!q_{\scriptscriptstyle I}\frac{d^{\,2}\phi_{\scriptscriptstyle I B F}(r)}{d r^{2}}\!+\!q_{\scriptscriptstyle I I}\frac{d^{\,2}\phi_{\scriptscriptstyle2B F}(r)}{d r^{2}} +\kappa_{\scriptscriptstyle F}(r,t)\!=\!q_{\scriptscriptstyle I}\frac{d^{\,2}\phi_{\scriptscriptstyle 1 B F}(r)}{d r^{2}}\!+\!q_{\scriptscriptstyle I I}\frac{d^{\,2}\phi_{\scriptscriptstyle2B F}(r)}{d r^{2}} $$ and $$ -\kappa_{\scriptscriptstyle E}(r,t)\!=\!q_{\scriptscriptstyle I3}\frac{d^{2}\phi_{\scriptscriptstyle I B E}(r)}{d r^{2}} +\kappa_{\scriptscriptstyle E}(r,t)\!=\!q_{\scriptscriptstyle 13}\frac{d^{2}\phi_{\scriptscriptstyle 1 B E}(r)}{d r^{2}} $$ -where $\phi_{I B F}(r)$ and $\phi_{2B F}(r)$ are the first and second natural mode shapes, respectively, of the blades in the flapwise direction and $\phi_{I B E}(r)$ is first natural mode shape of the blades in the edgewise direction. The dependency on these curvatures with time is inherent in the generalized coordinates $q_{I},\,q_{I I}$ , and $q_{I3}$ . In these expressions, the radius along the flexible part of the blade, +where $\phi_{1 B F}(r)$ and $\phi_{2B F}(r)$ are the first and second natural mode shapes, respectively, of the blades in the flapwise direction and $\phi_{1 B E}(r)$ is first natural mode shape of the blades in the edgewise direction. The dependency on these curvatures with time is inherent in the generalized coordinates $q_{1},\,q_{11}$ , and $q_{13}$ . In these expressions, the radius along the flexible part of the blade, $r$ , ranges from zero to $R-R_{H}$ . Note that $r$ equals zero at a span of $R_{H}$ relative to the axis of the hub. The derivation of these natural mode shapes of the blades is presented in section 3.2. +其中,$\phi_{1 B F}(r)$ 和 $\phi_{2B F}(r)$ 分别是叶片在挥舞方向上的第一和第二自然振型,而 $\phi_{1 B E}(r)$ 是叶片在摆振方向上的第一自然振型。 这些曲率随时间的变化内嵌在广义坐标 $q_{1},\,q_{11}$ 和 $q_{13}$ 中。 在这些表达式中,叶片柔性部分的半径 $r$ 的范围从零到 $R-R_{H}$。 注意,$r$ 在相对于轴的轴承跨度为 $R_{H}$ 时等于零。 这些叶片自然振型的推导见 3.2 节。 + +11 The curvature of a curve $y(x)$, $\kappa(x)$, is $$ -\kappa(x)\!=\!\frac{\displaystyle{\bigg|\frac{d^{\,2}y(x)}{d x^{\,2}}\bigg|}}{\displaystyle{\bigg\{\!I\!+\!\!\left[\frac{d y(x)}{d x}\right]^{2}\!\bigg\}^{\,3/2}}} +\kappa(x)\!=\!\frac{\displaystyle{\bigg|\frac{d^{\,2}y(x)}{d x^{\,2}}\bigg|}}{\displaystyle{\bigg\{\!1\!+\!\!\left[\frac{d y(x)}{d x}\right]^{2}\!\bigg\}^{\,3/2}}} $$ If the curve is composed only of small deflections, then: $$ -\frac{\mathit{d y}(x)}{\mathit{d x}}< Date: Wed, 21 May 2025 11:24:32 +0800 Subject: [PATCH 4/5] vault backup: 2025-05-21 11:24:29 --- ...e uae wind turbine for refinement of fast_ad.md | 11 +++++++---- ...mpack Modeling and Simulation Fundamentals Guide.pdf | Bin 0 -> 96612 bytes 多体+耦合求解器/V0.5版本结果对比/对比步骤.md | 17 +++++++++++++++++ 工作OKRs/25.2-5 OKR.canvas | 4 ++-- 4 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 多体+耦合求解器/Simpack学习/Simpack Modeling and Simulation Fundamentals Guide.pdf create mode 100644 多体+耦合求解器/V0.5版本结果对比/对比步骤.md diff --git a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md index fedfe0f..df1915c 100644 --- a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md +++ b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md @@ -976,11 +976,11 @@ $$ or equivalently: $$ -u(r,t)\!=\!q_{I}\phi_{I}(r)\!+\!q_{I I}\phi_{2}(r)\!+\!q_{I3}\phi_{3}(r) +u(r,t)\!=\!q_{1}\phi_{I}(r)\!+\!q_{11}\phi_{2}(r)\!+\!q_{13}\phi_{3}(r) $$ $$ -\nu(r,t)\!=\!q_{I}\psi_{I}(r)\!+\!q_{I I}\psi_{2}(r)\!+\!q_{I3}\psi_{3}(r) +\nu(r,t)\!=\!q_{1}\psi_{1}(r)\!+\!q_{11}\psi_{2}(r)\!+\!q_{13}\psi_{3}(r) $$ where $\acute{r}$ is a dummy variable representing the span along the flexible part of the blade. @@ -1072,16 +1072,19 @@ Equation (3.37) is applicable to either blade. When representing blade 1, $\bet # 3.2 Blade and Tower Deflections The structural model of FAST_AD considers the blades and tower to be flexible cantilevered beams with continuously distributed mass and stiffness. In theory, such bodies possess an infinite number of DOFs, since an infinite number of coordinates are needed to specify the position of every point on the body. In practice, such bodies are modeled as a linear sum of known shapes of the dominant normal vibration modes. This technique is known as the normal mode summation method and reduces the number of DOFs from infinity to $N_{\ast}$ the number of normal modes considered to be dominant. With this method, the lateral deflection (perpendicular to the undeformed beam) anywhere on the flexible beam at any time, $u(z,t)$ , is given as the summation of the products of each normal mode shape, $\phi_{a}(z)$ , and their associated generalized coordinate, $q_{a}(t)$ : -FAST_AD结构的模型将叶片和塔架视为具有连续分布的质量和刚度的柔性悬臂梁。理论上,这种结构体拥有无限多的自由度(DOF),因为需要无限多个坐标来指定结构体上每个点的位移。但在实践中,这种结构体被建模为由主振动模式的已知形状的线性组合。这种技术被称为正模叠加法,它将自由度数从无限减少到$N_{\ast}$,即考虑的主振动模式数量。通过这种方法,在任何时间和在柔性梁上的任意位置,横向挠度(垂直于未变形的梁),表示为$u(z,t)$,可以表示为每个正模形状函数$\phi_{a}(z)$及其相关广义坐标$q_{a}(t)$的乘积之和: +FAST_AD结构模型将叶片和塔架视为具有连续分布质量和刚度的柔性悬臂梁。理论上,此类物体具有无限多的自由度(DOF),因为需要无限多个坐标来指定物体上每个点的位置。实际上,此类物体被建模为由主振动模式的已知形状的线性组合。这种技术被称为主模叠加法,将自由度数从无限减少到$N_{\ast}$,即考虑的主振动模式数量。通过该方法,在任何时间和柔性梁上的任意位置的横向挠度(垂直于未变形的梁),$u(z,t)$,表示为每个主模形状函数,$\phi_{a}(z)$,及其相关广义坐标,$q_{a}(t)$,的乘积之和: $$ u(z,t)\!=\!\sum_{a=l}^{N}\phi_{a}\!\left(z\right)\!q_{a}\!\left(t\right) $$ The normal mode shape for mode $a$ , $\phi_{a}(z)$ , is purely a function of the distance $z$ along the beam $[z=0$ at the fixed end and $z=Z$ at the free end) and the generalized coordinate associated with normal mode $a$ , $q_{a}(t)$ , is purely a function of time $t$ . Each normal mode has an associated natural frequency, $\omega_{a}$ , and phase, $\psi_{a}$ . The generalized coordinate associated with a normal mode is customarily allowed to be the deflection of the free end of the cantilever beam; thus, each normal mode shape is dimensionless and normalized so it is equal to unity at the free end. -对于模式 $a$ 的正常模式形状 $\phi_{a}(z)$,它纯粹是沿梁的距离 $z$ 的函数(其中 $z=0$ 为固定端,$z=Z$ 为自由端),而与该正常模式 $a$ 相关的广义坐标 $q_{a}(t)$ 纯粹是时间的函数 $t$。每个正常模式都具有相关的固有频率 $\omega_{a}$ 和相位 $\psi_{a}$。与正常模式相关的广义坐标通常允许是悬臂梁自由端的挠度;因此,每个正常模式形状都是无量纲的,并且被归一化,使其在自由端处等于一。 + +第 $a$ 阶固有振型,$\phi_{a}(z)$,纯粹是沿梁的距离 $z$ 的函数(其中 $z=0$ 为固定端,$z=Z$ 为自由端),而与第 $a$ 阶固有振型相关的广义坐标 $q_{a}(t)$ 纯粹是时间的函数 $t$。 每个固有振型都具有相关的固有频率,$\omega_{a}$,和相位,$\psi_{a}$。 与固有振型相关的广义坐标通常允许是悬臂梁自由端的挠度;因此,每个固有振型都无量纲且归一化,使其在自由端处等于一。 + When each normal mode shape is known, $N$ parameters are required to specify the deflection of the flexible body at any time. Thus, alternatively, the lateral deflection of the flexible body could be expressed using $N$ other functions, $\varphi_{b}(z)$ , not unique to each normal mode: +当每个固有振型已知时,需要 $N$ 个参数来指定柔性体的任意时刻的挠度。 因而,也可以使用 $N$ 个其他函数 $\varphi_{b}(z)$ 来表达柔性体的侧向挠度,这些函数不唯一对应于每个固有振型: $$ u(z,t)\!=\sum_{b=p}^{N+p-I}\!\varphi_{b}(z)c_{b}(t) diff --git a/多体+耦合求解器/Simpack学习/Simpack Modeling and Simulation Fundamentals Guide.pdf b/多体+耦合求解器/Simpack学习/Simpack Modeling and Simulation Fundamentals Guide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..749658ec31779cf081910ce792e7501de04466b8 GIT binary patch literal 96612 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®QjiP=cA)PQ|e1^np2&U!S&G>7HAT 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

6s_sSo`yOC z^WMozU(Vq9W@iE+*+9snxJzPeT~Gr?*ig3sB8k*f6A{|5WeH;dm>;IX80+Tfk0%sT z60`6D=;U7avDS^E>`^f!D=g7BFA~vh@4@yje^v%>tEbOxIL_m%TkD3mTYYTJC9M^R zq@5ycdvBwP_UHw6+BBRYI+gLe9w-$mqok-bEIKX?!O0^7hqmehYaiz?q5`wp9{M=o zIKgq&P@v;|n=}%7l!Rk=RK_bA-NTH)8{S$m=oAP773##)$__A{L7%j``2G^R*r2<$ zz`CWGJ=hkOE#WRH%}jKP$-_9?;uDM;bUIK^r?1JsA+iDN96bv-Go{dm2`W7F48V^1 z%o_J7Z60bdsONj_%h&=bp0h=R_WPD@$unmJH_r*7GVMvwcUZb0UlNzGbIW6}| zq~JaMH#B~?BF<<17yOD9O-wbnlA;x-CA51nUjOD= zS!PBg>@_TH<15dGDoLpLt^4GbhKqy4*JWgo9Fo_PtgNApNvp^z_+a2~{Ca=@pz2Ql zeab)zH4lSjG!77t)1VYEPGa4Y@|qf)VRE(sdp76f1h5hAEzyPHA6%64g%fL=qD2}>`C8EaDWQ{VORlX*2tL>=X4M{_-xirt~ z*sQt<3RTDx)LIkIGmiNV3l$~lc!cNx)o5ZYK|NwaM4;$Q<(^CTk_5{>#ewEw_q}9r z&b3I)vRLo)IK1h`ThVx2%{a}YcBnPl-#Mhe*?}MvcHcpXOO5K6uu!rv zAbBrgpUbs5gyRJV_Jwv5pBivK;n1 zeM^yHJkQ`}^HJqEKJ#y$o( zEZtWdmeL!vj9D530S7rDWvZr(YSkCBJd(;TQ-MS#jgu+{XEzv2eDRV%`Wl` z#S(qk&Ab)-<#3!92J}wiaz2LIn%irIiMraI8wE~~O6+^b>p#2FQEWKWh^o_{ue@g` zXR2qwAU%QLQOfx2a;@Rc77f8{gWI_e=3-Vv6iRSepStWtv{1)2WS-7pop+2O=@=?m;9Q*kq`GcbzKEr^ zuEJ|n#t)}Lfzm65nyE;OXu@}7%K9e4U`dh1;iJ&@vxB2OV_d@{nh?2()d zG9YsytWYz#YtYh%^sDqqY$=-<_w%`2^RmB$wot%5ZFGFA*S$?_fnI&3wax_X-mgT2 zxW5Yg>0o*&Th?s(a&a$*FW~wG^v9z-BXS%>>c#yfc^FD{c}+z>08IR;b1JbwnE96~ zUI3vrOf;k-ic1)$fLicyXNSWXm-?ltn5(&S;rMf6@A<5Ed;llvfO^jTs~klGOx&t| zA(C}c3W8UB)fEIKW;u5+WxcNH$+!&Julonlvrq5XyX3FX8PWQ?R^FA_)xN&(=jXgb ze)wW_?fnE9xGZ3IM+�jBY)rwgRn82E33sA&P_IztrgtP;_w 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

{_9jjiqwGgM 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%0DeXHUEB&S)rMh#un{HCB-=0|s6Q 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 literal 0 HcmV?d00001 diff --git a/多体+耦合求解器/V0.5版本结果对比/对比步骤.md b/多体+耦合求解器/V0.5版本结果对比/对比步骤.md new file mode 100644 index 0000000..50ab6e3 --- /dev/null +++ b/多体+耦合求解器/V0.5版本结果对比/对比步骤.md @@ -0,0 +1,17 @@ +算例: +1 正常发电工况: +- 均匀风 +- 没有变桨、偏航、转速调整 +对比结果 +功率、叶片变形量、什么什么载荷? + +q 叶片、塔架的振型如何看? + +风速 8m/s +转速不知 + +1、Bladed、FAST 15MW模型直接对比结果 + +2、V0.5软件与fast 15mw对比 + +3、气动改用AeroDyn ED对比 diff --git a/工作OKRs/25.2-5 OKR.canvas b/工作OKRs/25.2-5 OKR.canvas index 78c732c..1051c60 100644 --- a/工作OKRs/25.2-5 OKR.canvas +++ b/工作OKRs/25.2-5 OKR.canvas @@ -3,9 +3,9 @@ {"id":"b698e88ca5fb9c51","type":"text","text":"状态指标:\n推进OKR的时候也要关注这些事情,它们是完成OKR的保障。\n\n\n效率状态 green","x":-96,"y":80,"width":456,"height":347}, {"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (8/10)\n\n关键结果:对标Bladed模块完成 (8.5/10)\n\n关键结果:风机多体动力学文献调研情况完成 (5.5/10)","x":-96,"y":-307,"width":456,"height":347}, {"id":"01ee5c157d0deeae","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-620,"y":80,"width":456,"height":347}, - {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\nP1 建立IEA 15yaml文件\nP1 结合yaml解析代码,联合气动更新对yaml文件的支持\nP1 结果对比\n- 优先瞬态\n\nP1 如何优雅的存储、输出结果。\nP1 开发板联系\nP2 yaw 自由度再bug确认 已知原理了\n\n","x":-614,"y":-307,"width":450,"height":347}, {"id":"cb9319d24c3e70e3","type":"text","text":"# 5月已完成\n\nP1 Steady Operational Loads求解器测试 \n- 变桨算法测试完成\n- 转速算法基本完成\n- 两个结合点测试 完成\n\nP1 simpack多体对CAE的需求梳理 分成塔架、叶片、传动链模型 完成","x":-240,"y":520,"width":440,"height":560}, - {"id":"1ebeabaf5c73ddbb","type":"text","text":"# 4月已完成\n\n多体原理学习 YouTube课程 018\n\n气动模块联合调试,跑通\n\n使用python搭建风电机组多体模型 刚性部件主动力、惯性力计算 \n\n编写Steady Operational Loads求解器\n- 稳态工况多体动力学求解方法 --龙格库塔+ed_caloutput 初步方案完成\n- 遍历风速框架 完成\n- 不同风速下转速、变桨角度算法 完成\n- 多体设置参数 完成\n- 每个风速直接是否需要重新初始化 需要 完成\n\n\n\ngenerator torque计算 简单了解,确定方案","x":-720,"y":520,"width":440,"height":560} + {"id":"1ebeabaf5c73ddbb","type":"text","text":"# 4月已完成\n\n多体原理学习 YouTube课程 018\n\n气动模块联合调试,跑通\n\n使用python搭建风电机组多体模型 刚性部件主动力、惯性力计算 \n\n编写Steady Operational Loads求解器\n- 稳态工况多体动力学求解方法 --龙格库塔+ed_caloutput 初步方案完成\n- 遍历风速框架 完成\n- 不同风速下转速、变桨角度算法 完成\n- 多体设置参数 完成\n- 每个风速直接是否需要重新初始化 需要 完成\n\n\n\ngenerator torque计算 简单了解,确定方案","x":-720,"y":520,"width":440,"height":560}, + {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\nP1 建立IEA 15yaml文件\nP1 结合yaml解析代码,联合气动更新对yaml文件的支持\nP1 结果对比\n- 优先瞬态,**如何设置计算?**\n\nP1 如何优雅的存储、输出结果。\nP1 国产化适配交给甲子营,对接\nP1 推进气动、控制、多体、水动\nP2 yaw 自由度再bug确认 已知原理了\n\n","x":-614,"y":-307,"width":450,"height":347} ], "edges":[] } \ No newline at end of file From 607aca1d338fafe9030930f211343f599f5f4438 Mon Sep 17 00:00:00 2001 From: yz Date: Fri, 23 May 2025 16:19:42 +0800 Subject: [PATCH 5/5] 1 --- ... uae wind turbine for refinement of fast_ad.md | 53 +++++++----------- 多体+耦合求解器/V0.5版本结果对比/对比步骤.md | 20 +++++++ 多体+耦合求解器/rust 经验.md | 5 +- 工作OKRs/25.2-5 OKR.canvas | 6 +- 工作总结/周报/周报78-郭翼泽.docx | Bin 0 -> 20916 bytes 5 files changed, 46 insertions(+), 38 deletions(-) create mode 100644 工作总结/周报/周报78-郭翼泽.docx diff --git a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md index df1915c..a18665b 100644 --- a/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md +++ b/力学书籍/OpenFast/modeling of the uae wind turbine for refinement of fast_ad/auto/modeling of the uae wind turbine for refinement of fast_ad.md @@ -1091,63 +1091,42 @@ u(z,t)\!=\sum_{b=p}^{N+p-I}\!\varphi_{b}(z)c_{b}(t) $$ where $c_{b}(t)$ is the generalized coordinate associated with the function $\varphi_{b}(z)$ . The $\varphi_{b}(z)$ ’s are known as shape functions and the parameter $p$ is chosen for convenience. +其中,$c_{b}(t)$ 是与函数 $\varphi_{b}(z)$ 相关的广义坐标。$\varphi_{b}(z)$ 被称为形函数,参数 $p$ 为了方便起见而选择。 Since the shape functions are not unique to each normal mode, meaning that each normal mode is related to all shape functions, there is a relationship such that the normal mode shapes form a linear combination of the shape functions: + +由于形函数并非每个正模特有的,意味着每个正模都与所有形函数相关,因此存在一种关系,使得正模形函数构成形函数的线性组合: $$ \phi_{a}(z)\!=\!\sum_{b=p}^{N+p-l}\!C_{a,b}\varphi_{b}(z)\ \ \left(a={1,2,...,N}\right) $$ where $C_{a,b}$ is the constant proportionality coefficient associated with the $b^{\mathrm{th}}$ shape function and the $a^{\mathrm{th}}$ normal mode. This is known as the Rayleigh-Ritz method. +其中,$C_{a,b}$ 是与第 $b$ 个形函数和第 $a$ 个正模相关的比例常数。 这被称为瑞利-里兹法。 In FAST_AD, each normal mode shape is assumed to be expressible as a polynomial; thus, the $b^{\mathrm{th}}$ shape function is defined as: +在 FAST_AD 中,假设每个固有振型都可以用多项式表达;因此,第 $b^{\mathrm{th}}$ 形变函数定义如下: $$ \varphi_{b}(z)\!=\!\left(\frac{z}{Z}\right)^{b} $$ Since the slope of a cantilevered beam must be zero at the fixed end, $p$ must be no smaller than two if the shape functions are to accurately represent the normal mode shapes. Thus, the FAST_AD design code requires that $p$ equal two. FAST_AD allows $N$ to be as high as five. In FAST_AD, the constant proportionality coefficients associated with each shape function and normal mode are parameters requested in the input file. A preprocessor code entitled Modes enables users of FAST_AD to obtain these parameters. The theory employed by Modes is also developed here. -FAST_AD 的结构模型将叶片和塔架视为具有连续质量和刚度分布的灵活悬臂梁。理论上,这些体系拥有无穷多个自由度(DOFs),因为需要无数坐标来指定体系中每一点的位置。实际上,这些体系被建模为主要正常振动模式已知形状的线性和。此技术称为正常模态求和法,将自由度数从无穷减少到 $N_{\ast}$,即考虑为主导的正常模态数量。使用该方法,灵活梁在任何时间 $t$ 和位置 $z$ 的侧向挠度(垂直于未变形梁) $u(z,t)$ 可以表示为各个正常模态形状 $\phi_{a}(z)$ 与其相关的广义坐标 $q_{a}(t)$ 乘积之和: +由于悬臂梁的slope必须在其固定端为零,如果希望形状函数能够准确地表示模态形状,则 $p$ 必须不小于二。因此,FAST_AD 设计代码要求 $p$ 等于二。FAST_AD 允许 $N$ 高达五。在 FAST_AD 中,与每个形状函数和模态相关的比例常数是输入文件中要求的参数。名为 Modes 的预处理器代码允许 FAST_AD 的用户获得这些参数。Modes 所采用的理论也在此进行阐述。 $$ u(z,t)\!=\!\sum_{a=l}^{N}\phi_{a}\!\left(z\right)\!q_{a}\!\left(t\right) $$ -固有模态形状 $\phi_{a}(z)$ 对于模式 $a$,仅是沿梁的距离 $z$ 的函数(其中 $z=0$ 在固定端,$z=Z$ 在自由端),而与固有模态 $a$ 相关的广义坐标 $q_{a}(t)$ 仅是时间 $t$ 的函数。每个正常模态都有一个相关的固有频率 $\omega_{a}$ 和相位 $\psi_{a}$。通常,**与正常模态相关联的广义坐标被允许为悬臂梁自由端的挠度**;**因此,每个正常模态形状是无量纲的,并且在自由端归一化**。 - -当各个固有模态形状已知时,需要 $N$ 个参数来指定任何时间点上灵活体系的挠度。因此,替代地,灵活体系的侧向挠度可以用 $N$ 个其他函数 $\varphi_{b}(z)$ 表示,这些函数不是每个正常模态独特的: - -$$ -u(z,t)\!=\sum_{b=p}^{N+p-I}\!\varphi_{b}(z)c_{b}(t) -$$ - -其中 $c_{b}(t)$ 是与函数 $\varphi_{b}(z)$ 相关联的广义坐标。$\varphi_{b}(z)$ 称为形状函数,参数 $p$ 由便利性决定。 - -由于形状函数不是每个正常模态独特的,即每个正常模态与所有形状函数相关联,因此存在关系使得正常模态形状可以表示为形状函数的线性组合: - -$$ -\phi_{a}(z)\!=\!\sum_{b=p}^{N+p-l}\!C_{a,b}\varphi_{b}(z)\ \ \left(a={1,2,...,N}\right) -$$ - -其中 $C_{a,b}$ 是与第 $b$ 形状函数和第 $a$ 固有模态相关联的比例系数。这称为雷利-里兹方法。 - -在 FAST_AD 中,假设每个正常模态形状可以表示为多项式;因此,第 $b$ 形状函数定义为: - -$$ -\varphi_{b}(z)\!=\!\left(\frac{z}{Z}\right)^{b} -$$ - -由于悬臂梁在固定端的斜率必须为零,如果形状函数要准确表示正常模态形状,则 $p$ 不得小于二。因此,FAST_AD 设计代码要求 $p$ 等于二。FAST_AD 允许 $N$ 为高达五。在 FAST_AD 中,与每个形状函数和正常模态相关联的比例系数是输入文件中请求的参数。一个名为 Modes 的预处理代码使 FAST_AD 用户能够获得这些参数。Modes 所采用的理论也在此开发。 - - Using Lagrange’s equations for a conservative, scleronomic system13, the equations of motion for an $N\!\cdot$ -DOF system are equivalent to: +使用拉格朗日方程,对于一个保守、刚体系统,N-DOF系统运动方程等同于: $$ -\sum_{j=p}^{N+p-I}m_{i j}\ddot{c}_{j}(t)+\sum_{j=p}^{N+p-I}k_{i j}c_{j}\big(t\big)=O\quad\big(i=p,p+I,...,N+p-I\big) +\sum_{j=p}^{N+p-1}m_{i j}\ddot{c}_{j}(t)+\sum_{j=p}^{N+p-1}k_{i j}c_{j}\big(t\big)=O\quad\big(i=p,p+1,...,N+p-1\big) $$ where the generalized mass and stiffness, $m_{i j}$ and $k_{i j}$ respectively, are defined in terms of the kinetic energy, $T,$ and potential energy, $V$ : - +其中,广义质量和刚度,分别表示为 $m_{i j}$ 和 $k_{i j}$,由动能 $T$ 和势能 $V$ 定义: $$ T=\frac{I}{2}\sum_{i=p}^{N+p-l}\sum_{j=p}^{N+p-l}m_{i j}\dot{c}_{i}(t)\dot{c}_{j}(t) $$ @@ -1157,21 +1136,24 @@ V=\frac{I}{2}\sum_{i=p}^{N+p-I}\sum_{j=p}^{N+p-I}k_{i j}c_{i}(t)c_{j}(t) $$ Now, when the flexible beam is vibrating at a specific natural mode, say $a=m$ , the following conditions result: - +现在,当柔性梁以特定的固有振动模式振动,例如 $a=m$ 时,会产生以下条件: $$ -q_{a}(t)\!=\!\left\{\!\!\begin{array}{l l}{\!Q_{a}\,s i n(\omega_{a}t\!+\!\psi_{a})}&{f\!o r\,a=m}\\ {\!0}&{\!o t h e r w i s e}\end{array}\!\!\right. +q_{a}(t)\!=\!\left\{\begin{array}{l l}{Q_{a}\,s i n(\omega_{a}t\!+\!\psi_{a})}&{f\!o r\,a=m}\\ {0}&{\!o t h e r w i s e}\end{array}\!\!\right. $$ $$ -\begin{array}{r l}{c_{b}(t)\!=\!C_{m,b}q_{m}(t)}&{{}\big(b=p,p+l,...,N+p-l\big)}\end{array} +\begin{array}{r l}{c_{b}(t)\!=\!C_{m,b}q_{m}(t)}&{{}\big(b=p,p+1,...,N+p-1\big)}\end{array} $$ where $Q_{a}$ is the amplitude of the deflection of the tip of the flexible beam associated with natural mode $a$ . Substituting Eq. (3.45) into Eq. (3.46), then substituting the resulting equation into Eq. (3.42), results in (the subscript has been dropped from the specific natural mode): +其中,$Q_{a}$ 为与自然模式 $a$ 相关的柔性梁尖端挠曲振幅。 + +将公式 (3.45) 代入公式 (3.46),然后将所得方程代入公式 (3.42),可得(此处已省略特定自然模式的下标): $$ -\sum_{j=p}^{N+p-l}(-\omega^{2}m_{i j}+k_{i j})C_{j}=O\quad\displaystyle\big(i=p,p+l,...,N+p-l\big) +\sum_{j=p}^{N+p-1}(-\omega^{2}m_{i j}+k_{i j})C_{j}=O\quad\displaystyle\big(i=p,p+l,...,N+p-l\big) $$ Equation (3.47) can be written in matrix form: @@ -1182,7 +1164,10 @@ $$ where the generalized mass matrix, $[M]$ , and generalized stiffness matrix, $[K]$ , are both $N\times N$ matrices and the coefficient vector, $\{C\}$ , is an $N\times1$ vector. The determinant of the matrix premultiplying the coefficient vector results in an $N^{\mathrm{th}}$ -degree algebraic equation in $\omega^{2}$ , which is called the characteristic equation. The $N$ roots, ${\omega_{a}}^{2}$ , are the eigenvalues, each being the square of the natural frequency associated with normal mode $a$ . The eigenvector associated with each eigenvalue, $\{C\}_{a}$ , defines the constant proportionality coefficients associated with normal mode $a$ (the $C_{a,b}$ ’s). +其中,广义质量矩阵 $[M]$ 和广义刚度矩阵 $[K]$ 均为 $N\times N$ 阶矩阵,系数向量 $\{C\}$ 是一个 $N\times1$ 阶向量。系数向量前乘的矩阵的行列式会得到一个关于 $\omega^{2}$ 的 $N$ 次代数方程,称为特征方程。该方程的 $N$ 个根,${\omega_{a}}^{2}$ ,是特征值,每个特征值都是与模态 $a$ 相关的固有频率的平方。与每个特征值相关的特征向量,$\{C\}_{a}$ ,定义了与模态 $a$ 相关的常数比例系数(即 $C_{a,b}$)。 + In FAST_AD and Modes, the tower is modeled as an inverted cantilever beam with a point mass affixed to its free end. The point mass, $M_{T o p}.$ , represents the combined mass of the base plate, nacelle, hub, and blades. The tower is assumed to deflect in the longitudinal and lateral directions independently. The stiffness distributions in each direction are assumed to be identical; consequently, the associated natural mode shapes and frequencies are assumed to be identical in each direction. +在 FAST_AD 和 Modes 中,塔架被建模为一个倒置悬臂梁,其自由端附有一个质点。该质点,$M_{T o p}.$,代表了底板、舱壳、轮毂和叶片的联合质量。塔架被假定在纵向和横向独立挠曲。每个方向的刚度分布被假定相同;因此,相关的固有振型和频率也被假定在每个方向上相同。 The kinetic energy of the tower has a component associated with the distributed mass of the beam and a component associated with the point mass: diff --git a/多体+耦合求解器/V0.5版本结果对比/对比步骤.md b/多体+耦合求解器/V0.5版本结果对比/对比步骤.md index 50ab6e3..b8abf32 100644 --- a/多体+耦合求解器/V0.5版本结果对比/对比步骤.md +++ b/多体+耦合求解器/V0.5版本结果对比/对比步骤.md @@ -15,3 +15,23 @@ q 叶片、塔架的振型如何看? 2、V0.5软件与fast 15mw对比 3、气动改用AeroDyn ED对比 + + +V4.0 vs V3.5 新增 +.fst +- seast +ElastoDyn +- 增加ptfmxyIner +- 增加YAW-FRICTION + +AD 15 +- 删去 AFAeroMod +- 删去 FrozenWake +- 增加NacelleDrag +- 增加BEM_Mod + +潜在问题: +1 刚度、模态曲线是否一致 + bladed 模态振型导出 + bladed 模态与fast一致后,计算结果如何 +2 气动结果差异 diff --git a/多体+耦合求解器/rust 经验.md b/多体+耦合求解器/rust 经验.md index b6ecd53..9acb9b7 100644 --- a/多体+耦合求解器/rust 经验.md +++ b/多体+耦合求解器/rust 经验.md @@ -18,4 +18,7 @@ aug_mat矩阵大小600     ]; ``` -![[Pasted image 20250123103848.png]] \ No newline at end of file +![[Pasted image 20250123103848.png]] + + +# 创建lib diff --git a/工作OKRs/25.2-5 OKR.canvas b/工作OKRs/25.2-5 OKR.canvas index 1051c60..9ca9720 100644 --- a/工作OKRs/25.2-5 OKR.canvas +++ b/工作OKRs/25.2-5 OKR.canvas @@ -1,11 +1,11 @@ { "nodes":[ {"id":"b698e88ca5fb9c51","type":"text","text":"状态指标:\n推进OKR的时候也要关注这些事情,它们是完成OKR的保障。\n\n\n效率状态 green","x":-96,"y":80,"width":456,"height":347}, - {"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (8/10)\n\n关键结果:对标Bladed模块完成 (8.5/10)\n\n关键结果:风机多体动力学文献调研情况完成 (5.5/10)","x":-96,"y":-307,"width":456,"height":347}, + {"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (8.5/10)\n\n关键结果:对标Bladed模块完成 (9/10)\n\n关键结果:风机多体动力学文献调研情况完成 (5.5/10)","x":-96,"y":-307,"width":456,"height":347}, {"id":"01ee5c157d0deeae","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-620,"y":80,"width":456,"height":347}, - {"id":"cb9319d24c3e70e3","type":"text","text":"# 5月已完成\n\nP1 Steady Operational Loads求解器测试 \n- 变桨算法测试完成\n- 转速算法基本完成\n- 两个结合点测试 完成\n\nP1 simpack多体对CAE的需求梳理 分成塔架、叶片、传动链模型 完成","x":-240,"y":520,"width":440,"height":560}, + {"id":"cb9319d24c3e70e3","type":"text","text":"# 5月已完成\n\nP1 Steady Operational Loads求解器编写测试 \n- 变桨算法测试完成\n- 转速算法基本完成\n- 两个结合点测试 完成\n\nP1 Steady Parked Loads求解器编写及测试\n\nP1 simpack多体对CAE的需求梳理 分成塔架、叶片、传动链模型 完成\n\nP1 建立IEA 15yaml文件 完成\nP1 结果对比\n- 完成 bladed、fast模型建立,工况设置,对比","x":-240,"y":520,"width":440,"height":560}, {"id":"1ebeabaf5c73ddbb","type":"text","text":"# 4月已完成\n\n多体原理学习 YouTube课程 018\n\n气动模块联合调试,跑通\n\n使用python搭建风电机组多体模型 刚性部件主动力、惯性力计算 \n\n编写Steady Operational Loads求解器\n- 稳态工况多体动力学求解方法 --龙格库塔+ed_caloutput 初步方案完成\n- 遍历风速框架 完成\n- 不同风速下转速、变桨角度算法 完成\n- 多体设置参数 完成\n- 每个风速直接是否需要重新初始化 需要 完成\n\n\n\ngenerator torque计算 简单了解,确定方案","x":-720,"y":520,"width":440,"height":560}, - {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\nP1 建立IEA 15yaml文件\nP1 结合yaml解析代码,联合气动更新对yaml文件的支持\nP1 结果对比\n- 优先瞬态,**如何设置计算?**\n\nP1 如何优雅的存储、输出结果。\nP1 国产化适配交给甲子营,对接\nP1 推进气动、控制、多体、水动\nP2 yaw 自由度再bug确认 已知原理了\n\n","x":-614,"y":-307,"width":450,"height":347} + {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\n\nP1 结合yaml解析代码,联合气动更新对yaml文件的支持 \nP1 结果对比\n- Herowind 不带气动与fast3.5对比\n- Herowind 不带气动与fast4.0对比\n- Herowind 带气动与fast对比\n\nP1 如何优雅的存储、输出结果。\nP1 国产化适配交给甲子营,对接\nP1 推进气动、控制、多体、水动 耦合计算\nP2 yaw 自由度再bug确认 已知原理了\n\n","x":-614,"y":-307,"width":450,"height":347} ], "edges":[] } \ No newline at end of file diff --git a/工作总结/周报/周报78-郭翼泽.docx b/工作总结/周报/周报78-郭翼泽.docx new file mode 100644 index 0000000000000000000000000000000000000000..1b7de296c21bd9bdeabd8135c83f509e5678de8e GIT binary patch literal 20916 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 literal 0 HcmV?d00001