Jul 19
Transfer of beam data to NASTRAN conventions
I will try to describe the translation of a single element definition from my own code's input data to a NASTRAN CBEAM element - at least how I understand it.
Looking at this part:
Node => Wing Node 9; 0.45454·m; 0·m; 0.43741·m; Node => BC Node 9; 0.46029·m; 0.0035432·m; 0.43421·m; Node => D Node 9; 0.44726·m; 0.0035445·m; 0.44147·m; Node => Wing Node 10; 0.47882·m; 0·m; 0.48104·m; Node => BC Node 10; 0.48410·m; 0.0034008·m; 0.47810·m; Node => D Node 10; 0.47033·m; 0.0033959·m; 0.48576·m; -- Wing Element 10 -- Span from 0.43741·m to 0.48104·m -- Length 0.049926·m -- Mass 1.6659·kg Elastic_Material => Mat 10 Rho => 8317.8·kg/m³; -- incl. 1.678kg/m for wiring E_Mod => 186110000000·kg/m·s² G_Mod => 4310700000·kg/m·s² kappa => 13.520; Cylindric_Module => Wing Beam 10 Node_1 => Wing Node 9 Node_2 => Wing Node 10 Material => Mat 10 Area => 0.0042130·m² I_Yy => 0.000024692·m^4 I_Zz => 4.3097e-007·m^4 Alpha => -0.0078045 J => 0.000025123·m^4
My program calculates the mass to 1.7498kg, effective length of C-line: 0.049933m.
Trying to get this translated into the CBEAM terms now:
Rotate local beam axes from Boucke to CBEAM (rotation of -90deg around x_elem):
I_Zz' = I_Yy = 0.000024692·m^4 I_Yy' = I_Zz = 4.3097e-007·m^4
As x_elem stays the same, Alpha is not affected.
Now rotate around alpha:
I_Yy'' = 0.5*(I_Yy' + I_Zz') + 0.5*(I_Yy' - I_Zz')*cos(2*alpha) = 4.324477e-07 = I_ZZ_New from our e-mails I_Zz'' = 0.5*(I_Yy' + I_Zz') - 0.5*(I_Yy' - I_Zz')*cos(2*alpha) = 2.46905e-05 = I_YY_New from our e-mails I_Yz'' = 0.5*|I_Yy'-I_Zz'| * sin(2*alpha) = 0.5*|I_Zz - I_Yy| * sin(2*alpha) = -1.89338e-07 = I_YZ_New from our e-mails
CBEAM geometry:
GA = D Node 9 (global coordinates) GB = D Node 10 ( " )
Local beam coordinates:
The z_elem axis is in the plane spanned by vectors x_elem and global y (Boucke coordinates), almost parallel to y_global.
xb = 0.0499385 = |GB - GA| x_elem = (GB-GA)/xb (beam axis in global coordinates) y_elem = - crossprod (x_elem, y_global) z_elem = y (in global coordinates - Boucke) -- approximate or z_elem = crossprod (x_elem, y_elem)
This makes the approximate z_na, z_ma etc. easy to calculate:
z_na = y(BC Node 9) - y(D Node 9) = -1.3E-06
Make NA the vector from D Node 9 to BC Node 9 then
y_na = NA * y_elem = 0.01491 z_na = NA * z_elem = -2.548E-06 (non approximated)
Same for NB:
y_nb = 0.01575 z_nb = 4.9E-06 (approximated) z_nb = 3.614E-06 (non approximated)
The original vector NA and NB are not completly orthogonal to ex, so that there is a small component x_na and x_nb, which can be neglected.
Since neutral line and total mass centre are the same in this example, the coordinates of M would be the same as N, otherwise the calculation would be the same. If you want to take care of NSM in case of this element, you should set rho to 7920kg/m^3 and put the difference between this and the current rhoAxb into the NSM properties (wiring) => NSM = (rho-7920)*A.
I would leave M=0 and NSM=0 and rho undisturbed. In cases where C and B differ in my dataset, these should be ignored so far. Same goes for the little difference in Mass of this element according to the difference of the original mass-centre line of 0.049933 compared to the length of the element along the shear centre at 0.0499385.
Let us see if this leads somewhere...