vault backup: 2025-08-22 16:05:38
This commit is contained in:
parent
5acb792ea5
commit
0bf86bac3a
@ -0,0 +1,356 @@
|
||||
---
|
||||
epoch: 1755824594507
|
||||
modelKey: gemini-2.5-flash|google
|
||||
tags:
|
||||
- copilot-conversation
|
||||
---
|
||||
|
||||
**user**: [[CASEstab_theory_manual]]整篇文稿的逻辑是什么
|
||||
[Timestamp: 2025/08/22 09:03:14]
|
||||
|
||||
**ai**: 根据您提供的[[CASEstab_theory_manual]]笔记,这篇理论手册的逻辑结构非常清晰,遵循着一个从基础到综合、从理论到应用的构建过程,旨在完整地阐述一个用于风力涡轮机的计算气动-伺服-弹性仿真工具(CASEStab)的理论基础。
|
||||
|
||||
其核心逻辑可以概括为以下几个步骤:
|
||||
|
||||
1. **建立结构动力学基础 (第一章)**
|
||||
* **理论框架**:手册首先从最基本的物理原理出发,采用**拉格朗日方程 (Lagrange's equations)** 来推导整个系统的运动方程。这是一个经典且普适的分析力学方法,为后续所有力(惯性力、弹性力、重力、外力等)的引入提供了统一的数学框架。
|
||||
* **结构建模**:为了处理风力机这种复杂结构,手册引入了**铰接子结构 (articulated substructures)** 的概念。它将整个涡轮机(如塔筒、机舱、叶片)分解为多个更简单的子结构。这种“分而治之”的策略是整个建模的核心。
|
||||
* **具体实现**:接着,手册详细阐述了如何计算每个子结构产生的各种力,特别是**惯性力**(质量矩阵、陀螺矩阵、离心力等)。它还定义了不同类型的子结构模型,如刚体、**同向旋转梁单元 (Co-rotational beam substructure)** 等,为实际建模提供了具体的工具。
|
||||
|
||||
2. **建立气动力模型 (第二章)**
|
||||
* **力的来源**:在建立了结构模型之后,手册转向了驱动整个系统运动的主要外力——**空气动力**。
|
||||
* **作用方式**:它推导了如何将分布在叶片表面上的气动压力转化为作用于结构自由度上的**广义气动力 (Generalized aerodynamic forces)**。
|
||||
* **计算方法**:手册采用了经典的**叶素动量理论 (Blade Element Momentum, BEM)** 思想,通过分析叶片横截面上的“速度三角形”来计算升力和阻力。同时,它还考虑了非定常气动效应和尾流诱导模型,使模型更加贴近实际。
|
||||
|
||||
3. **实现气动与弹性的耦合 (第三章)**
|
||||
* **核心步骤**:这是手册的“集大成”部分,将前两章的内容结合起来,构建完整的**气动弹性运动方程 (Aeroelastic equations of motion)**。
|
||||
* **耦合机制**:其逻辑是,第二章计算出的气动力被作为**广义外力**代入第一章建立的结构运动方程中。同时,结构自身的运动(位移和速度)又会反过来影响第二章中速度三角形的构成,从而改变气动力的大小和方向。
|
||||
* **闭环系统**:这样就形成了一个完整的闭环反馈系统:**结构运动 → 改变相对风速 → 改变气动力 → 驱动结构运动**。这正是“气动弹性”的精髓。
|
||||
|
||||
4. **提供详细的附录支撑**
|
||||
* 手册的附录部分(A, B, C, D, E)不是孤立的,而是为主体章节提供了必要的深度和细节。例如:
|
||||
* 附录A 详细解释了**同向旋转梁单元法**,这是第一章中最重要的柔性子结构模型的具体实现。
|
||||
* 附录B和C 提供了气动数据输入和动态失速模型的细节,支撑了第二章的计算。
|
||||
* 附录E 提供了必要的数学公式,是整个理论推导的基础。
|
||||
|
||||
**总结来说,整篇文稿的逻辑是:**
|
||||
|
||||
首先,**构建一个通用的、基于子结构划分的结构动力学框架**;然后,**独立地建立一个详细的转子空气动力学模型**;最后,**将气动力作为外力无缝地耦合进结构动力学框架中**,形成一个能够描述风力机复杂动态行为的综合性气动弹性仿真理论。这是一个由内到外、由分到合、逻辑严谨的建模过程。
|
||||
[Timestamp: 2025/08/22 09:03:53]
|
||||
|
||||
**user**: 我现在有些觉得无从下手,如何使用Co-rotational beam substructure给风电机组叶片建模?
|
||||
[Timestamp: 2025/08/22 09:11:07]
|
||||
|
||||
**ai**: 当然,完全可以理解您觉得无从下手的感觉。将复杂的理论应用到实际模型中确实是一个挑战。让我们根据[[CASEstab_theory_manual]]笔记,把为风力机叶片建模这个过程分解成一步步可操作的指南。
|
||||
|
||||
使用**同向旋转梁子结构 (Co-rotational beam substructure)** 为叶片建模,本质上就是**将一个连续、复杂的柔性叶片,简化为一串由节点连接的、更简单的梁单元**。这种方法非常适合处理叶片这种细长且在运行时会发生很大位移和旋转的结构。
|
||||
|
||||
以下是具体的操作步骤:
|
||||
|
||||
### 第1步:理解核心思想——“大运动”与“小变形”分离
|
||||
|
||||
首先要理解“同向旋转 (Co-rotational)”的精髓。您可以把它想象成:
|
||||
1. **一个“跟随坐标系”**:每个梁单元都有一个自己的、随动的局部坐标系。当叶片整体挥舞、摆振时(大范围的刚体运动),这个坐标系也跟着移动和旋转。
|
||||
2. **局部的小变形**:相对于这个“跟随坐标系”,单元自身的拉伸、弯曲和扭转被认为是小变形。
|
||||
|
||||
通过这种方式,该方法巧妙地将复杂的非线性大转动问题,简化为在局部坐标系下的线性小变形问题,从而大大简化了计算。手册在 **1.2.2节** 和 **附录A** 中对此有详细描述。
|
||||
|
||||
### 第2步:离散化叶片——“切香肠”
|
||||
|
||||
一个真实的叶片是连续的。为了用有限元法建模,您需要将其“切片”,或者更准确地说,是将其离散化为一系列**梁单元 (beam elements)**,这些单元由**节点 (nodes)** 连接。
|
||||
|
||||
* **节点 (Nodes)**:沿着叶片展向(从叶根到叶尖)选择一系列关键点,这些就是节点。
|
||||
* **单元 (Elements)**:每两个相邻的节点之间,就是一个梁单元。
|
||||
* **自由度 (DOFs)**:根据手册 **1.2.2节** 的描述,每个节点有6个自由度:3个平动(沿x, y, z轴的位移)和3个转动。一个梁单元有两个节点,所以总共有12个自由度。
|
||||
|
||||
|
||||
|
||||
### 第3步:准备输入数据——为每个“切片”定义属性
|
||||
|
||||
这是最关键的实际操作步骤。您需要为叶片上每个截面(通常就是您划分的节点位置)提供详细的物理属性。手册的**附录A.4**中的表格清晰地列出了这些必需的输入数据:
|
||||
|
||||
1. **几何与参考系属性 (Reference system):**
|
||||
* `z`: 该截面沿叶片轴线(通常是变桨轴)到叶根的距离。
|
||||
* `xref`, `yref`: 截面参考点相对于叶片轴线的偏移量(描述了叶片的预弯和后掠)。
|
||||
* `oref`: 截面的预扭角。
|
||||
|
||||
2. **质量属性 (Mass properties):**
|
||||
* `m`: 单位长度的质量 (kg/m)。
|
||||
* `xcg`, `ycg`: 截面质心相对于参考点的位置。
|
||||
* `rx`, `ry`: 绕主惯性轴的惯性半径。
|
||||
* `orc`: 质量主惯性轴相对于参考坐标系的角度。
|
||||
|
||||
3. **刚度属性 (Stiffness properties):**
|
||||
* `E`, `G`: 杨氏模量和剪切模量。
|
||||
* `A`: 截面积。
|
||||
* `Ix`, `Iy`: 绕主弯曲轴的截面惯性矩。
|
||||
* `K`: 抗扭惯性矩。
|
||||
* 您也可以直接提供一个完整的 $6 \times 6$ 刚度矩阵。
|
||||
|
||||
**关键点**:叶片是一个非常复杂的结构,从叶根到叶尖,其截面形状、质量分布和刚度都在剧烈变化。因此,您需要准备一个包含多个截面(例如20个或更多)的属性数据表,以准确描述整个叶片。
|
||||
|
||||
### 第4步:组装成“叶片子结构”
|
||||
|
||||
当您将所有节点的属性数据输入到CASEStab这样的软件中后,程序会自动完成以下工作:
|
||||
|
||||
1. **形成单元矩阵**:根据每个单元两端节点的属性,计算出每个梁单元的质量矩阵和刚度矩阵。
|
||||
2. **组装全局矩阵**:将所有单元的矩阵“组装”起来,形成代表整个叶片这个**子结构 (substructure)** 的总质量矩阵 $\mathsf{M}^{11}$ 和非线性陀螺矩阵 $\mathsf{H}^{111}$ 等。手册 **1.2.2节** 末尾列出了这个子结构需要计算并提供的所有关键物理量(如总质量、重心位置、转动惯量矩阵等)。
|
||||
|
||||
### 第5步:将叶片连接到轮毂
|
||||
|
||||
在CASEStab的框架中,整个叶片被视为一个**子结构 (substructure)**。这个子结构的“基座”(即叶根)会连接到另一个子结构——轮毂上。
|
||||
|
||||
* 叶片的运动由两部分组成:
|
||||
1. **基座运动**:由轮毂的运动决定(平动 $\mathbf{r}_{0,b}$ 和转动 $\mathbf{R}_{0,b}$),这在公式(1.12)中有清晰体现。
|
||||
2. **自身变形**:叶片相对于其基座(叶根)的弹性变形 $\mathbf{r}_{1,b}$,这部分由您在第3、4步中建立的同向旋转梁模型来描述。
|
||||
|
||||
### 总结一下,您的工作流程应该是:
|
||||
|
||||
1. **获取数据**:找到您要建模的叶片的详细截面分布数据(几何、质量、刚度)。
|
||||
2. **划分节点**:决定沿叶片展向设置多少个节点来进行离散化,节点越多越精确,但计算量也越大。
|
||||
3. **整理输入文件**:按照手册附录A.4或所用软件的要求,将每个节点处的截面属性整理成一个标准格式的输入文件。
|
||||
4. **定义连接关系**:在模型中定义叶片这个子结构是如何连接到轮毂子结构上的。
|
||||
|
||||
完成这些步骤后,您就成功地用同向旋转梁方法建立了一个能够精确描述大范围挥舞、摆振和扭转变形的柔性叶片模型,为后续的气动弹性仿真打下了坚实的基础。
|
||||
[Timestamp: 2025/08/22 09:11:50]
|
||||
|
||||
**user**: 深入到公式层面
|
||||
[Timestamp: 2025/08/22 09:14:02]
|
||||
|
||||
**ai**: Of course. It's understandable to feel that way when faced with such dense theoretical material. Let's dive deep into the formulas from [[CASEstab_theory_manual]] and connect the dots to show how a physical blade is translated into the mathematical model of a co-rotational beam substructure.
|
||||
|
||||
We'll break this down into three key stages, following the logic of the manual:
|
||||
1. **Kinematics**: How to mathematically describe the position of any point on the blade using a few key variables (the nodal DOFs).
|
||||
2. **Inertia Calculation**: How to use this position description to calculate the blade's inertial properties (mass, center of gravity, inertia matrices).
|
||||
3. **Assembly**: How these properties for individual beam "slices" (elements) are combined to represent the entire blade.
|
||||
|
||||
---
|
||||
|
||||
### Stage 1: Kinematics - Describing the Position of Any Point
|
||||
|
||||
The ultimate goal is to find the position vector $\mathbf{r}$ of any mass particle in the blade, because all inertial forces are derived from it (see Eq. 1.8).
|
||||
|
||||
**1.1. The Big Picture: Substructure Position (Eq. 1.12)**
|
||||
|
||||
First, remember that the blade is a "substructure" (`b`). The position of any point on it is:
|
||||
$$
|
||||
\mathbf{r}_{b} = \mathbf{r}_{0,b} + \mathbf{R}_{0,b} \mathbf{r}_{1,b}
|
||||
$$
|
||||
* $\mathbf{r}_{0,b}$ and $\mathbf{R}_{0,b}$: The position and orientation of the blade root (its connection to the hub). This is the "large" rigid-body motion.
|
||||
* $\mathbf{r}_{1,b}$: The position of the point *relative to the blade root*, including all the elastic bending and twisting. This is what the co-rotational beam model describes.
|
||||
|
||||
**1.2. Zooming In: The Beam Element Position (Eq. 1.40)**
|
||||
|
||||
Now we look inside the blade model, which is made of elements (`n`). The local position vector $\mathbf{r}_{1,b}$ for a point within a single element `n` is:
|
||||
$$
|
||||
\mathbf{r}_{1,b,n} = \mathbf{r}_{\mathrm{mid},b,n} + \mathbf{E}_{b,n} \mathbf{v}_{b,n}
|
||||
$$
|
||||
* $\mathbf{r}_{\mathrm{mid},b,n}$: The position of the element's midpoint.
|
||||
* $\mathbf{E}_{b,n}$: The crucial **element coordinate system** (the "co-rotational" part). This is a $3 \times 3$ rotation matrix that follows the element's large-scale rotation.
|
||||
* $\mathbf{v}_{b,n}$: The position of the point *within the element's own moving coordinate system*. This vector contains the small, local deformations.
|
||||
|
||||
**1.3. The Heart of the Element: Local Deformation (Eq. 1.41)**
|
||||
|
||||
This is where the magic happens. The local deformation vector $\mathbf{v}_{b,n}$ is broken down:
|
||||
$$
|
||||
\mathbf{v}_{b,n} = \left\{\begin{array}{c}{x}\\ {y}\\ {\frac{1}{2}l_{n}\zeta}\end{array}\right\} + \left\{\begin{array}{c}{u_{x,n}(\zeta)}\\ {u_{y,n}(\zeta)}\\ {u_{z,n}(\zeta)}\end{array}\right\} + \left[\begin{array}{ccc}{0}&{-\theta_{z,n}(\zeta)}&{\theta_{y,n}(\zeta)}\\ {\theta_{z,n}(\zeta)}&{0}&{-\theta_{x,n}(\zeta)}\\ {-\theta_{y,n}(\zeta)}&{\theta_{x,n}(\zeta)}&{0}\end{array}\right]\left\{\begin{array}{c}{x}\\ {y}\\ {0}\end{array}\right\}
|
||||
$$
|
||||
* **First Term**: The undeformed position of the point within the element. $(x, y)$ are coordinates on the cross-section, and $\zeta$ is the coordinate along the element's length (from -1 to 1).
|
||||
* **Second Term**: The elastic **translation** ($u_x, u_y, u_z$) of the element's centerline.
|
||||
* **Third Term**: The displacement caused by the elastic **rotation** ($\theta_x, \theta_y, \theta_z$) of the cross-section.
|
||||
|
||||
These translations and rotations ($u$ and $\theta$) are not arbitrary; they are calculated from the element's 12 nodal DOFs ($\mathbf{q}_{b,n}$) using standard finite element **shape functions** (Eq. 1.42).
|
||||
|
||||
**1.4. The Final, Usable Form (Eq. 1.45)**
|
||||
|
||||
The manual rearranges Eq. 1.40 into a more practical form for integration:
|
||||
$$
|
||||
\mathbf{r}_{1,b,n} = \sum_{p=0}^{P+3}\left(\mathbf{r}_{o,b,n,p} + x\,\mathbf{r}_{x,b,n,p} + y\,\mathbf{r}_{y,b,n,p}\right)\zeta^{p}
|
||||
$$
|
||||
This brilliant step separates the position vector into parts that depend only on the nodal DOFs and the lengthwise coordinate $\zeta$ (the $\mathbf{r}_{o,x,y}$ vectors), and parts that depend on the cross-section coordinates ($x, y$). This is the key that unlocks the integration in the next stage.
|
||||
|
||||
---
|
||||
|
||||
### Stage 2: Inertia Calculation - From Position to Mass Matrices
|
||||
|
||||
Now that we have a formula for the position of *any* point, we can plug it into the master inertia formulas (Eq. 1.8) and perform the volume integral.
|
||||
|
||||
**2.1. Splitting the Integral (Eq. 1.39)**
|
||||
|
||||
The volume integral over the whole blade substructure is the sum of integrals over each element. The integral over an element is split into an area integral (over the cross-section $d\mathcal{A}$) and a line integral (along the length $d\zeta$):
|
||||
$$
|
||||
\int_{\mathcal{V}}(\cdot)d\mathcal{V} = \sum_{n=1}^{N_{e,b}}\left(\frac{l_{n}}{2}\int_{-1}^{1}\int_{\mathcal{A}}(\cdot)d\mathcal{A}d\zeta\right)
|
||||
$$
|
||||
|
||||
**2.2. The Area Integral (Eq. 1.48)**
|
||||
|
||||
This is where your input data comes in. The integrals over the cross-section area are pre-calculated based on the properties you provide (mass per unit length, CoG, moments of inertia). For example:
|
||||
$$
|
||||
\int_{A}\rho\,d A = m(\zeta) \quad ; \quad \int_{A}\rho x\,d A = m(\zeta) x_{cg}(\zeta) \quad ; \quad \int_{A}\rho x^{2}\,d A = i_{yy}(\zeta)
|
||||
$$
|
||||
The manual represents these varying properties as polynomials in $\zeta$ with coefficients $a_{m,r}, a_{m x_{c g},r}$, etc.
|
||||
|
||||
**2.3. The Line Integral and the Generic Operator $\mathcal{G}$ (Eq. 1.52)**
|
||||
|
||||
This is the computational core. After the area integral is done, you are left with a line integral along $\zeta$. The manual defines a generic operator $\mathcal{G}$ to handle this systematically. Let's look at the local mass matrix of an element, $m_{ij}^{11}$ (Eq. 1.53), as an example:
|
||||
$$
|
||||
m_{i j}^{11}=\frac{l}{2}\sum_{p,q,r} c\left(q+r+p\right)\;{\mathcal G}\left\{\mathbf a_{r},\mathbf r_{o,q,q_{i}},...,\mathbf r_{y,p,q_{j}}\right\}
|
||||
$$
|
||||
Let's decode this:
|
||||
* **Triple Summation**: This iterates through all combinations of the polynomial terms from the position vector (Eq. 1.45) and the cross-sectional properties (Eq. 1.48).
|
||||
* $c(q+r+p)$: This function (defined in Eq. 1.50) is simply the result of the definite integral $\int_{-1}^{1} \zeta^k d\zeta$. It's a pre-calculated constant.
|
||||
* $\mathcal{G}\{\dots\}$: This operator (Eq. 1.52) is a structured way to multiply the cross-section properties (the `a` vector) with the corresponding position vector components (the `r` vectors and their derivatives). For instance, it multiplies the mass per unit length ($a_m$) with the translational parts of the position vector ($\mathbf{r}_o^T \mathbf{r}_o$), the mass moment ($a_{m x_{cg}}$) with the cross-terms between translation and rotation ($\mathbf{r}_o^T \mathbf{r}_x$), and so on.
|
||||
|
||||
In essence, **Eqs. 1.53-1.56 are the computational recipes for calculating all the necessary inertia matrices of a single beam element** by systematically combining the pre-integrated cross-sectional properties with the shape functions that describe the element's deformation.
|
||||
|
||||
---
|
||||
|
||||
### Stage 3: Assembly - From Elements to the Whole Blade
|
||||
|
||||
The final step is straightforward. The properties calculated for each individual element (`n`) are summed up to get the properties for the entire blade substructure (`b`).
|
||||
|
||||
As stated at the end of section 1.2.2, the substructure object must provide:
|
||||
* **Total Mass $M$ and Center of Gravity $\mathbf{r}_{cg}$**: Calculated by summing the contributions from each element (using formulas like Eq. 1.51a).
|
||||
* **Local Mass Matrix $\mathsf{M}^{11}$**: Assembled by placing the individual 12x12 element mass matrices (calculated via Eq. 1.53) into a larger matrix for the whole substructure.
|
||||
* **Other matrices ($\mathsf{H}^{111}$, $\mathbf{I}_{base}$)**: Assembled in a similar fashion from their element-level counterparts (Eq. 1.54, 1.55).
|
||||
|
||||
This assembled set of matrices and vectors is the final output of the co-rotational beam model. It provides the main solver with everything it needs to calculate the inertial forces generated by the blade's elastic deformation, which are then plugged back into the global equations of motion (Eq. 1.7).
|
||||
[Timestamp: 2025/08/22 09:15:02]
|
||||
|
||||
**user**: 中文回复
|
||||
[Timestamp: 2025/08/22 09:21:39]
|
||||
|
||||
**ai**: 好的,我们来深入到公式层面,详细解释如何使用**同向旋转梁子结构 (Co-rotational beam substructure)** 来对风电机组叶片进行建模。这个过程的核心在于如何用数学公式精确描述叶片上任意一点的位置,进而推导出其动力学特性。
|
||||
|
||||
我们将这个过程分解为几个关键步骤,并结合您提供的笔记中的具体公式进行阐述。
|
||||
|
||||
---
|
||||
|
||||
### 1. 运动学:描述叶片上任意一点的位置
|
||||
|
||||
所有动力学计算的基础都是精确描述结构中每个质点的位置。
|
||||
|
||||
**1.1 子结构整体位置 (Eq. 1.12)**
|
||||
|
||||
首先,叶片被视为一个子结构 $b$。叶片上任意一个质点的位置矢量 $\mathbf{r}_{b}$ 可以分解为两部分:
|
||||
$$
|
||||
\mathbf{r}_{b}\left(t,\mathbf{q};x,y,z\right)=\mathbf{r}_{0,b}\left(t,\mathbf{q}\right)+\mathbf{R}_{0,b}\left(t,\mathbf{q}\right)\mathbf{r}_{1,b}\left(\mathbf{q}_{b};x,y,z\right) \tag{1.12}
|
||||
$$
|
||||
* $\mathbf{r}_{0,b}(t,\mathbf{q})$:表示子结构基座(即叶根)在惯性坐标系中的平动位置。它描述了叶片作为刚体的大范围运动。
|
||||
* $\mathbf{R}_{0,b}(t,\mathbf{q})$:表示子结构基座在惯性坐标系中的转动矩阵。它描述了叶片作为刚体的大范围转动。
|
||||
* $\mathbf{r}_{1,b}(\mathbf{q}_{b};x,y,z)$:表示质点在子结构局部坐标系中的位置矢量,它包含了叶片自身的弹性变形。这正是同向旋转梁模型要详细描述的部分。
|
||||
|
||||
**1.2 梁单元局部位置 (Eq. 1.40)**
|
||||
|
||||
叶片子结构由一系列梁单元 $n$ 组成。对于其中一个梁单元上的质点,其局部位置矢量 $\mathbf{r}_{1,b,n}$ 可以进一步分解:
|
||||
$$
|
||||
\mathbf{r}_{1,b,n}=\mathbf{r}_{\mathrm{mid},b,n}\left(\mathbf{q}_{b,n}\right)+\mathbf{E}_{b,n}\left(\mathbf{q}_{b,n}\right)\mathbf{v}_{b,n}\left(\mathbf{q}_{b,n};x,y,\zeta\right) \tag{1.40}
|
||||
$$
|
||||
* $\mathbf{r}_{\mathrm{mid},b,n}(\mathbf{q}_{b,n})$:表示梁单元中点相对于子结构基座的平动位置。它线性依赖于单元节点的位移自由度(见附录A.1中的Eq. A.2)。
|
||||
* $\mathbf{E}_{b,n}(\mathbf{q}_{b,n})$:这是**单元坐标系 (Element Coordinate System, ECS)** 的转动矩阵,是同向旋转方法的关键。它捕捉了单元的大范围转动,并依赖于单元的12个节点自由度 $\mathbf{q}_{b,n}$。
|
||||
* $\mathbf{v}_{b,n}(\mathbf{q}_{b,n};x,y,\zeta)$:表示质点在**单元坐标系**中的位置矢量,它包含了单元内部的局部弹性变形。
|
||||
|
||||
**1.3 单元内部局部变形 (Eq. 1.41)**
|
||||
|
||||
$\mathbf{v}_{b,n}$ 矢量进一步细化了单元内部的局部变形:
|
||||
$$
|
||||
\mathbf{v}_{b,n}=\left\{\begin{array}{c}{x}\\ {y}\\ {\frac{1}{2}l_{n}\zeta}\end{array}\right\}+\left\{\begin{array}{c}{u_{x,n}(\zeta)}\\ {u_{y,n}(\zeta)}\\ {u_{z,n}(\zeta)}\end{array}\right\}+\left[\begin{array}{c c c}{0}&{-\theta_{z,n}(\zeta)}&{\theta_{y,n}(\zeta)}\\ {\theta_{z,n}(\zeta)}&{0}&{-\theta_{x,n}(\zeta)}\\ {-\theta_{y,n}(\zeta)}&{\theta_{x,n}(\zeta)}&{0}\end{array}\right]\left\{\begin{array}{c}{x}\\ {y}\\ {0}\end{array}\right\} \tag{1.41}
|
||||
$$
|
||||
* **第一项**:$\left\{x, y, \frac{1}{2}l_{n}\zeta\right\}^{T}$ 表示质点在单元坐标系中未变形时的初始位置。其中 $x, y$ 是截面坐标,$\zeta$ 是沿单元长度的无量纲坐标(从-1到1),$l_n$ 是单元初始长度。
|
||||
* **第二项**:$\left\{u_{x,n}(\zeta), u_{y,n}(\zeta), u_{z,n}(\zeta)\right\}^{T}$ 表示单元中心线的弹性平移变形。
|
||||
* **第三项**:包含反对称矩阵的项,描述了截面弹性转动($\theta_x, \theta_y, \theta_z$)引起的位移。
|
||||
|
||||
这些平移 $u$ 和转动 $\theta$ 都是通过**形函数多项式 (shape function polynomials)** (Eq. 1.42) 从单元的12个节点自由度 $\mathbf{q}_{b,n}$ 计算出来的。形函数矩阵 $\mathbf{N}_{n,p}$ 和非线性矢量函数 $\mathbf{g}(\mathbf{q}_{b,n})$ 负责将节点自由度映射到单元内部的连续变形场。
|
||||
|
||||
**1.4 便于积分的最终形式 (Eq. 1.45)**
|
||||
|
||||
为了方便后续的积分计算,手册将 $\mathbf{r}_{1,b,n}$ 重新组织为:
|
||||
$$
|
||||
\mathbf{r}_{1,b,n}=\sum_{p=0}^{P+3}\left(\mathbf{r}_{o,b,n,p}+x\,\mathbf{r}_{x,b,n,p}+y\,\mathbf{r}_{y,b,n,p}\right)\zeta^{p} \tag{1.45}
|
||||
$$
|
||||
其中,$\mathbf{r}_{o,b,n,p}$、$\mathbf{r}_{x,b,n,p}$ 和 $\mathbf{r}_{y,b,n,p}$ 是系数子矢量 (Eq. 1.46a, 1.46b, 1.46c)。这个形式的巧妙之处在于,它将依赖于截面坐标 $(x, y)$ 的部分与依赖于单元长度坐标 $\zeta$ 和节点自由度 $\mathbf{q}_{b,n}$ 的部分清晰地分离开来,极大地简化了后续的体积积分。
|
||||
|
||||
---
|
||||
|
||||
### 2. 惯性力计算:从位置到质量矩阵
|
||||
|
||||
有了质点位置的精确描述,我们就可以计算叶片的惯性特性。
|
||||
|
||||
**2.1 惯性力的通用公式 (Eq. 1.8)**
|
||||
|
||||
拉格朗日运动方程 (Eq. 1.7) 中的惯性力项(质量矩阵 $m_{ij}$、陀螺矩阵 $g_{ij}$、非线性陀螺矩阵 $h_{ijk}$ 和离心力 $F_{c,i}$)都通过对动能 $T$ 求导得到,而动能 $T$ 又是由质点速度 $\dot{\mathbf{r}}$ 的体积积分得到 (Eq. 1.4)。因此,所有这些惯性系数都最终归结为对位置矢量 $\mathbf{r}$ 及其对广义坐标 $q_i$ 和时间 $t$ 的偏导数的体积积分 (Eq. 1.8)。
|
||||
|
||||
**2.2 梁单元上的体积积分分解 (Eq. 1.39)**
|
||||
|
||||
对于同向旋转梁子结构,体积积分被分解为每个单元上的积分之和。每个单元上的体积积分又被分解为截面面积积分和沿单元长度的线积分:
|
||||
$$
|
||||
\int_{\mathcal{V}}\left(\right)d\mathcal{V}=\sum_{n=1}^{N_{e,b}}\left(\frac{l_{n}}{2}\int_{-1}^{1}\int_{\mathcal{A}}\left(\right)d\mathcal{A}d\zeta\right) \tag{1.39}
|
||||
$$
|
||||
|
||||
**2.3 截面属性的引入 (Eq. 1.48)**
|
||||
|
||||
面积积分的结果就是叶片截面的物理属性,例如单位长度质量 $m$、质心坐标 $x_{cg}, y_{cg}$ 和惯性矩 $I_{xx}, I_{yy}, I_{xy}$。这些属性通常沿叶片展向是变化的,手册将其表示为 $\zeta$ 的多项式,其系数为 $a_{m,r}, a_{m x_{cg},r}$ 等 (Eq. 1.48)。这些系数是您在建模时需要提供的输入数据。
|
||||
|
||||
**2.4 惯性矩阵元素的计算 (Eq. 1.53 - 1.56)**
|
||||
|
||||
在完成了面积积分后,剩下的就是沿单元长度 $\zeta$ 的线积分。手册引入了一个**通用算子 $\mathcal{G}$ (Eq. 1.52)** 来系统地处理这些积分。例如,局部质量矩阵 $\mathsf{M}^{11}$ 的元素 $m_{ij}^{11}$ (Eq. 1.53) 的计算公式如下:
|
||||
$$
|
||||
m_{i j}^{11}=\frac{l}{2}\sum_{p=0}^{P+3}\left(\sum_{r=0}^{P}\left(\sum_{q=0}^{P+3}c\left(q+r+p\right)\;{\mathcal G}\left\{\mathbf a_{r},\mathbf r_{o,q,q_{i}},\mathbf r_{x,q,q_{i}},\mathbf r_{y,q,q_{i}},\mathbf r_{o,p,q_{j}},\mathbf r_{x,p,q_{j}},\mathbf r_{y,p,q_{j}}\right\}\right)\right) \tag{1.53}
|
||||
$$
|
||||
* **多重求和**:遍历了位置矢量 (Eq. 1.45) 和截面属性 (Eq. 1.48) 中的所有多项式项。
|
||||
* $c(q+r+p)$:这是一个系数函数 (Eq. 1.50),它代表了 $\int_{-1}^{1} \zeta^k d\zeta$ 的结果,是预先计算好的常数。
|
||||
* $\mathcal{G}\{\dots\}$:这个算子 (Eq. 1.52) 将截面属性系数 $\mathbf{a}_r$ 与位置矢量分量(及其对自由度的导数,如 $\mathbf{r}_{o,q,q_i}$)进行结构化的乘积运算。例如,它将单位长度质量 $a_m$ 与平动相关的项相乘,将质量惯性矩 $a_{m x_{cg}}$ 与平动和转动交叉相关的项相乘,等等。
|
||||
|
||||
类似地,非线性陀螺矩阵 $h_{ijk}^{111}$ (Eq. 1.54) 和转动惯量矩阵 $\mathbf{I}_{base}$ (Eq. 1.55) 也是通过类似的方式计算的。这些公式的实现需要计算系数子矢量 (Eq. 1.46) 及其对节点自由度的一阶和二阶导数 (Eq. 1.57, 1.58)。
|
||||
|
||||
---
|
||||
|
||||
### 3. 气动力:叶片变形对气动力的影响
|
||||
|
||||
叶片的弹性变形会改变其几何形状和迎角,从而影响气动力。
|
||||
|
||||
**3.1 广义气动力 (Eq. 2.11)**
|
||||
|
||||
作用在叶片 $\beta$ 上的广义气动力 $Q_{i,\beta}$ 是通过对气动压力在叶片表面上的积分得到的。最终,它被简化为沿叶片展向的积分:
|
||||
$$
|
||||
Q_{i,\beta}=\int_{0}^{L}\left(\frac{\partial\mathbf{r}_{a c,\beta}^{T}}{\partial q_{i}}\;\pmb{\mathsf{E}}_{c,\beta}\mathbf{\hat{f}}_{c,\beta}+\frac{\partial\mathbf{e}_{1,c,\beta}^{T}}{\partial q_{i}}\;\pmb{\mathsf{e}}_{2,c,\beta}\;M_{\beta}\right)d s \tag{2.11}
|
||||
$$
|
||||
* $\mathbf{r}_{ac,\beta}$:气动中心的位置矢量。
|
||||
* $\pmb{\mathsf{E}}_{c,\beta}$:弦坐标系 (Chord Coordinate System, CCS) 的转动矩阵。
|
||||
* $\mathbf{\hat{f}}_{c,\beta}$:局部气动力矢量。
|
||||
* $M_{\beta}$:局部气动力矩。
|
||||
* 这些项都依赖于叶片的结构位移 $\mathbf{q}$。
|
||||
|
||||
**3.2 气动中心位置和弦坐标系单位矢量 (Eq. 3.14, 3.26)**
|
||||
|
||||
为了计算 Eq. 2.11 中的积分,我们需要气动中心 (AC) 在子结构坐标系中的位置矢量 $\mathbf{r}_{ac,1,b,n}$ 及其对自由度的导数,以及弦坐标系 (CCS) 的第一个单位矢量 $\mathbf{e}_{1,c,1,b,n}$ 及其对自由度的导数。这些都通过分段多项式函数来近似,并依赖于单元的节点自由度 $\mathbf{q}_{b,n}$ 和截面几何属性 (Eq. 3.14, 3.26)。
|
||||
|
||||
**3.3 单元对广义气动力的贡献 (Eq. 3.34)**
|
||||
|
||||
最终,每个单元 $n$ 对子结构 $b$ 在自由度 $q_i$ 上的广义气动力 $Q_{i,b,n}$ 的贡献,是通过对这些分段多项式函数进行积分得到的:
|
||||
$$
|
||||
Q_{i,b,n} = \frac{l_n}{2} \left( \sum_{m=1}^{N_{a,b,n}-1} \left( \sum_{p=0}^{P+4} \left( \sum_{r=0}^{1} \frac{b_{b,n,m}^{p+r+1} - a_{b,n,m}^{p+r+1}}{p+r+1} \right. \right. \right. \\
|
||||
\left. \left( \mathbf{r}_{ac,1,b,n,m,p,q_i}^T \left( w_{b,n,m,r} \mathbf{f}_{1,b,j_b,n,m} + w_{b,n,m+1,r} \mathbf{f}_{1,b,j_b,n,m+1} \right) \right. \right. \\
|
||||
\left. \left. \left. + \mathbf{e}_{1,c,1,b,n,m,p,q_i}^T \left( w_{b,n,m,r} \mathbf{m}_{1,b,j_b,n,m} + w_{b,n,m+1,r} \mathbf{m}_{1,b,j_b,n,m+1} \right) \right) \right) \right) \tag{3.34}
|
||||
$$
|
||||
这个公式非常复杂,但其核心思想是:
|
||||
* **分段线性插值**:气动力和力矩在单元上是分段线性分布的 (Eq. 3.6, 3.7),由气动计算点 (ACPs) 的力和力矩值 $\mathbf{f}_{1,b,j}$ 和 $\mathbf{m}_{1,b,j}$ 以及权重 $w$ (Eq. 3.10, 3.11) 决定。
|
||||
* **多项式积分**:气动中心位置和CCS单位矢量也表示为多项式 (Eq. 3.14, 3.26)。
|
||||
* **组合积分**:将这些多项式和分段线性函数相乘并积分,得到单元对广义气动力的贡献。
|
||||
|
||||
---
|
||||
|
||||
**总结:**
|
||||
|
||||
从公式层面来看,使用同向旋转梁子结构对风电机组叶片建模是一个**多层次、多步骤的数学推导和计算过程**:
|
||||
|
||||
1. **从全局到局部**:首先将叶片视为一个子结构,其运动分解为基座的大范围运动和自身的局部弹性变形。
|
||||
2. **单元离散化**:叶片自身的弹性变形通过一系列梁单元来描述,每个单元有12个自由度。
|
||||
3. **局部坐标系**:每个梁单元都有一个随动(同向旋转)的局部坐标系,将大转动问题转化为局部的小变形问题。
|
||||
4. **形函数**:利用形函数将节点自由度映射到单元内部的连续变形场。
|
||||
5. **体积积分**:通过对质点位置矢量及其导数进行体积积分,计算出每个单元的质量、陀螺和离心力等惯性特性。这些积分被巧妙地分解为截面面积积分(由输入数据提供)和沿长度的线积分。
|
||||
6. **气动力耦合**:叶片的变形会影响气动中心位置和弦坐标系方向,进而影响气动力和力矩的分布。这些气动力和力矩通过分段线性函数和多项式近似,并积分到结构自由度上,形成广义气动力。
|
||||
7. **组装**:将所有单元的贡献(惯性力、气动力)组装起来,形成整个叶片子结构的动力学方程。
|
||||
|
||||
这个过程的复杂性在于需要精确处理大范围运动下的几何非线性,并通过同向旋转框架将其有效地分解和计算。
|
||||
[Timestamp: 2025/08/22 09:22:08]
|
@ -288,7 +288,8 @@ $$
|
||||
|
||||
where the diagonal matrices $\boldsymbol{\mathsf{M}}^{00}$ and $\boldsymbol{\mathsf{M}}^{11}$ are the mass matrix contributions for the DOFs of the supporting sub structures and the DOFs of the substructure, respectively, and $\boldsymbol{\mathsf{M}}^{10}$ and $\boldsymbol{\mathsf{M}}^{01}$ are the mass matrix contributions that coupled these DOFs. Remember that $\boldsymbol{\mathsf{M}}^{10}=\boldsymbol{\mathsf{M}}^{01^{T}}$ because the mass matrix is symmetric; the gyroscopic and centrifugal stiffness matrices are not symmetric.
|
||||
其中对角矩阵 $\boldsymbol{\mathsf{M}}^{00}$ 和 $\boldsymbol{\mathsf{M}}^{11}$ 分别是支撑子结构自由度和子结构自由度的质量矩阵贡献,而 $\boldsymbol{\mathsf{M}}^{10}$ 和 $\boldsymbol{\mathsf{M}}^{01}$ 是耦合这些自由度的质量矩阵贡献。请记住,由于质量矩阵是对称的,所以 $\boldsymbol{\mathsf{M}}^{10}=\boldsymbol{\mathsf{M}}^{01^{T}}$;陀螺和离心刚度矩阵则不对称。
|
||||
Similar, we subdivide the nonlinear threedimensional gyroscopic matrix into two $_{2\times2}$ block matrices:
|
||||
|
||||
Similar, we subdivide the nonlinear three-dimensional gyroscopic matrix into two $_{2\times2}$ block matrices:
|
||||
类似地,我们将非线性三维陀螺矩阵细分为两个 ${2\times2}$ 块矩阵:
|
||||
$$
|
||||
\mathsf{H}_{i}^{0}=\left[\begin{array}{l l}{\mathsf{H}^{000}}&{\mathsf{H}^{001}}\\ {\mathsf{H}^{010}}&{\mathsf{H}^{011}}\end{array}\right]\ \mathsf{a n d}\ \mathsf{H}_{i}^{1}=\left[\begin{array}{l l}{\mathsf{H}^{100}}&{\mathsf{H}^{101}}\\ {\mathsf{H}^{110}}&{\mathsf{H}^{111}}\end{array}\right]\tag{1.20}
|
||||
|
@ -146,4 +146,30 @@ m%AllOuts(NcIMURAzs) = DOT_PRODUCT( AngAccER , m%CoordSys%
|
||||
m%AllOuts(LSShftFxa) = DOT_PRODUCT( FrcPRot, m%CoordSys%e1 )
|
||||
m%AllOuts(LSShftFys) = -DOT_PRODUCT( FrcPRot, m%CoordSys%c3 )
|
||||
m%AllOuts(LSShftFzs) = DOT_PRODUCT( FrcPRot, m%CoordSys%c2 )
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
self.avr_swap[10] = self.demanded_pitch as f32;
|
||||
self.avr_swap[34] = self.gen_state as f32; 1
|
||||
|
||||
| |
|
||||
|---|
|
||||
|49|
|
||||
|50|
|
||||
|51|
|
||||
报错信息
|
||||
|
||||
self.avr_swap[60] = self.num_blades as f32;
|
||||
|
||||
|
||||
self.avr_swap[68] = self.root_mxc[0] as f32;
|
||||
|
||||
self.avr_swap[69] = self.root_mxc[1] as f32;
|
||||
|
||||
self.avr_swap[70] = self.root_mxc[2] as f32;
|
||||
|
||||
78 默认是4
|
||||
|
||||
94
|
||||
|
||||
初始化在swap,会被外层覆盖
|
@ -5,8 +5,8 @@
|
||||
{"id":"d2c5e076ba6cf7d7","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-600,"y":-306,"width":456,"height":347},
|
||||
{"id":"82708a439812fdc7","type":"text","text":"# 7月已完成\n\nP1 工况点稳态变形量求解,F=kx\n- 文献调研,初步确定思路 done\n- 推导方程 done\n- 编写组建增广矩阵,求解广义坐标代码 done\n- 测试广义坐标到叶片变形量功能 可以变形,气动Cp会改变\n- 连接气动测试,完成。存在一个问题,气动是否要用稳态模型\n- 直接迭代到变形量收敛 思路确定了 完成\n- x.qt x.qdt数据如何从dxdt.qdt拿来/更新,预估校正方法 steady中预估矫正方法去掉了\n\nP1 职称评审系统填写,材料梳理上传 盖章\n\nP1 数值扰动+回归的线性化方法原理探究\n\nP1 dtu casestab开源项目,稳态运行状态叶片模态、频率计算方法研究。\n- 形成项目研究报告\n\nP1 控制信号到多体调研\n- 调研完成\n- 控制项目集成\n\nP1 产出的报告 线性化理论手册编写 完成","x":-220,"y":134,"width":440,"height":560},
|
||||
{"id":"505acb3e6b119076","type":"text","text":"# 6月已完成\n\n\nP1 结果对比\n- Herowind 带3.5气动与fast3.5对比 相同\n- Herowind 带4.0气动与fast4.0对比 相同\n- Herowind 带hrl气动与fast对比 需气动支持15MW\n- 叶根坐标系转换 \n\t- 叶尖变形量 - 变形向量 dot product 叶根坐标系方向\n\t- 叶片载荷输入量呢 载荷传递在blade mesh.force moment,mesh.orientation = coord_sys.n\n\nP1 Bladed交流问题汇总\n\nP1 模型线性化原理 done\n- Bladed 线性化理论手册 仔细阅读\n- multibody blade transform\n- fast线性化理论\n- 梳理Bladed线性化方法框架\n\n\nP1 编写线性化理论手册 done\nP1 上手Bladed \\ fast 线性化功能,研究OpenFAST线性化实现原理 done","x":-700,"y":134,"width":440,"height":560},
|
||||
{"id":"30cb7486dc4e224c","type":"text","text":"# 8月已完成\n\nP1 bladed多体参数梳理 完成\n\nP1 控制调通\n- 测试编译方案 搁置\n- 上传git 完成\n- 封装controller_init函数","x":260,"y":134,"width":440,"height":560},
|
||||
{"id":"c18d25521d773705","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP2 柔性部件 叶片、塔架变形算法 主线\n- 变形体动力学 简略看看ing\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n\t\n- 梳理bladed动力学框架\n\t- 子结构文献阅读\n\t- 叶片模型建模 done\n- 共旋方法学习\n- DTU 变形量计算方法学习\n\n\nP1 线性化方法编写 搁置\n\nP1 控制调通\n\n- 编写传递逻辑\n\n\n\nP1 湍流 气动 多体 控制联调\n\nP1 bladed对比--产出报告\n- 稳态变形量对比 -- steady power production loading、steady parked loading\n\n\nP2 如何优雅的存储、输出结果。\nP2 yaw 自由度再bug确认 已知原理了\n","x":-597,"y":-693,"width":453,"height":347}
|
||||
{"id":"30cb7486dc4e224c","type":"text","text":"# 8月已完成\n\nP1 bladed多体参数梳理 完成\n\nP1 控制调通\n- 测试编译方案 搁置\n- 上传git 完成\n- 封装controller_init函数\n- 封装控制模块结构体、计算函数等\n- 完成多体模块与控制模块数据传递函数编写\n- 完成正常发电工况功能集成控制模块\n\n","x":260,"y":134,"width":440,"height":560},
|
||||
{"id":"c18d25521d773705","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP2 柔性部件 叶片、塔架变形算法 主线\n- 变形体动力学 简略看看ing\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n\t\n- 梳理bladed动力学框架\n\t- 子结构文献阅读\n\t- 叶片模型建模 done\n- 共旋方法学习\n- DTU 变形量计算方法学习\n\n\nP1 线性化方法编写 搁置\n\nP1 控制调通\n- 控制输入参数调整\n- 输出测试\n- 气动 多体 控制\n\nP1 湍流 气动 多体 控制联调\n\nP1 bladed对比--产出报告\n- 稳态变形量对比 -- steady power production loading、steady parked loading\n\n\nP2 如何优雅的存储、输出结果。\nP2 yaw 自由度再bug确认 已知原理了\n","x":-597,"y":-693,"width":453,"height":347}
|
||||
],
|
||||
"edges":[]
|
||||
}
|
BIN
工作总结/周报/周报91-郭翼泽.docx
Normal file
BIN
工作总结/周报/周报91-郭翼泽.docx
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user