openfast icon indicating copy to clipboard operation
openfast copied to clipboard

Self-weight in SubDyn

Open RBergua opened this issue 1 year ago • 2 comments

The current computation of self-weight in SubDyn results in unexpected weight contributions at the node locations.

To illustrate this, one easy model in SubDyn is used. The system is a straight cantilever beam defined by 4 joints, 3 members and NDiv = 2. This results in 6 beams as follows: image

The beam cross-sectional properties are as follows: Hollow cylinder D = 3 m t = 0.1 m

Material properties: E = 210E9 N/m^2 G = 8.077E10 N/m^2 ρ = 7,860 kg/m^3

The SubDyn input file is attached for reference (SubDyn_easy_tower_3_beams.txt) and it can be used with the SubDyn standalone version for verification or debugging purposes.

The mass of the system can be computed as follows: m = ρV = 7,86030*(π*((3/2)^2-((3-2*0.1)/2)^2)) = 214,828 kg (good agreement with SubDyn summary file)

Based on this mass, it is possible to compute the theoretical vertical force (Fz corresponding to the weight) when applying the gravity acceleration (9.80665 m/s^2). These theoretical values compared against the ones returned by SubDyn as follows: image

As it can be observed, all results due to the self-weight obtained from the beams are different than the expected ones. It is also important to note that if the user defines NDiv = 1 (i.e., no sub-elements per member), the outputs at each end of the beam will be the same (i.e., M1N2 = M2N1), making this issue worse.

RBergua avatar Jul 15 '24 21:07 RBergua

@luwang00, can you take a look at this?

andrew-platt avatar Jul 16 '24 15:07 andrew-platt

I believe the observed behavior is a consequence of how SubDyn applies self-weight to the structure. During initialization, the force and moment due to the self-weight of each element are computed and evenly assigned to the two end nodes of each element. As a result, the self weight is concentrated at the nodes, and the element itself is left "weightless". This explains the discontinuity of member axial force across each node. This also explains why M1N1 = M1N2 when NDiv = 1 since the element itself is effectively weightless.

In the short term, increasing NDiv can help with this issue. The jump in member load across a node should decrease with higher NDiv, and the reported member load on either side of a node should approach the expected value. A possible long term solution would be to change SubDyn to only output loads at element midpoints instead of at the end nodes.

luwang00 avatar Jul 17 '24 21:07 luwang00