vault backup: 2025-08-21 16:48:28
This commit is contained in:
parent
f7f8171039
commit
5acb792ea5
@ -572,6 +572,7 @@ where $(x,y,z)\in\mathcal{V}$
|
||||
|
||||
The nonlinear corotational finite beam element methodology used for this type of substructures is described in details in Appendix A. The methodology is similar to Crisfield [2] and Krenk [3] except that the nonlinear geometric formulation is explicit, i.e., the element coordinate systems and the local small rotations of the nodes are given as explicit nonlinear functions of the global nodal DOFs. The elastic deformation and compliance of the element is adapted from the equilibrium element proposed by Krenk and Couturier [4].
|
||||
用于此类子结构的非线性同向旋转有限梁单元方法在附录A中详细描述。该方法与Crisfield和Krenk的方法类似,不同之处在于非线性几何公式是显式的,即单元坐标系和节点的局部小旋转被表示为全局节点自由度的显式非线性函数。单元的弹性变形和柔度则改编自Krenk和Couturier提出的平衡单元。
|
||||
|
||||
A corotational beam substructure consists of finite beam elements with two end-nodes having six DOFs: three translations and three rotations (using Rodrigues parameters) in the substructure coordinate system. The DOF vector of the substructure
|
||||
一种共转动梁子结构由有两个端节点的有限梁单元组成,在子结构坐标系中,每个端节点具有六个自由度(DOFs):三个平移和三个旋转(使用罗德里格斯参数)。该子结构的自由度向量如下:
|
||||
### Inertia forces
|
||||
@ -790,13 +791,13 @@ The substructure object must return the following scalar, vectors, and matrices:
|
||||
- $\mathsf{M}^{11}$ 通过收集所有 12x12 单元质量矩阵 (1.53) 在其对角线上构建的共旋转子结构的局部质量矩阵。
|
||||
- $\mathsf{H}^{111}$ 通过收集所有 12x12x12 单元非线性陀螺矩阵 (1.54) 在其对角线上构建的共旋转子结构的局部非线性陀螺矩阵。该局部矩阵是三维的,其中每个单元两端的十二个节点速度会在同一单元的十二个 DOF 方程上产生陀螺力。
|
||||
- $\begin{array}{r}{\mathbf{I}_{b a s e}=\sum_{n=1}^{N_{e,b}}\mathbf{I}_{b a s e,n}}\end{array}$ $\mathsf{3}\mathsf{x}\mathsf{3}$ 旋转惯性矩阵,其中每个元素的贡献由 (1.55) 给出。
|
||||
# Gravity forces
|
||||
### Gravity forces
|
||||
|
||||
# Elastic stiffness forces
|
||||
### Elastic stiffness forces
|
||||
|
||||
Structural damping forces
|
||||
|
||||
# 1.2.3 Linear superelement substructure
|
||||
### 1.2.3 Linear super-element substructure
|
||||
|
||||
# 2 Rotor aerodynamics
|
||||
|
||||
@ -1430,35 +1431,35 @@ where $\mathsf{f}_{a l l,1,b,n}$ and $\mathbf{m}_{a l l,1,b,n}$ are vectors of l
|
||||
# A Corotational beam element method
|
||||
|
||||
This appendix contains the description and derivations of the corotational finite beam element method im plemented in CASEStab. The methodology is similar to Crisfield [2] and Krenk [3] except that the nonlinear geometric formulation is explicit, i.e., the element coordinate systems and the local small rotations of the nodes are given as explicit nonlinear functions of the global nodal DOFs.
|
||||
|
||||
本附录包含在CASEStab中实现的共旋有限梁单元法的描述和推导。该方法与Crisfield [2] 和 Krenk [3] 的方法类似,不同之处在于非线性几何公式是显式的,即单元坐标系和节点的局部小转动被表示为全局节点自由度的显式非线性函数。
|
||||
# A.1 Nonlinear kinematic formulation
|
||||
|
||||
The element has two endnodes with each six DOFs, three translations and three rotations. We can denote the 12 DOFs of an element as
|
||||
|
||||
The element has two end-nodes with each six DOFs, three translations and three rotations. We can denote the 12 DOFs of an element as
|
||||
该单元有两个端节点,每个节点有六个自由度,包括三个平动和三个转动。我们可以将单元的12个自由度表示为
|
||||
$$
|
||||
\mathbf{q}_{n}=\left\{\begin{array}{l l}{q_{n,1}}\\ {q_{n,2}}\\ {q_{n,3}}\\ {q_{n,4}}\\ {q_{n,5}}\\ {q_{n,6}}\\ {q_{n,7}}\\ {q_{n,8}}\\ {q_{n,9}}\\ {q_{n,10}}\\ {q_{n,11}}\\ {q_{n,12}}\end{array}\right\}
|
||||
\mathbf{q}_{n}=\left\{\begin{array}{l l}{q_{n,1}}\\ {q_{n,2}}\\ {q_{n,3}}\\ {q_{n,4}}\\ {q_{n,5}}\\ {q_{n,6}}\\ {q_{n,7}}\\ {q_{n,8}}\\ {q_{n,9}}\\ {q_{n,10}}\\ {q_{n,11}}\\ {q_{n,12}}\end{array}\right\}\tag{A.1}
|
||||
$$
|
||||
|
||||
where
|
||||
|
||||
$$
|
||||
\mathsf{r}_{\mathrm{mid},n}=\mathsf{r}_{\mathrm{mid},0,n}+\frac{1}{2}\left(\left\{\begin{array}{l}{q_{n,1}}\\ {q_{n,2}}\\ {q_{n,3}}\end{array}\right\}+\left\{\begin{array}{l}{q_{n,7}}\\ {q_{n,8}}\\ {q_{n,9}}\end{array}\right\}\right)
|
||||
\mathsf{r}_{\mathrm{mid},n}=\mathsf{r}_{\mathrm{mid},0,n}+\frac{1}{2}\left(\left\{\begin{array}{l}{q_{n,1}}\\ {q_{n,2}}\\ {q_{n,3}}\end{array}\right\}+\left\{\begin{array}{l}{q_{n,7}}\\ {q_{n,8}}\\ {q_{n,9}}\end{array}\right\}\right)\tag{A.2}
|
||||
$$
|
||||
|
||||
where ${\sf r}_{{\sf m i d},0,n}$ is the initial position of the element midpoint.
|
||||
|
||||
其中 ${\sf r}_{{\sf m i d},0,n}$ 是单元中点的初始位置。
|
||||
# A.1.1 Element coordinate system
|
||||
|
||||
A.1.2 Elastic stiffness matrix
|
||||
# A.1.2 Elastic stiffness matrix
|
||||
|
||||
# A.2 Model input for corotational beam structures
|
||||
|
||||
A.3 Structural HAWC2 input translator
|
||||
# A.3 Structural HAWC2 input translator
|
||||
|
||||
This section contains a description of the HAWC2 translator that enables the loading of the structural data from HAWC2 models.
|
||||
|
||||
In HAWC2, the crosssectional properties of the stfile are given in the coordinate system
|
||||
|
||||
In HAWC2, the cross-sectional properties of the st-file are given in the coordinate system
|
||||
本节包含对 HAWC2 转换器的描述,该转换器能够加载 HAWC2 模型中的结构数据。在 HAWC2 中,st 文件的截面属性在坐标系中给出。
|
||||

|
||||
Figure A.1:
|
||||
|
||||
@ -1467,7 +1468,7 @@ Figure A.1:
|
||||
Reference system:
|
||||
|
||||
|
||||
<html><body><table><tr><td>1 z [m]</td><td>Distance tosection frombase ofsubstructure(bladeroot flange)along the third (pitch)</td></tr><tr><td>2 xref [m]</td><td>axis of the substructure (blade) frame. Primary (edge) axis distance from third substructure (pitch) axis to the origin (the</td></tr><tr><td>3 Yref[m]</td><td>Secondary (flap) axis distance from third substructure (pitch) axis to the origin (the</td></tr><tr><td>4 Oref[deg]</td><td>reference point) of the cross-sectional reference frame. Eachelementcoordinatesystemisrotated theelement-averageofthisanglefrom an initial orientation where its secondary (flap) axis has a zero primary (edge) axis component in the substructure (blade) frame.</td></tr></table></body></html>
|
||||
<html><body><table><tr><td>1 z [m]</td><td>Distance to section from base of substructure(blade root flange) along the third (pitch) axis of the substructure (blade) frame.</td></tr><tr><td>2 xref [m]</td><td> Primary (edge) axis distance from third substructure (pitch) axis to the origin (the</td></tr><tr><td>3 Yref[m]</td><td>Secondary (flap) axis distance from third substructure (pitch) axis to the origin (the</td></tr><tr><td>4 Oref[deg]</td><td>reference point) of the cross-sectional reference frame. Eachelementcoordinatesystemisrotated theelement-averageofthisanglefrom an initial orientation where its secondary (flap) axis has a zero primary (edge) axis component in the substructure (blade) frame.</td></tr></table></body></html>
|
||||
|
||||
# Mass properties:
|
||||
|
||||
@ -1500,52 +1501,52 @@ This appendix contains description of the preprocessing of the data for the dy
|
||||
|
||||
This appendix contains different mathematical formulas and derivations that are used in the theory manual.
|
||||
|
||||
# E.1 Definitions
|
||||
|
||||
Let ${\mathfrak{s}}\{\}$ be a skewsymmetric operator converting a vector to a skewsymmetric matrix defined as
|
||||
## E.1 Definitions
|
||||
|
||||
Let ${{S}}\{\}$ be a skew-symmetric operator converting a vector to a skew-symmetric matrix defined as
|
||||
设 ${{S}}\{\}$ 为一个将向量转换为反对称矩阵的反对称算子,定义为
|
||||
$$
|
||||
\begin{array}{r}{\pmb{\ S}\{\omega\}=\left[\begin{array}{c c c}{0}&{-\omega_{3}}&{\omega_{2}}\\ {\omega_{3}}&{0}&{-\omega_{1}}\\ {-\omega_{2}}&{-\omega_{1}}&{0}\end{array}\right]}\end{array}
|
||||
\begin{array}{r}{\pmb{\ S}\{\omega\}=\left[\begin{array}{c c c}{0}&{-\omega_{3}}&{\omega_{2}}\\ {\omega_{3}}&{0}&{-\omega_{1}}\\ {-\omega_{2}}&{-\omega_{1}}&{0}\end{array}\right]}\end{array}\tag{E.1}
|
||||
$$
|
||||
|
||||
where $\pmb{\omega}=\{\omega_{1},\omega_{2},\omega_{3}\}^{T}$ is any vector. If S is a skewsymmetric matrix and $\blacktriangle$ is a arbitrary square matrix of the same size then $\mathbb{A}^{T}\mathbb{S}\mathbb{A}$ is also a skewsymmetric matrix.
|
||||
|
||||
where $\pmb{\omega}=\{\omega_{1},\omega_{2},\omega_{3}\}^{T}$ is any vector. If S is a skew-symmetric matrix and $A$ is a arbitrary square matrix of the same size then ${A}^{T}{S}{A}$ is also a skew-symmetric matrix.
|
||||
其中 $\pmb{\omega}=\{\omega_{1},\omega_{2},\omega_{3}\}^{T}$ 是任意向量。如果 S 是一个斜对称矩阵,且 A 是一个同尺寸的任意方阵,那么 ${A}^{T}{S}{A}$ 也是一个斜对称矩阵。
|
||||
# E.2 Finite Rotations
|
||||
|
||||
Any finite rotation can be described by a unitvector $\pmb{\mathsf{n}}=\{n_{x},n_{y},n_{z}\}^{T}$ and an angle $\phi$ the rotation matrix:
|
||||
|
||||
Any finite rotation can be described by a unit-vector $\pmb{\mathsf{n}}=\{n_{x},n_{y},n_{z}\}^{T}$ and an angle $\phi$ the rotation matrix:
|
||||
任何有限旋转都可以由一个单位向量 $\pmb{\mathsf{n}}=\{n_{x},n_{y},n_{z}\}^{T}$ 和一个角度 $\phi$ 来描述,其旋转矩阵为:
|
||||
$$
|
||||
\boldsymbol{\mathsf{R}}=\boldsymbol{\mathsf{I}}+\boldsymbol{\mathsf{N}}\sin\phi+\boldsymbol{\mathsf{N}}^{2}\left(1-\cos\phi\right)
|
||||
\boldsymbol{\mathsf{R}}=\boldsymbol{\mathsf{I}}+\boldsymbol{\mathsf{N}}\sin\phi+\boldsymbol{\mathsf{N}}^{2}\left(1-\cos\phi\right)\tag{E.2}
|
||||
$$
|
||||
|
||||
where
|
||||
|
||||
$$
|
||||
\mathsf{\pmb{N}}=\left[\begin{array}{c c c}{0}&{-n_{z}}&{n_{y}}\\ {n_{z}}&{0}&{-n_{x}}\\ {-n_{y}}&{n_{x}}&{0}\end{array}\right]=\mathsf{\pmb{S}}\{\mathsf{n}\}
|
||||
\mathsf{\pmb{N}}=\left[\begin{array}{c c c}{0}&{-n_{z}}&{n_{y}}\\ {n_{z}}&{0}&{-n_{x}}\\ {-n_{y}}&{n_{x}}&{0}\end{array}\right]=\mathsf{\pmb{S}}\{\mathsf{n}\}\tag{E.3}
|
||||
$$
|
||||
|
||||
is a skewsymmetric matrix. Using the unity of the rotation vector length $\|\pmb{\mathsf{n}}\|=1$ , it can be shown that
|
||||
|
||||
is a skew-symmetric matrix. Using the unity of the rotation vector length $\|\pmb{\mathsf{n}}\|=1$ , it can be shown that
|
||||
是一个斜对称矩阵。利用旋转向量长度 $\|\pmb{\mathsf{n}}\|=1$ 的单位性,可以证明
|
||||
$$
|
||||
\mathsf{N}^{3}=-\mathsf{N}
|
||||
\mathsf{N}^{3}=-\mathsf{N}\tag{E.4}
|
||||
$$
|
||||
|
||||
and using this property, the derivative of the rotation matrix with respect to the angle for a fixed rotation vector becomes
|
||||
|
||||
并且利用这个性质,固定旋转向量时,旋转矩阵对角度的导数变为
|
||||
$$
|
||||
\frac{\partial\mathsf{R}}{\partial\phi}=\mathsf{N}\cos\phi+\mathsf{N}^{2}\sin\phi=\mathsf{R}\mathsf{N}
|
||||
\frac{\partial\mathsf{R}}{\partial\phi}=\mathsf{N}\cos\phi+\mathsf{N}^{2}\sin\phi=\mathsf{R}\mathsf{N}\tag{E.5}
|
||||
$$
|
||||
|
||||
and therefore
|
||||
|
||||
$$
|
||||
\frac{\partial^{2}\mathsf{R}}{\partial\phi^{2}}=\mathsf{R N}^{2}
|
||||
\frac{\partial^{2}\mathsf{R}}{\partial\phi^{2}}=\mathsf{R N}^{2}\tag{E.6}
|
||||
$$
|
||||
|
||||
# E.3 Miscellaneous formulas
|
||||
## E.3 Miscellaneous formulas
|
||||
|
||||
$$
|
||||
\mathbf{u}^{T}\mathbf{U}^{T}\mathbf{V}\mathbf{v}=\mathsf{T r}\left(\left(\mathbf{U}^{T}\mathbf{V}\right)\left(\mathbf{v}\mathbf{u}^{T}\right)\right)\equiv\left(\mathbf{U}^{T}\mathbf{V}\right):\left(\mathbf{v}\mathbf{u}^{T}\right)
|
||||
\mathbf{u}^{T}\mathbf{U}^{T}\mathbf{V}\mathbf{v}=\mathsf{T r}\left(\left(\mathbf{U}^{T}\mathbf{V}\right)\left(\mathbf{v}\mathbf{u}^{T}\right)\right)\equiv\left(\mathbf{U}^{T}\mathbf{V}\right):\left(\mathbf{v}\mathbf{u}^{T}\right)\tag{E.7}
|
||||
$$
|
||||
|
||||

|
||||
|
@ -84,4 +84,66 @@ CalcOutputs_And_SolveForInputs
|
||||
- ! 都在ifw更新后
|
||||
- SrvD_InputSolve
|
||||
|
||||
- ResetRemapFlags
|
||||
- ResetRemapFlags
|
||||
|
||||
ed 到Bladed dll的输出:
|
||||
|
||||
```
|
||||
y%RotPwr = m%AllOuts( RotPwr)*1000.
|
||||
DO K=1,p%NumBl
|
||||
y%RootMxc(K) = m%AllOuts( RootMxc(K) )*1000.
|
||||
y%RootMyc(K) = m%AllOuts( RootMyc(K) )*1000.
|
||||
END DO
|
||||
y%YawBrTAxp = m%AllOuts( YawBrTAxp)
|
||||
y%YawBrTAyp = m%AllOuts( YawBrTAyp)
|
||||
!y%LSSTipPxa = m%AllOuts( LSSTipPxa)*D2R ! bjj: did this above already
|
||||
|
||||
y%LSSTipMxa = m%AllOuts(LSShftMxa)*1000.
|
||||
y%LSSTipMya = m%AllOuts(LSSTipMya)*1000. ! Rotating hub My (GL co-ords) (Nm)
|
||||
y%LSSTipMza = m%AllOuts(LSSTipMza)*1000. ! Rotating hub Mz (GL co-ords) (Nm)
|
||||
y%LSSTipMys = m%AllOuts(LSSTipMys)*1000. ! Fixed hub My (GL co-ords) (Nm)
|
||||
y%LSSTipMzs = m%AllOuts(LSSTipMzs)*1000. ! Fixed hub Mz (GL co-ords) (Nm)
|
||||
y%YawBrMyn = m%AllOuts( YawBrMyn)*1000. ! Yaw bearing My (GL co-ords) (Nm) !tower accel
|
||||
y%YawBrMzn = m%AllOuts( YawBrMzn)*1000. ! Yaw bearing Mz (GL co-ords) (Nm)
|
||||
y%NcIMURAxs = m%AllOuts(NcIMURAxs)*D2R ! Nacelle roll acceleration (rad/s^2) -- this is in the shaft (tilted) coordinate system, instead of the nacelle (nontilted) coordinate system
|
||||
y%NcIMURAys = m%AllOuts(NcIMURAys)*D2R ! Nacelle nodding acceleration (rad/s^2)
|
||||
y%NcIMURAzs = m%AllOuts(NcIMURAzs)*D2R ! Nacelle yaw acceleration (rad/s^2) -- this is in the shaft (tilted) coordinate system, instead of the nacelle (nontilted) coordinate system
|
||||
y%LSShftFxa = m%AllOuts(LSShftFxa)*1000. ! Rotating low-speed shaft force x (GL co-ords) (N)
|
||||
y%LSShftFys = m%AllOuts(LSShftFys)*1000. ! Nonrotating low-speed shaft force y (GL co-ords) (N)
|
||||
y%LSShftFzs = m%AllOuts(LSShftFzs)*1000. ! Nonrotating low-speed shaft force z (GL co-ords) (N)
|
||||
```
|
||||
|
||||
```
|
||||
m%AllOuts(LSShftMxa) = DOT_PRODUCT( MomLPRot, m%CoordSys%e1 )
|
||||
m%AllOuts( RotPwr) = ( x%QDT(DOF_GeAz) + x%QDT(DOF_DrTr) )*m%AllOuts(LSShftMxa)
|
||||
|
||||
DO K=1,p%NumBl
|
||||
m%AllOuts( RootMxc(K) ) = DOT_PRODUCT( MomH0B(:,K), m%CoordSys%i1(K,:) )
|
||||
m%AllOuts( RootMyc(K) ) = DOT_PRODUCT( MomH0B(:,K), m%CoordSys%i2(K,:) )
|
||||
END DO !K
|
||||
|
||||
m%AllOuts(YawBrTAxp) = DOT_PRODUCT( LinAccEO, m%CoordSys%b1 )
|
||||
m%AllOuts(YawBrTAyp) = -DOT_PRODUCT( LinAccEO, m%CoordSys%b3 )
|
||||
|
||||
y%LSSTipPxa = x%QT (DOF_GeAz) + x%QT (DOF_DrTr) + p%AzimB1Up + PiBy2
|
||||
m%AllOuts(LSSTipPxa) = y%LSSTipPxa*R2D
|
||||
|
||||
|
||||
m%AllOuts(LSShftMxa) = DOT_PRODUCT( MomLPRot, m%CoordSys%e1 )
|
||||
m%AllOuts(LSSTipMya) = DOT_PRODUCT( MomLPRot, m%CoordSys%e2 )
|
||||
m%AllOuts(LSSTipMza) = DOT_PRODUCT( MomLPRot, m%CoordSys%e3 )
|
||||
m%AllOuts(LSSTipMys) = -DOT_PRODUCT( MomLPRot, m%CoordSys%c3 )
|
||||
m%AllOuts(LSSTipMzs) = DOT_PRODUCT( MomLPRot, m%CoordSys%c2 )
|
||||
|
||||
m%AllOuts( YawBrMyn) = -DOT_PRODUCT( MomBNcRt, m%CoordSys%d3 )
|
||||
m%AllOuts( YawBrMzn) = DOT_PRODUCT( MomBNcRt, m%CoordSys%d2 )
|
||||
|
||||
|
||||
m%AllOuts(NcIMURAxs) = DOT_PRODUCT( AngAccER , m%CoordSys%c1 )*R2D
|
||||
m%AllOuts(NcIMURAys) = -1.0*DOT_PRODUCT( AngAccER , m%CoordSys%c3 )*R2D
|
||||
m%AllOuts(NcIMURAzs) = DOT_PRODUCT( AngAccER , m%CoordSys%c2 )*R2D
|
||||
|
||||
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 )
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user