From 207bfd11eb9e122191d2b9989f55664cb7f7c2f8 Mon Sep 17 00:00:00 2001 From: sam Date: Tue, 17 Jan 2023 02:17:44 +0000 Subject: [PATCH 01/20] hacky updates for cosines and X section properties --- .devcontainer/devcontainer.json | 7 + Force_TS.dat | 6 + SD_Force.SD.sum.yaml | 207 ++++++++++++++++++++++++++++ driver.inp | 26 ++++ modules/subdyn/src/FEM.f90 | 8 +- modules/subdyn/src/SD_FEM.f90 | 88 +++++++++--- modules/subdyn/src/SubDyn.f90 | 2 +- modules/subdyn/src/SubDyn_Types.f90 | 9 +- primary.dat | 100 ++++++++++++++ 9 files changed, 428 insertions(+), 25 deletions(-) create mode 100644 .devcontainer/devcontainer.json create mode 100644 Force_TS.dat create mode 100644 SD_Force.SD.sum.yaml create mode 100644 driver.inp create mode 100644 primary.dat diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..2d0c430d5f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,7 @@ +{ + "image": "ubuntu-openfast", + "extensions": [ + "ms-vscode.cpptools" + ], + "runArgs": ["--privileged"] +} diff --git a/Force_TS.dat b/Force_TS.dat new file mode 100644 index 0000000000..3a4b6855ce --- /dev/null +++ b/Force_TS.dat @@ -0,0 +1,6 @@ +#Time_[s] , Fx_[N] , Fy_[N] , Fz_[N] , Mx_[Nm] , My_[Nm] , Mz_[Nm] +0.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 +10.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 +11.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 +25.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 +50.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 \ No newline at end of file diff --git a/SD_Force.SD.sum.yaml b/SD_Force.SD.sum.yaml new file mode 100644 index 0000000000..71e80be427 --- /dev/null +++ b/SD_Force.SD.sum.yaml @@ -0,0 +1,207 @@ + +#This summary file was generated by SubDyn on 17-Jan-2023 at 02:13:25. + +#Unless specified, units are consistent with Input units, [SI] system is advised. +#____________________________________________________________________________________________________ +# RIGID BODY EQUIVALENT DATA +#____________________________________________________________________________________________________ +Mass: 1.775628E+02 # Total Mass +CM_point: [ 0.000000E+00, 0.000000E+00, 1.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) +TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point +MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, -0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +#____________________________________________________________________________________________________ +# GUYAN MATRICES at the TP reference point +#____________________________________________________________________________________________________ +KBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +MBBt: # 6 x 6 + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +# SYSTEM FREQUENCIES +#____________________________________________________________________________________________________ +#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_frequencies: # 1 x 18 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.084256E-06, 3.084256E-06, 1.308630E-05, 2.779090E+02, 2.779090E+02, 8.701787E+02, 8.701787E+02, 8.842362E+02, 1.425790E+03, 1.768472E+03, 1.880244E+03, 1.880244E+03, 2.790171E+03, 2.790171E+03, 2.851580E+03,] +#Frequencies of Guyan modes [Hz] +GY_frequencies: # 1 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00,] +#Frequencies of Craig-Bampton modes [Hz] +CB_frequencies: # 1 x 5 + - [ 4.570767E+01, 4.570767E+01, 2.664343E+02, 2.664343E+02, 4.113251E+02,] +#____________________________________________________________________________________________________ +# Internal FEM representation +#____________________________________________________________________________________________________ +nNodes_I: 1 # Number of Nodes: "interface" (I) +nNodes_C: 0 # Number of Nodes: "reactions" (C) +nNodes_L: 2 # Number of Nodes: "internal" (L) +nNodes : 3 # Number of Nodes: total (I+C+L) +nDOF__B : 6 # Number of DOFs: retained (__B) +nDOF__L : 12 # Number of DOFs: internal (__L) +nDOF__F : 0 # Number of DOFs: fixed (__F) +nDOF_red: 18 # Number of DOFs: total +DOF___B: # 1 x 6 all retained DOFs + - [ 1, 2, 3, 4, 5, 6,] +DOF___F: # 1 x 0 all fixed DOFs + - [ ] +DOF___L: # 1 x 12 all internal DOFs + - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,] + +#Index map from DOF to nodes +# Node No., DOF/Node, NodalDOF +DOF2Nodes: # 18 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) + - [ 1, 6, 1] # 1 + - [ 1, 6, 2] # 2 + - [ 1, 6, 3] # 3 + - [ 1, 6, 4] # 4 + - [ 1, 6, 5] # 5 + - [ 1, 6, 6] # 6 + - [ 2, 6, 1] # 7 + - [ 2, 6, 2] # 8 + - [ 2, 6, 3] # 9 + - [ 2, 6, 4] # 10 + - [ 2, 6, 5] # 11 + - [ 2, 6, 6] # 12 + - [ 3, 6, 1] # 13 + - [ 3, 6, 2] # 14 + - [ 3, 6, 3] # 15 + - [ 3, 6, 4] # 16 + - [ 3, 6, 5] # 17 + - [ 3, 6, 6] # 18 +# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] +Nodes: # 3 x 9 + - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] +Elements: # 2 x 16 + - [ 1., 1., 2., 1., 1., 1., 1.000, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 2., 2., 3., 1., 1., 4., 5.000, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 5.300000E-01, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] +#____________________________________________________________________________________________________ +#User inputs + +#Number of properties (NProps): 1 +#Prop No YoungE ShearG MatDens XsecD XsecT +# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 + +#No. of Reaction DOFs: 0 +#React. DOF_ID BC + +#No. of Interface DOFs: 6 +#Interf. DOF_ID BC +# 1 Leader +# 2 Leader +# 3 Leader +# 4 Leader +# 5 Leader +# 6 Leader + +#Number of concentrated masses (NCMass): 0 +#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ + +#Number of members 2 +#Number of nodes per member: 2 +#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... +# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 2 +#TODO, member unknown +#____________________________________________________________________________________________________ +#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 +#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) +# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +#____________________________________________________________________________________________________ +#FEM Eigenvectors (18 x 18) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_Modes: # 18 x 18 + - [ 1.771362E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.771362E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00] + - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 5.885681E-01, 0.000000E+00, 0.000000E+00, -3.227071E-01, 0.000000E+00, 0.000000E+00, -2.856238E-01, 0.000000E+00, -7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 5.885681E-01, 0.000000E+00, 0.000000E+00, 3.227071E-01, 0.000000E+00, 0.000000E+00, 2.856238E-01, 0.000000E+00, 7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.405218E-16, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00] + - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.009527E-16, 0.000000E+00, -8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 8.469492E-16, 0.000000E+00, -5.538596E-01, 0.000000E+00] + - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.009527E-16, 0.000000E+00, -8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.469492E-16, 0.000000E+00, 5.538596E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.212648E-17, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 1.000000E+00, 0.000000E+00, 0.000000E+00, 3.545857E-01, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -3.545857E-01, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00] + - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +#CB Matrices (PhiM,PhiR) (reaction constraints applied) +PhiM: # 12 x 5 (CB modes) + - [ 5.149863E-02, 0.000000E+00, 1.084281E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 5.149863E-02, 0.000000E+00, -1.084281E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -8.514100E-02, 0.000000E+00, -4.488426E-02, 0.000000E+00] + - [ 8.514100E-02, 0.000000E+00, -4.488426E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.724188E-01] + - [ 1.491608E-01, 0.000000E+00, -1.436051E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.491608E-01, 0.000000E+00, 1.436051E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.008119E-01, 0.000000E+00, -3.275202E-01, 0.000000E+00] + - [ 1.008119E-01, 0.000000E+00, -3.275202E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.233786E+00] +PhiR: # 12 x 6 (Guyan modes) + - [ 1.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ 1.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 2.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 1.000000E+00, -0.000000E+00, -2.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] +#____________________________________________________________________________________________________ +TI: # 6 x 6 (TP refpoint Transformation Matrix TI) + - [ 1.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00,-0.00E+00] + - [ 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00] + +#This summary file was closed on 17-Jan-2023 at 02:13:25. + diff --git a/driver.inp b/driver.inp new file mode 100644 index 0000000000..f0bea8e098 --- /dev/null +++ b/driver.inp @@ -0,0 +1,26 @@ +SubDyn Driver file for stand-alone applications +Compatible with SubDyn v1.xx.x +False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo +---------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- +0 Gravity - Gravity (m/s^2). +0 WtrDpth - Water Depth (m) positive value. +---------------------- SubDyn ------------------------------------------------------------------- +"primary.dat" SDInputFile - It can be an absolute or relative path. +"SD_Force" OutRootName - All the output files will have this name. +1500 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. +0.01 TimeInterval - TimeInterval for the simulation (sec). Time step. +0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) +0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. +---------------------- INPUTS ------------------------------------------------------------------- +0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) +"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). +---------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- +0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) +---------------------- LOADS -------------------------------------------------------------------- +1 nAppliedLoads - Number of applied loads at given nodes +ALJointID Fx Fy Fz Mx My Mz UnsteadyFile + (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) + 13 1000 0 0 0 0 0 "Force_TS.dat" +END of driver input file \ No newline at end of file diff --git a/modules/subdyn/src/FEM.f90 b/modules/subdyn/src/FEM.f90 index b8a9eed453..35cee4d7fd 100644 --- a/modules/subdyn/src/FEM.f90 +++ b/modules/subdyn/src/FEM.f90 @@ -1022,8 +1022,8 @@ END SUBROUTINE GetOrthVectors !> Element stiffness matrix for classical beam elements !! shear is true -- non-tapered Timoshenko beam !! shear is false -- non-tapered Euler-Bernoulli beam -SUBROUTINE ElemK_Beam(A, L, Ixx, Iyy, Jzz, Shear, kappa, E, G, DirCos, K) - REAL(ReKi), INTENT( IN) :: A, L, Ixx, Iyy, Jzz, E, G, kappa +SUBROUTINE ElemK_Beam(A, L, Ixx, Iyy, Jzz, Shear, kappa_x, kappa_y, E, G, DirCos, K) + REAL(ReKi), INTENT( IN) :: A, L, Ixx, Iyy, Jzz, E, G, kappa_x, kappa_y REAL(FEKi), INTENT( IN) :: DirCos(3,3) !< From element to global: xg = DC.xe, Kg = DC.Ke.DC^t LOGICAL , INTENT( IN) :: Shear REAL(FEKi), INTENT(OUT) :: K(12, 12) @@ -1031,8 +1031,8 @@ SUBROUTINE ElemK_Beam(A, L, Ixx, Iyy, Jzz, Shear, kappa, E, G, DirCos, K) REAL(FEKi) :: Ax, Ay, Kx, Ky REAL(FEKi) :: DC(12, 12) - Ax = kappa*A - Ay = kappa*A + Ax = kappa_x*A + Ay = kappa_y*A K(1:12,1:12) = 0.0_FEKi diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index bee8e4a9e7..da1772cb45 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -32,7 +32,7 @@ MODULE SD_FEM INTEGER(IntKi), PARAMETER :: InterfCol = 7 ! Number of columns in interf matrix (JointID,ItfTDxss,ItfTDYss,ItfTDZss,ItfRDXss,ItfRDYss,ItfRDZss) INTEGER(IntKi), PARAMETER :: ReactCol = 7 ! Number of columns in reaction matrix (JointID,ItfTDxss,ItfTDYss,ItfTDZss,ItfRDXss,ItfRDYss,ItfRDZss) INTEGER(IntKi), PARAMETER :: MaxNodesPerElem = 2 ! Maximum number of nodes per element (currently 2) - INTEGER(IntKi), PARAMETER :: MembersCol = MaxNodesPerElem + 3+1 ! Number of columns in Members (MemberID,MJointID1,MJointID2,MPropSetID1,MPropSetID2,COSMID) + INTEGER(IntKi), PARAMETER :: MembersCol = MaxNodesPerElem + 3+1+1 ! Number of columns in Members (MemberID,MJointID1,MJointID2,MPropSetID1,MPropSetID2,COSMID) INTEGER(IntKi), PARAMETER :: PropSetsBCol = 6 ! Number of columns in PropSets (PropSetID,YoungE,ShearG,MatDens,XsecD,XsecT) !bjj: this really doesn't need to store k, does it? or is this supposed to be an ID, in which case we shouldn't be storing k (except new property sets), we should be storing IDs INTEGER(IntKi), PARAMETER :: PropSetsXCol = 10 ! Number of columns in XPropSets (PropSetID,YoungE,ShearG,MatDens,XsecA,XsecAsx,XsecAsy,XsecJxx,XsecJyy,XsecJ0) INTEGER(IntKi), PARAMETER :: PropSetsCCol = 5 ! Number of columns in CablePropSet (PropSetID, EA, MatDens, T0) @@ -58,6 +58,7 @@ MODULE SD_FEM INTEGER(IntKi), PARAMETER :: idMemberBeam = 1 INTEGER(IntKi), PARAMETER :: idMemberCable = 2 INTEGER(IntKi), PARAMETER :: idMemberRigid = 3 + INTEGER(IntKi), PARAMETER :: idMemberSpecial = 4 ! Types of Boundary Conditions INTEGER(IntKi), PARAMETER :: idBC_Fixed = 11 ! Fixed BC @@ -389,6 +390,9 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) else if (mType==idMemberRigid) then sType='Rigid property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsR(:,1), Init%Members(iMem, n) ) + else if (mType==idMemberSpecial) then + sType='Special property' + p%Elems(iMem,n) = FINDLOCI(Init%PropSetsX(:,1), Init%Members(iMem, n) ) else ! Should not happen print*,'Element type unknown',mType @@ -408,6 +412,9 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) END DO !n, loop through property ids ! Column 6: member type p%Elems(iMem, iMType) = Init%Members(iMem, iMType) ! + ! Column 7: member type + p%Elems(iMem, 7) = FINDLOCI(Init%COSMs(:,1), Init%Members(iMem, 7) ) + END DO !iMem, loop through members ! TODO in theory, we shouldn't need these anymore @@ -438,9 +445,10 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) REAL(ReKi), ALLOCATABLE :: TempProps(:, :) INTEGER, ALLOCATABLE :: TempMembers(:, :) INTEGER :: knode, kelem, kprop, nprop + INTEGER :: mID_original REAL(ReKi) :: x1, y1, z1, x2, y2, z2, dx, dy, dz, dd, dt, d1, d2, t1, t2 LOGICAL :: CreateNewProp - INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeam !< Number of memebers per type + INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeam, nMemberSpecial !< Number of memebers per type INTEGER(IntKi) :: eType !< Element Type INTEGER(IntKi) :: ErrStat2 CHARACTER(ErrMsgLen) :: ErrMsg2 @@ -458,8 +466,9 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) nMemberBeam = count(Init%Members(:,iMType) == idMemberBeam) nMemberCable = count(Init%Members(:,iMType) == idMemberCable) nMemberRigid = count(Init%Members(:,iMType) == idMemberRigid) - Init%NElem = nMemberBeam*Init%NDiv + nMemberCable + nMemberRigid ! NOTE: only Beams are divided - IF ( (nMemberBeam+nMemberRigid+nMemberCable) /= size(Init%Members,1)) then + nMemberSpecial = count(Init%Members(:,iMType) == idMemberSpecial) + Init%NElem = nMemberBeam*Init%NDiv + nMemberCable + nMemberRigid + nMemberSpecial ! NOTE: only Beams are divided + IF ( (nMemberBeam+nMemberRigid+nMemberCable+nMemberSpecial) /= size(Init%Members,1)) then CALL Fatal(' Member list contains an element which is not a beam, a cable or a rigid link'); return ENDIF @@ -537,6 +546,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) Prop1 = TempMembers(I, iMProp ) Prop2 = TempMembers(I, iMProp+1) eType = TempMembers(I, iMType ) + mID_original = TempMembers(I, 7 ) if (eType/=idMemberBeam) then ! --- Cables and rigid links are not subdivided and have same prop at nodes @@ -544,7 +554,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) Init%MemberNodes(I, 1) = Node1 Init%MemberNodes(I, 2) = Node2 kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, Node2, eType, Prop1, Prop1, p) + CALL SetNewElem(kelem, Node1, Node2, eType, Prop1, Prop1, p, mID_original) cycle endif @@ -587,11 +597,11 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ! k, E1, G1, rho1, d, t, CALL SetNewProp(kprop, TempProps(Prop1, 2), TempProps(Prop1, 3), TempProps(Prop1, 4), d1+dd, t1+dt, TempProps) kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, knode, eType, Prop1, kprop, p); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, Node1, knode, eType, Prop1, kprop, p, mID_original); if (ErrStat>ErrID_None) return; nprop = kprop ELSE kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, knode, eType, Prop1, Prop1, p); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, Node1, knode, eType, Prop1, Prop1, p, mID_original); if (ErrStat>ErrID_None) return; nprop = Prop1 ENDIF @@ -608,17 +618,17 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ! k, E1, G1, rho1, d, t CALL SetNewProp(kprop, TempProps(Prop1, 2), TempProps(Prop1, 3), Init%PropSetsB(Prop1, 4), d1 + J*dd, t1 + J*dt, TempProps) kelem = kelem + 1 - CALL SetNewElem(kelem, knode-1, knode, eType, nprop, kprop, p); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode-1, knode, eType, nprop, kprop, p, mID_original); if (ErrStat>ErrID_None) return; nprop = kprop ELSE kelem = kelem + 1 - CALL SetNewElem(kelem, knode-1, knode, eType, nprop, nprop, p); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode-1, knode, eType, nprop, nprop, p, mID_original); if (ErrStat>ErrID_None) return; ENDIF ENDDO ! the element connect to Node2 kelem = kelem + 1 - CALL SetNewElem(kelem, knode, Node2, eType, nprop, Prop2, p); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode, Node2, eType, nprop, Prop2, p, mID_original); if (ErrStat>ErrID_None) return; ENDDO ! loop over all members ! Init%NPropB = kprop @@ -689,13 +699,14 @@ SUBROUTINE SetNewNode(k, x, y, z, Init) END SUBROUTINE SetNewNode !> Set properties of element k - SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p) + SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, mID_original) INTEGER, INTENT(IN ) :: k INTEGER, INTENT(IN ) :: n1 INTEGER, INTENT(IN ) :: n2 INTEGER, INTENT(IN ) :: eType INTEGER, INTENT(IN ) :: p1 INTEGER, INTENT(IN ) :: p2 + INTEGER, INTENT(IN ) :: mID_original TYPE(SD_ParameterType), INTENT(INOUT) :: p if (k>size(p%Elems,1)) then call Fatal('Implementation Error. Attempt to add more element than space allocated.'); @@ -707,6 +718,7 @@ SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p) p%Elems(k, iMProp ) = p1 p%Elems(k, iMProp+1) = p2 p%Elems(k, iMType) = eType + p%Elems(k, 7) = mID_original END SUBROUTINE SetNewElem !> Set material properties of element k, NOTE: this is only for a beam @@ -770,10 +782,12 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) INTEGER :: I INTEGER :: N1, N2 ! starting node and ending node in the element INTEGER :: P1, P2 ! property set numbers for starting and ending nodes + INTEGER :: mID_original REAL(ReKi) :: D1, D2, t1, t2, E, G, rho ! properties of a section REAL(FEKi) :: DirCos(3, 3) ! direction cosine matrices + REAL(FEKi) :: Dx_, Dy_, Dz_! distances between nodes REAL(ReKi) :: L ! length of the element - REAL(ReKi) :: r1, r2, t, Iyy, Jzz, Ixx, A, kappa, nu, ratioSq, D_inner, D_outer + REAL(ReKi) :: r1, r2, t, Iyy, Jzz, Ixx, A, kappa, kappa_x, kappa_y, nu, ratioSq, D_inner, D_outer LOGICAL :: shear INTEGER(IntKi) :: eType !< Member type REAL(ReKi) :: Point1(3), Point2(3) ! (x,y,z) positions of two nodes making up an element @@ -793,11 +807,27 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) P1 = p%Elems(I, iMProp ) P2 = p%Elems(I, iMProp+1) eType = p%Elems(I, iMType) + mID_original = p%Elems(I, 7) ! --- Properties common to all element types: L, DirCos (and Area and rho) Point1 = Init%Nodes(N1,2:4) Point2 = Init%Nodes(N2,2:4) - CALL GetDirCos(Point1, Point2, DirCos, L, ErrStat2, ErrMsg2); if(Failed()) return ! L and DirCos + Dx_=Point2(1)-Point1(1) + Dy_=Point2(2)-Point1(2) + Dz_=Point2(3)-Point1(3) + L = real(sqrt( Dx_**2 + Dy_**2 + Dz_**2), ReKi) + + !CALL GetDirCos(Point1, Point2, DirCos, L, ErrStat2, ErrMsg2); if(Failed()) return ! L and DirCos + DirCos(1, 1) = Init%COSMs(mID_original, 2) + DirCos(1, 2) = Init%COSMs(mID_original, 3) + DirCos(1, 3) = Init%COSMs(mID_original, 4) + DirCos(2, 1) = Init%COSMs(mID_original, 5) + DirCos(2, 2) = Init%COSMs(mID_original, 6) + DirCos(2, 3) = Init%COSMs(mID_original, 7) + DirCos(3, 1) = Init%COSMs(mID_original, 8) + DirCos(3, 2) = Init%COSMs(mID_original, 9) + DirCos(3, 3) = Init%COSMs(mID_original, 10) + p%ElemProps(i)%eType = eType p%ElemProps(i)%Length = L p%ElemProps(i)%DirCos = DirCos @@ -806,7 +836,8 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Ixx = -9.99e+36 p%ElemProps(i)%Iyy = -9.99e+36 p%ElemProps(i)%Jzz = -9.99e+36 - p%ElemProps(i)%Kappa = -9.99e+36 + p%ElemProps(i)%Kappa_x = -9.99e+36 + p%ElemProps(i)%Kappa_y = -9.99e+36 p%ElemProps(i)%YoungE = -9.99e+36 p%ElemProps(i)%ShearG = -9.99e+36 p%ElemProps(i)%Area = -9.99e+36 @@ -853,7 +884,32 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Iyy = Iyy p%ElemProps(i)%Jzz = Jzz p%ElemProps(i)%Shear = Shear - p%ElemProps(i)%kappa = kappa + p%ElemProps(i)%kappa_x = kappa + p%ElemProps(i)%kappa_y = kappa + p%ElemProps(i)%YoungE = E + p%ElemProps(i)%ShearG = G + p%ElemProps(i)%Area = A + p%ElemProps(i)%Rho = rho + p%ElemProps(i)%D = (/D1, D2/) + + else if (eType==idMemberSpecial) then + ! Storing Beam specific properties + E = Init%PropSetsX(P1, 2) ! TODO E2 + G = Init%PropSetsX(P1, 3) ! TODO G2 + rho = Init%PropSetsX(P1, 4) ! TODO rho2 + A = Init%PropSetsX(P1, 5) + kappa_x = Init%PropSetsX(P1, 6) + kappa_y = Init%PropSetsX(P1, 7) + Ixx = Init%PropSetsX(P1, 8) + Iyy = Init%PropSetsX(P1, 9) + Jzz = Init%PropSetsX(P1, 10) + + p%ElemProps(i)%Ixx = Ixx + p%ElemProps(i)%Iyy = Iyy + p%ElemProps(i)%Jzz = Jzz + p%ElemProps(i)%Shear = Shear + p%ElemProps(i)%kappa_x = kappa_x + p%ElemProps(i)%kappa_y = kappa_y p%ElemProps(i)%YoungE = E p%ElemProps(i)%ShearG = G p%ElemProps(i)%Area = A @@ -2184,7 +2240,7 @@ SUBROUTINE ElemK(ep, Ke) REAL(FEKi), INTENT(OUT) :: Ke(12, 12) if (ep%eType==idMemberBeam) then - CALL ElemK_Beam( eP%Area, eP%Length, eP%Ixx, eP%Iyy, eP%Jzz, eP%Shear, eP%kappa, eP%YoungE, eP%ShearG, eP%DirCos, Ke) + CALL ElemK_Beam( eP%Area, eP%Length, eP%Ixx, eP%Iyy, eP%Jzz, eP%Shear, eP%kappa_x, eP%kappa_y, eP%YoungE, eP%ShearG, eP%DirCos, Ke) else if (ep%eType==idMemberCable) then CALL ElemK_Cable(ep%Area, ep%Length, ep%YoungE, ep%T0, eP%DirCos, Ke) diff --git a/modules/subdyn/src/SubDyn.f90 b/modules/subdyn/src/SubDyn.f90 index 14e603f2af..674f3a68af 100644 --- a/modules/subdyn/src/SubDyn.f90 +++ b/modules/subdyn/src/SubDyn.f90 @@ -3662,7 +3662,7 @@ SUBROUTINE OutSummary(Init, p, m, InitInput, CBparams, Modes, Omega, Omega_Gy, E DummyArray(i,9) = p%ElemProps(i)%Rho ! density kg/m^3 DummyArray(i,10) = p%ElemProps(i)%YoungE ! Young modulus DummyArray(i,11) = p%ElemProps(i)%ShearG ! G - DummyArray(i,12) = p%ElemProps(i)%Kappa ! Shear coefficient + DummyArray(i,12) = p%ElemProps(i)%Kappa_x ! Shear coefficient DummyArray(i,13) = p%ElemProps(i)%Ixx ! Moment of inertia DummyArray(i,14) = p%ElemProps(i)%Iyy ! Moment of inertia DummyArray(i,15) = p%ElemProps(i)%Jzz ! Moment of inertia diff --git a/modules/subdyn/src/SubDyn_Types.f90 b/modules/subdyn/src/SubDyn_Types.f90 index 4b53972dd0..715c5dc369 100644 --- a/modules/subdyn/src/SubDyn_Types.f90 +++ b/modules/subdyn/src/SubDyn_Types.f90 @@ -69,7 +69,8 @@ MODULE SubDyn_Types REAL(ReKi) :: Iyy !< Moment of inertia of an element [-] REAL(ReKi) :: Jzz !< Moment of inertia of an element [-] LOGICAL :: Shear !< Use timoshenko (true) E-B (false) [-] - REAL(ReKi) :: Kappa !< Shear coefficient [-] + REAL(ReKi) :: Kappa_x !< Shear coefficient [-] + REAL(ReKi) :: Kappa_y !< Shear coefficient [-] REAL(ReKi) :: YoungE !< Young's modulus [-] REAL(ReKi) :: ShearG !< Shear modulus [N/m^2] REAL(ReKi) , DIMENSION(1:2) :: D !< Diameter at node 1 and 2, for visualization only [m] @@ -1706,7 +1707,7 @@ SUBROUTINE SD_CopyElemPropType( SrcElemPropTypeData, DstElemPropTypeData, CtrlCo DstElemPropTypeData%Iyy = SrcElemPropTypeData%Iyy DstElemPropTypeData%Jzz = SrcElemPropTypeData%Jzz DstElemPropTypeData%Shear = SrcElemPropTypeData%Shear - DstElemPropTypeData%Kappa = SrcElemPropTypeData%Kappa + DstElemPropTypeData%Kappa_x = SrcElemPropTypeData%Kappa_x DstElemPropTypeData%YoungE = SrcElemPropTypeData%YoungE DstElemPropTypeData%ShearG = SrcElemPropTypeData%ShearG DstElemPropTypeData%D = SrcElemPropTypeData%D @@ -1827,7 +1828,7 @@ SUBROUTINE SD_PackElemPropType( ReKiBuf, DbKiBuf, IntKiBuf, Indata, ErrStat, Err Re_Xferred = Re_Xferred + 1 IntKiBuf(Int_Xferred) = TRANSFER(InData%Shear, IntKiBuf(1)) Int_Xferred = Int_Xferred + 1 - ReKiBuf(Re_Xferred) = InData%Kappa + ReKiBuf(Re_Xferred) = InData%Kappa_x Re_Xferred = Re_Xferred + 1 ReKiBuf(Re_Xferred) = InData%YoungE Re_Xferred = Re_Xferred + 1 @@ -1891,7 +1892,7 @@ SUBROUTINE SD_UnPackElemPropType( ReKiBuf, DbKiBuf, IntKiBuf, Outdata, ErrStat, Re_Xferred = Re_Xferred + 1 OutData%Shear = TRANSFER(IntKiBuf(Int_Xferred), OutData%Shear) Int_Xferred = Int_Xferred + 1 - OutData%Kappa = ReKiBuf(Re_Xferred) + OutData%Kappa_x = ReKiBuf(Re_Xferred) Re_Xferred = Re_Xferred + 1 OutData%YoungE = ReKiBuf(Re_Xferred) Re_Xferred = Re_Xferred + 1 diff --git a/primary.dat b/primary.dat new file mode 100644 index 0000000000..3f0a71d50a --- /dev/null +++ b/primary.dat @@ -0,0 +1,100 @@ +----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------ +Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. +-------------------------- SIMULATION CONTROL --------------------------------- +False Echo - Echo input data to ".SD.ech" (flag) +"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. + 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. +True SttcSolve - Solve dynamics about static equilibrium point +True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. +-------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- + 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] + 1 NDiv - Number of sub-elements per member +True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. + 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. +837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). + 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] + 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] + 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] + 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 +---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- + 3 NJoints - Number of joints (-) +JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff + (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) + 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 + 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 + 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 +------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- + 0 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) +RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] + (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) +------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- + 1 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs +IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss + (-) (flag) (flag) (flag) (flag) (flag) (flag) + 11 1 1 1 1 1 1 +----------------------------------- MEMBERS -------------------------------------- + 2 NMembers - Number of frame members +MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID + (-) (-) (-) (-) (-) (-) (-) + 1 11 12 1 1 1 1 + 2 12 13 1 1 4 2 +------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ + 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) +PropSetID YoungE ShearG MatDens XsecD XsecT + (-) (N/m2) (N/m2) (kg/m3) (m) (m) + 1 210E9 8.0769E10 7850 0.2 0.02 +------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ + 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) +PropSetID YoungE ShearG MatDens XsecA k_x k_y Ixx Iyy J + (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) + 1 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 +-------------------------- CABLE PROPERTIES ------------------------------------- + 0 NCablePropSets - Number of cable cable properties +PropSetID EA MatDens T0 CtrlChannel + (-) (N) (kg/m) (N) (-) +----------------------- RIGID LINK PROPERTIES ------------------------------------ + 0 NRigidPropSets - Number of rigid link properties +PropSetID MatDens + (-) (kg/m) +---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ + 2 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below +COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 + (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) + 1 1 0 0 0 1 0 0 0 1 + 2 1 0 0 0 1 0 0 0 1 +------------------------ JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- + 0 NCmass - Number of joints with concentrated masses; Global Coordinate System +CMJointID JMass JMXX JMYY JMZZ + (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) +---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ +True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. +0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) +0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) +True OutCOSM - Output cosine matrices with the selected output member forces (flag) +False OutAll - [T/F] Output all members' end forces + 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. +True TabDelim - Generate a tab-delimited output in the .SD.out file + 1 OutDec - Decimation of output in the .SD.out file +"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file +"A11" OutSFmt - Output format for header strings in the .SD.out file +------------------------- MEMBER OUTPUT LIST ------------------------------------------ + 2 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. +MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. + (-) (-) (-) + 1 2 1 2 + 2 2 1 2 +------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ +"M1N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). +"M2N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). +"M2N2TDxss" - +"M1N1RDye" - +"M2N1RDye" - +"M2N2RDye" - +"IntfFXss" - X-displacement at the interface +"IntfMYss" - X-displacement at the interface +END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file From b5ea3f1de0b8ebdb9ff5c095ed14b736bec603fd Mon Sep 17 00:00:00 2001 From: sam Date: Tue, 17 Jan 2023 02:21:57 +0000 Subject: [PATCH 02/20] removed temporary files --- .devcontainer/devcontainer.json | 7 -- Force_TS.dat | 6 - SD_Force.SD.sum.yaml | 207 -------------------------------- driver.inp | 26 ---- primary.dat | 100 --------------- 5 files changed, 346 deletions(-) delete mode 100644 .devcontainer/devcontainer.json delete mode 100644 Force_TS.dat delete mode 100644 SD_Force.SD.sum.yaml delete mode 100644 driver.inp delete mode 100644 primary.dat diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 2d0c430d5f..0000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "image": "ubuntu-openfast", - "extensions": [ - "ms-vscode.cpptools" - ], - "runArgs": ["--privileged"] -} diff --git a/Force_TS.dat b/Force_TS.dat deleted file mode 100644 index 3a4b6855ce..0000000000 --- a/Force_TS.dat +++ /dev/null @@ -1,6 +0,0 @@ -#Time_[s] , Fx_[N] , Fy_[N] , Fz_[N] , Mx_[Nm] , My_[Nm] , Mz_[Nm] -0.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 -10.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 -11.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 -25.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 -50.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 \ No newline at end of file diff --git a/SD_Force.SD.sum.yaml b/SD_Force.SD.sum.yaml deleted file mode 100644 index 71e80be427..0000000000 --- a/SD_Force.SD.sum.yaml +++ /dev/null @@ -1,207 +0,0 @@ - -#This summary file was generated by SubDyn on 17-Jan-2023 at 02:13:25. - -#Unless specified, units are consistent with Input units, [SI] system is advised. -#____________________________________________________________________________________________________ -# RIGID BODY EQUIVALENT DATA -#____________________________________________________________________________________________________ -Mass: 1.775628E+02 # Total Mass -CM_point: [ 0.000000E+00, 0.000000E+00, 1.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) -TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point -MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, -0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -#____________________________________________________________________________________________________ -# GUYAN MATRICES at the TP reference point -#____________________________________________________________________________________________________ -KBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -MBBt: # 6 x 6 - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -# SYSTEM FREQUENCIES -#____________________________________________________________________________________________________ -#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_frequencies: # 1 x 18 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.084256E-06, 3.084256E-06, 1.308630E-05, 2.779090E+02, 2.779090E+02, 8.701787E+02, 8.701787E+02, 8.842362E+02, 1.425790E+03, 1.768472E+03, 1.880244E+03, 1.880244E+03, 2.790171E+03, 2.790171E+03, 2.851580E+03,] -#Frequencies of Guyan modes [Hz] -GY_frequencies: # 1 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00,] -#Frequencies of Craig-Bampton modes [Hz] -CB_frequencies: # 1 x 5 - - [ 4.570767E+01, 4.570767E+01, 2.664343E+02, 2.664343E+02, 4.113251E+02,] -#____________________________________________________________________________________________________ -# Internal FEM representation -#____________________________________________________________________________________________________ -nNodes_I: 1 # Number of Nodes: "interface" (I) -nNodes_C: 0 # Number of Nodes: "reactions" (C) -nNodes_L: 2 # Number of Nodes: "internal" (L) -nNodes : 3 # Number of Nodes: total (I+C+L) -nDOF__B : 6 # Number of DOFs: retained (__B) -nDOF__L : 12 # Number of DOFs: internal (__L) -nDOF__F : 0 # Number of DOFs: fixed (__F) -nDOF_red: 18 # Number of DOFs: total -DOF___B: # 1 x 6 all retained DOFs - - [ 1, 2, 3, 4, 5, 6,] -DOF___F: # 1 x 0 all fixed DOFs - - [ ] -DOF___L: # 1 x 12 all internal DOFs - - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,] - -#Index map from DOF to nodes -# Node No., DOF/Node, NodalDOF -DOF2Nodes: # 18 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) - - [ 1, 6, 1] # 1 - - [ 1, 6, 2] # 2 - - [ 1, 6, 3] # 3 - - [ 1, 6, 4] # 4 - - [ 1, 6, 5] # 5 - - [ 1, 6, 6] # 6 - - [ 2, 6, 1] # 7 - - [ 2, 6, 2] # 8 - - [ 2, 6, 3] # 9 - - [ 2, 6, 4] # 10 - - [ 2, 6, 5] # 11 - - [ 2, 6, 6] # 12 - - [ 3, 6, 1] # 13 - - [ 3, 6, 2] # 14 - - [ 3, 6, 3] # 15 - - [ 3, 6, 4] # 16 - - [ 3, 6, 5] # 17 - - [ 3, 6, 6] # 18 -# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] -Nodes: # 3 x 9 - - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] -Elements: # 2 x 16 - - [ 1., 1., 2., 1., 1., 1., 1.000, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 2., 2., 3., 1., 1., 4., 5.000, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 5.300000E-01, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] -#____________________________________________________________________________________________________ -#User inputs - -#Number of properties (NProps): 1 -#Prop No YoungE ShearG MatDens XsecD XsecT -# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 - -#No. of Reaction DOFs: 0 -#React. DOF_ID BC - -#No. of Interface DOFs: 6 -#Interf. DOF_ID BC -# 1 Leader -# 2 Leader -# 3 Leader -# 4 Leader -# 5 Leader -# 6 Leader - -#Number of concentrated masses (NCMass): 0 -#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ - -#Number of members 2 -#Number of nodes per member: 2 -#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... -# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 2 -#TODO, member unknown -#____________________________________________________________________________________________________ -#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 -#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) -# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -#____________________________________________________________________________________________________ -#FEM Eigenvectors (18 x 18) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_Modes: # 18 x 18 - - [ 1.771362E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.771362E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] - - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00] - - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 5.885681E-01, 0.000000E+00, 0.000000E+00, -3.227071E-01, 0.000000E+00, 0.000000E+00, -2.856238E-01, 0.000000E+00, -7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 5.885681E-01, 0.000000E+00, 0.000000E+00, 3.227071E-01, 0.000000E+00, 0.000000E+00, 2.856238E-01, 0.000000E+00, 7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.405218E-16, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00] - - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.009527E-16, 0.000000E+00, -8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 8.469492E-16, 0.000000E+00, -5.538596E-01, 0.000000E+00] - - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.009527E-16, 0.000000E+00, -8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.469492E-16, 0.000000E+00, 5.538596E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.212648E-17, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 1.000000E+00, 0.000000E+00, 0.000000E+00, 3.545857E-01, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -3.545857E-01, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] - - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00] - - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, 6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -#CB Matrices (PhiM,PhiR) (reaction constraints applied) -PhiM: # 12 x 5 (CB modes) - - [ 5.149863E-02, 0.000000E+00, 1.084281E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 5.149863E-02, 0.000000E+00, -1.084281E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -8.514100E-02, 0.000000E+00, -4.488426E-02, 0.000000E+00] - - [ 8.514100E-02, 0.000000E+00, -4.488426E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.724188E-01] - - [ 1.491608E-01, 0.000000E+00, -1.436051E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.491608E-01, 0.000000E+00, 1.436051E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.008119E-01, 0.000000E+00, -3.275202E-01, 0.000000E+00] - - [ 1.008119E-01, 0.000000E+00, -3.275202E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.233786E+00] -PhiR: # 12 x 6 (Guyan modes) - - [ 1.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] - - [ 1.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 2.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 1.000000E+00, -0.000000E+00, -2.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] -#____________________________________________________________________________________________________ -TI: # 6 x 6 (TP refpoint Transformation Matrix TI) - - [ 1.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00,-0.00E+00] - - [ 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00] - -#This summary file was closed on 17-Jan-2023 at 02:13:25. - diff --git a/driver.inp b/driver.inp deleted file mode 100644 index f0bea8e098..0000000000 --- a/driver.inp +++ /dev/null @@ -1,26 +0,0 @@ -SubDyn Driver file for stand-alone applications -Compatible with SubDyn v1.xx.x -False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo ----------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- -0 Gravity - Gravity (m/s^2). -0 WtrDpth - Water Depth (m) positive value. ----------------------- SubDyn ------------------------------------------------------------------- -"primary.dat" SDInputFile - It can be an absolute or relative path. -"SD_Force" OutRootName - All the output files will have this name. -1500 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. -0.01 TimeInterval - TimeInterval for the simulation (sec). Time step. -0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) -0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. ----------------------- INPUTS ------------------------------------------------------------------- -0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) -"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). ----------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- -0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) ----------------------- LOADS -------------------------------------------------------------------- -1 nAppliedLoads - Number of applied loads at given nodes -ALJointID Fx Fy Fz Mx My Mz UnsteadyFile - (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) - 13 1000 0 0 0 0 0 "Force_TS.dat" -END of driver input file \ No newline at end of file diff --git a/primary.dat b/primary.dat deleted file mode 100644 index 3f0a71d50a..0000000000 --- a/primary.dat +++ /dev/null @@ -1,100 +0,0 @@ ------------ SubDyn v1.01.x MultiMember Support Structure Input File ------------ -Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. --------------------------- SIMULATION CONTROL --------------------------------- -False Echo - Echo input data to ".SD.ech" (flag) -"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. - 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. -True SttcSolve - Solve dynamics about static equilibrium point -True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. --------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- - 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - 1 NDiv - Number of sub-elements per member -True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. - 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. -837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). - 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] - 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] - 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] - 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 ----- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- - 3 NJoints - Number of joints (-) -JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff - (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) - 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 - 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 - 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 -------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- - 0 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) -RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] - (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) -------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- - 1 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs -IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss - (-) (flag) (flag) (flag) (flag) (flag) (flag) - 11 1 1 1 1 1 1 ------------------------------------ MEMBERS -------------------------------------- - 2 NMembers - Number of frame members -MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID - (-) (-) (-) (-) (-) (-) (-) - 1 11 12 1 1 1 1 - 2 12 13 1 1 4 2 ------------------- MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ - 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) -PropSetID YoungE ShearG MatDens XsecD XsecT - (-) (N/m2) (N/m2) (kg/m3) (m) (m) - 1 210E9 8.0769E10 7850 0.2 0.02 ------------------- MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ - 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) -PropSetID YoungE ShearG MatDens XsecA k_x k_y Ixx Iyy J - (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) - 1 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 --------------------------- CABLE PROPERTIES ------------------------------------- - 0 NCablePropSets - Number of cable cable properties -PropSetID EA MatDens T0 CtrlChannel - (-) (N) (kg/m) (N) (-) ------------------------ RIGID LINK PROPERTIES ------------------------------------ - 0 NRigidPropSets - Number of rigid link properties -PropSetID MatDens - (-) (kg/m) ----------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ - 2 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below -COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 - (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) - 1 1 0 0 0 1 0 0 0 1 - 2 1 0 0 0 1 0 0 0 1 ------------------------- JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- - 0 NCmass - Number of joints with concentrated masses; Global Coordinate System -CMJointID JMass JMXX JMYY JMZZ - (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) ----------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ -True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. -0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) -0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) -True OutCOSM - Output cosine matrices with the selected output member forces (flag) -False OutAll - [T/F] Output all members' end forces - 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. -True TabDelim - Generate a tab-delimited output in the .SD.out file - 1 OutDec - Decimation of output in the .SD.out file -"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file -"A11" OutSFmt - Output format for header strings in the .SD.out file -------------------------- MEMBER OUTPUT LIST ------------------------------------------ - 2 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. -MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. - (-) (-) (-) - 1 2 1 2 - 2 2 1 2 -------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ -"M1N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). -"M2N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). -"M2N2TDxss" - -"M1N1RDye" - -"M2N1RDye" - -"M2N2RDye" - -"IntfFXss" - X-displacement at the interface -"IntfMYss" - X-displacement at the interface -END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file From a12ccf69b5f5d9f54646dd8a165560d53f50f68c Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 18 Jan 2023 02:49:11 +0000 Subject: [PATCH 03/20] added example --- .gitignore | 1 + modules/subdyn/src/SD_FEM.f90 | 76 ++++--- modules/subdyn/src/SubDyn.f90 | 53 ++++- subdyn_cosine_arbitrary_example/Force_TS.dat | 6 + .../SD_Force.SD.sum.yaml | 207 ++++++++++++++++++ subdyn_cosine_arbitrary_example/driver.inp | 26 +++ subdyn_cosine_arbitrary_example/primary.dat | 100 +++++++++ 7 files changed, 430 insertions(+), 39 deletions(-) create mode 100644 subdyn_cosine_arbitrary_example/Force_TS.dat create mode 100644 subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml create mode 100644 subdyn_cosine_arbitrary_example/driver.inp create mode 100644 subdyn_cosine_arbitrary_example/primary.dat diff --git a/.gitignore b/.gitignore index 1634702f8b..0b6dd4368e 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ vs-build/ .vscode .atom .fortls +.devcontainer # backup files *.asv ~$*.xlsx diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index da1772cb45..5930b9ea10 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -413,7 +413,10 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) ! Column 6: member type p%Elems(iMem, iMType) = Init%Members(iMem, iMType) ! ! Column 7: member type - p%Elems(iMem, 7) = FINDLOCI(Init%COSMs(:,1), Init%Members(iMem, 7) ) + + if (p%Elems(iMem,7)/=-1) then + p%Elems(iMem, 7) = FINDLOCI(Init%COSMs(:,1), Init%Members(iMem, 7) ) + endif END DO !iMem, loop through members @@ -445,7 +448,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) REAL(ReKi), ALLOCATABLE :: TempProps(:, :) INTEGER, ALLOCATABLE :: TempMembers(:, :) INTEGER :: knode, kelem, kprop, nprop - INTEGER :: mID_original + INTEGER :: COSM_ind REAL(ReKi) :: x1, y1, z1, x2, y2, z2, dx, dy, dz, dd, dt, d1, d2, t1, t2 LOGICAL :: CreateNewProp INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeam, nMemberSpecial !< Number of memebers per type @@ -546,7 +549,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) Prop1 = TempMembers(I, iMProp ) Prop2 = TempMembers(I, iMProp+1) eType = TempMembers(I, iMType ) - mID_original = TempMembers(I, 7 ) + COSM_ind = TempMembers(I, 7 ) if (eType/=idMemberBeam) then ! --- Cables and rigid links are not subdivided and have same prop at nodes @@ -554,7 +557,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) Init%MemberNodes(I, 1) = Node1 Init%MemberNodes(I, 2) = Node2 kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, Node2, eType, Prop1, Prop1, p, mID_original) + CALL SetNewElem(kelem, Node1, Node2, eType, Prop1, Prop1, p, COSM_ind) cycle endif @@ -597,11 +600,11 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ! k, E1, G1, rho1, d, t, CALL SetNewProp(kprop, TempProps(Prop1, 2), TempProps(Prop1, 3), TempProps(Prop1, 4), d1+dd, t1+dt, TempProps) kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, knode, eType, Prop1, kprop, p, mID_original); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, Node1, knode, eType, Prop1, kprop, p, COSM_ind); if (ErrStat>ErrID_None) return; nprop = kprop ELSE kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, knode, eType, Prop1, Prop1, p, mID_original); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, Node1, knode, eType, Prop1, Prop1, p, COSM_ind); if (ErrStat>ErrID_None) return; nprop = Prop1 ENDIF @@ -618,17 +621,17 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ! k, E1, G1, rho1, d, t CALL SetNewProp(kprop, TempProps(Prop1, 2), TempProps(Prop1, 3), Init%PropSetsB(Prop1, 4), d1 + J*dd, t1 + J*dt, TempProps) kelem = kelem + 1 - CALL SetNewElem(kelem, knode-1, knode, eType, nprop, kprop, p, mID_original); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode-1, knode, eType, nprop, kprop, p, COSM_ind); if (ErrStat>ErrID_None) return; nprop = kprop ELSE kelem = kelem + 1 - CALL SetNewElem(kelem, knode-1, knode, eType, nprop, nprop, p, mID_original); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode-1, knode, eType, nprop, nprop, p, COSM_ind); if (ErrStat>ErrID_None) return; ENDIF ENDDO ! the element connect to Node2 kelem = kelem + 1 - CALL SetNewElem(kelem, knode, Node2, eType, nprop, Prop2, p, mID_original); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode, Node2, eType, nprop, Prop2, p, COSM_ind); if (ErrStat>ErrID_None) return; ENDDO ! loop over all members ! Init%NPropB = kprop @@ -699,14 +702,14 @@ SUBROUTINE SetNewNode(k, x, y, z, Init) END SUBROUTINE SetNewNode !> Set properties of element k - SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, mID_original) + SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, COSM_ind) INTEGER, INTENT(IN ) :: k INTEGER, INTENT(IN ) :: n1 INTEGER, INTENT(IN ) :: n2 INTEGER, INTENT(IN ) :: eType INTEGER, INTENT(IN ) :: p1 INTEGER, INTENT(IN ) :: p2 - INTEGER, INTENT(IN ) :: mID_original + INTEGER, INTENT(IN ) :: COSM_ind TYPE(SD_ParameterType), INTENT(INOUT) :: p if (k>size(p%Elems,1)) then call Fatal('Implementation Error. Attempt to add more element than space allocated.'); @@ -718,7 +721,7 @@ SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, mID_original) p%Elems(k, iMProp ) = p1 p%Elems(k, iMProp+1) = p2 p%Elems(k, iMType) = eType - p%Elems(k, 7) = mID_original + p%Elems(k, 7) = COSM_ind END SUBROUTINE SetNewElem !> Set material properties of element k, NOTE: this is only for a beam @@ -782,7 +785,7 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) INTEGER :: I INTEGER :: N1, N2 ! starting node and ending node in the element INTEGER :: P1, P2 ! property set numbers for starting and ending nodes - INTEGER :: mID_original + INTEGER :: COSM_ind REAL(ReKi) :: D1, D2, t1, t2, E, G, rho ! properties of a section REAL(FEKi) :: DirCos(3, 3) ! direction cosine matrices REAL(FEKi) :: Dx_, Dy_, Dz_! distances between nodes @@ -807,7 +810,7 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) P1 = p%Elems(I, iMProp ) P2 = p%Elems(I, iMProp+1) eType = p%Elems(I, iMType) - mID_original = p%Elems(I, 7) + COSM_ind = p%Elems(I, 7) ! --- Properties common to all element types: L, DirCos (and Area and rho) Point1 = Init%Nodes(N1,2:4) @@ -815,18 +818,21 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) Dx_=Point2(1)-Point1(1) Dy_=Point2(2)-Point1(2) Dz_=Point2(3)-Point1(3) - L = real(sqrt( Dx_**2 + Dy_**2 + Dz_**2), ReKi) - - !CALL GetDirCos(Point1, Point2, DirCos, L, ErrStat2, ErrMsg2); if(Failed()) return ! L and DirCos - DirCos(1, 1) = Init%COSMs(mID_original, 2) - DirCos(1, 2) = Init%COSMs(mID_original, 3) - DirCos(1, 3) = Init%COSMs(mID_original, 4) - DirCos(2, 1) = Init%COSMs(mID_original, 5) - DirCos(2, 2) = Init%COSMs(mID_original, 6) - DirCos(2, 3) = Init%COSMs(mID_original, 7) - DirCos(3, 1) = Init%COSMs(mID_original, 8) - DirCos(3, 2) = Init%COSMs(mID_original, 9) - DirCos(3, 3) = Init%COSMs(mID_original, 10) + + if (COSM_ind/=-1) then + L = real(sqrt( Dx_**2 + Dy_**2 + Dz_**2), ReKi) + DirCos(1, 1) = Init%COSMs(COSM_ind, 2) + DirCos(1, 2) = Init%COSMs(COSM_ind, 3) + DirCos(1, 3) = Init%COSMs(COSM_ind, 4) + DirCos(2, 1) = Init%COSMs(COSM_ind, 5) + DirCos(2, 2) = Init%COSMs(COSM_ind, 6) + DirCos(2, 3) = Init%COSMs(COSM_ind, 7) + DirCos(3, 1) = Init%COSMs(COSM_ind, 8) + DirCos(3, 2) = Init%COSMs(COSM_ind, 9) + DirCos(3, 3) = Init%COSMs(COSM_ind, 10) + else + CALL GetDirCos(Point1, Point2, DirCos, L, ErrStat2, ErrMsg2); if(Failed()) return ! L and DirCos + endif p%ElemProps(i)%eType = eType p%ElemProps(i)%Length = L @@ -894,15 +900,15 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) else if (eType==idMemberSpecial) then ! Storing Beam specific properties - E = Init%PropSetsX(P1, 2) ! TODO E2 - G = Init%PropSetsX(P1, 3) ! TODO G2 - rho = Init%PropSetsX(P1, 4) ! TODO rho2 - A = Init%PropSetsX(P1, 5) - kappa_x = Init%PropSetsX(P1, 6) - kappa_y = Init%PropSetsX(P1, 7) - Ixx = Init%PropSetsX(P1, 8) - Iyy = Init%PropSetsX(P1, 9) - Jzz = Init%PropSetsX(P1, 10) + E = (Init%PropSetsX(P1, 2) + Init%PropSetsX(P2, 2)) / 2 + G = (Init%PropSetsX(P1, 3) + Init%PropSetsX(P2, 3)) / 2 + rho = (Init%PropSetsX(P1, 4) + Init%PropSetsX(P2, 4)) / 2 + A = (Init%PropSetsX(P1, 5) + Init%PropSetsX(P2, 5)) / 2 + kappa_x = (Init%PropSetsX(P1, 6) + Init%PropSetsX(P2, 6)) / 2 / A + kappa_y = (Init%PropSetsX(P1, 7) + Init%PropSetsX(P2, 7)) / 2 / A + Ixx = (Init%PropSetsX(P1, 8) + Init%PropSetsX(P2, 8)) / 2 + Iyy = (Init%PropSetsX(P1, 9) + Init%PropSetsX(P2, 9)) / 2 + Jzz = (Init%PropSetsX(P1, 10) + Init%PropSetsX(P2, 10)) / 2 p%ElemProps(i)%Ixx = Ixx p%ElemProps(i)%Iyy = Iyy diff --git a/modules/subdyn/src/SubDyn.f90 b/modules/subdyn/src/SubDyn.f90 index 674f3a68af..bfdd368d44 100644 --- a/modules/subdyn/src/SubDyn.f90 +++ b/modules/subdyn/src/SubDyn.f90 @@ -851,7 +851,7 @@ SUBROUTINE SD_Input(SDInputFile, Init, p, ErrStat,ErrMsg) CHARACTER(64), ALLOCATABLE :: StrArray(:) ! Array of strings, for better control of table inputs LOGICAL :: Echo LOGICAL :: LegacyFormat -LOGICAL :: bNumeric +LOGICAL :: bNumeric, bInteger INTEGER(IntKi) :: UnIn INTEGER(IntKi) :: nColumns, nColValid, nColNumeric INTEGER(IntKi) :: IOS @@ -1152,13 +1152,45 @@ SUBROUTINE SD_Input(SDInputFile, Init, p, ErrStat,ErrMsg) if (LegacyFormat) then nColumns = 5 Init%Members(:,iMType) = idMemberBeam ! Important, in legacy all members are beams + Init%Members(:,7) = -1 else nColumns = MembersCol endif -DO I = 1, p%NMembers + +nColumns=MembersCol +CALL AllocAry(StrArray, nColumns, 'StrArray',ErrStat2,ErrMsg2); if (Failed()) return +READ(UnIn, FMT='(A)', IOSTAT=ErrStat2) Line ; ErrMsg2='First line of members array'; if (Failed()) return +CALL ReadCAryFromStr ( Line, StrArray, nColumns, 'Members', 'First line of members array', ErrStat2, ErrMsg2 ) +if (ErrStat2/=0) then + ! We try with 4 columns (legacy format) + nColumns = MembersCol-1 + deallocate(StrArray) + CALL AllocAry(StrArray, nColumns, 'StrArray',ErrStat2,ErrMsg2); if (Failed()) return + CALL ReadCAryFromStr ( Line, StrArray, nColumns, 'Members', 'First line of members array', ErrStat2, ErrMsg2 ); if(Failed()) return + call LegacyWarning('Member table contains 6 columns instead of 7, using default member cosines.') + Init%Members(:,7) = -1 +endif +! Extract fields from first line +DO I = 1, nColumns + bInteger = is_integer(StrArray(I), Init%Members(1,I)) ! Convert from string to float + if (.not.bInteger) then + CALL Fatal(' Error in file "'//TRIM(SDInputFile)//'": Non integer character found in Member line. Problematic line: "'//trim(Line)//'"') + return + endif +ENDDO + +deallocate(StrArray) +! ! Read remaining lines +DO I = 2, p%NMembers CALL ReadAry( UnIn, SDInputFile, Dummy_IntAry, nColumns, 'Members line '//Num2LStr(I), 'Member number and connectivity ', ErrStat2,ErrMsg2, UnEc); if(Failed()) return - Init%Members(I,1:nColumns) = Dummy_IntAry(1:nColumns) -ENDDO + Init%Members(I,1:(nColumns)) = Dummy_IntAry(1:(nColumns)) +ENDDO + +! DO I = 1, p%NMembers +! CALL ReadAry( UnIn, SDInputFile, Dummy_IntAry, nColumns, 'Members line '//Num2LStr(I), 'Member number and connectivity ', ErrStat2,ErrMsg2, UnEc); if(Failed()) return +! Init%Members(I,1:(nColumns)) = Dummy_IntAry(1:(nColumns)) +! ENDDO + IF (Check( p%NMembers < 1 , 'NMembers must be > 0')) return !------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table if circular-tubular elements ------------------------ @@ -4134,6 +4166,19 @@ FUNCTION is_numeric(string, x) READ(string,fmt,IOSTAT=e) x is_numeric = e == 0 END FUNCTION is_numeric + +FUNCTION is_integer(string, x) + IMPLICIT NONE + CHARACTER(len=*), INTENT(IN) :: string + INTEGER(IntKi), INTENT(OUT) :: x + LOGICAL :: is_integer + INTEGER :: e, n + x = 0 + n=LEN_TRIM(string) + READ(string,*,IOSTAT=e) x + is_integer = e == 0 +END FUNCTION is_integer + FUNCTION is_logical(string, b) IMPLICIT NONE CHARACTER(len=*), INTENT(IN) :: string diff --git a/subdyn_cosine_arbitrary_example/Force_TS.dat b/subdyn_cosine_arbitrary_example/Force_TS.dat new file mode 100644 index 0000000000..3a4b6855ce --- /dev/null +++ b/subdyn_cosine_arbitrary_example/Force_TS.dat @@ -0,0 +1,6 @@ +#Time_[s] , Fx_[N] , Fy_[N] , Fz_[N] , Mx_[Nm] , My_[Nm] , Mz_[Nm] +0.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 +10.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 +11.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 +25.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 +50.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 \ No newline at end of file diff --git a/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml b/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml new file mode 100644 index 0000000000..98f67a67d5 --- /dev/null +++ b/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml @@ -0,0 +1,207 @@ + +#This summary file was generated by SubDyn on 18-Jan-2023 at 02:45:26. + +#Unless specified, units are consistent with Input units, [SI] system is advised. +#____________________________________________________________________________________________________ +# RIGID BODY EQUIVALENT DATA +#____________________________________________________________________________________________________ +Mass: 1.775628E+02 # Total Mass +CM_point: [ 0.000000E+00, 0.000000E+00, -1.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) +TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point +MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.775628E+02, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ -1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.775628E+02, -0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ -1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +#____________________________________________________________________________________________________ +# GUYAN MATRICES at the TP reference point +#____________________________________________________________________________________________________ +KBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +MBBt: # 6 x 6 + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.775628E+02, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ -1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] +CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +# SYSTEM FREQUENCIES +#____________________________________________________________________________________________________ +#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_frequencies: # 1 x 18 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.084256E-06, 3.084256E-06, 1.308630E-05, 2.779090E+02, 2.779090E+02, 8.701787E+02, 8.701787E+02, 8.842362E+02, 1.425790E+03, 1.768472E+03, 1.880244E+03, 1.880244E+03, 2.790171E+03, 2.790171E+03, 2.851580E+03,] +#Frequencies of Guyan modes [Hz] +GY_frequencies: # 1 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00,] +#Frequencies of Craig-Bampton modes [Hz] +CB_frequencies: # 1 x 5 + - [ 4.570767E+01, 4.570767E+01, 2.664343E+02, 2.664343E+02, 4.113251E+02,] +#____________________________________________________________________________________________________ +# Internal FEM representation +#____________________________________________________________________________________________________ +nNodes_I: 1 # Number of Nodes: "interface" (I) +nNodes_C: 0 # Number of Nodes: "reactions" (C) +nNodes_L: 2 # Number of Nodes: "internal" (L) +nNodes : 3 # Number of Nodes: total (I+C+L) +nDOF__B : 6 # Number of DOFs: retained (__B) +nDOF__L : 12 # Number of DOFs: internal (__L) +nDOF__F : 0 # Number of DOFs: fixed (__F) +nDOF_red: 18 # Number of DOFs: total +DOF___B: # 1 x 6 all retained DOFs + - [ 1, 2, 3, 4, 5, 6,] +DOF___F: # 1 x 0 all fixed DOFs + - [ ] +DOF___L: # 1 x 12 all internal DOFs + - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,] + +#Index map from DOF to nodes +# Node No., DOF/Node, NodalDOF +DOF2Nodes: # 18 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) + - [ 1, 6, 1] # 1 + - [ 1, 6, 2] # 2 + - [ 1, 6, 3] # 3 + - [ 1, 6, 4] # 4 + - [ 1, 6, 5] # 5 + - [ 1, 6, 6] # 6 + - [ 2, 6, 1] # 7 + - [ 2, 6, 2] # 8 + - [ 2, 6, 3] # 9 + - [ 2, 6, 4] # 10 + - [ 2, 6, 5] # 11 + - [ 2, 6, 6] # 12 + - [ 3, 6, 1] # 13 + - [ 3, 6, 2] # 14 + - [ 3, 6, 3] # 15 + - [ 3, 6, 4] # 16 + - [ 3, 6, 5] # 17 + - [ 3, 6, 6] # 18 +# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] +Nodes: # 3 x 9 + - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] +Elements: # 2 x 16 + - [ 1., 1., 2., 1., 1., 1., 1.000, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 2., 2., 3., 1., 1., 4., 5.000, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 2.650000E+00, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] +#____________________________________________________________________________________________________ +#User inputs + +#Number of properties (NProps): 1 +#Prop No YoungE ShearG MatDens XsecD XsecT +# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 + +#No. of Reaction DOFs: 0 +#React. DOF_ID BC + +#No. of Interface DOFs: 6 +#Interf. DOF_ID BC +# 1 Leader +# 2 Leader +# 3 Leader +# 4 Leader +# 5 Leader +# 6 Leader + +#Number of concentrated masses (NCMass): 0 +#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ + +#Number of members 2 +#Number of nodes per member: 2 +#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... +# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 2 +#TODO, member unknown +#____________________________________________________________________________________________________ +#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 +#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) +# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +#____________________________________________________________________________________________________ +#FEM Eigenvectors (18 x 18) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_Modes: # 18 x 18 + - [ -1.771362E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.771362E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] + - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -5.885681E-01, 0.000000E+00, 0.000000E+00, -3.227071E-01, 0.000000E+00, 0.000000E+00, -2.856238E-01, 0.000000E+00, -7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -5.885681E-01, 0.000000E+00, 0.000000E+00, 3.227071E-01, 0.000000E+00, 0.000000E+00, 2.856238E-01, 0.000000E+00, 7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.405218E-16, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00] + - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.009527E-16, 0.000000E+00, 8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -8.469492E-16, 0.000000E+00, 5.538596E-01, 0.000000E+00] + - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.009527E-16, 0.000000E+00, 8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.469492E-16, 0.000000E+00, -5.538596E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.212648E-17, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -1.000000E+00, 0.000000E+00, 0.000000E+00, 3.545857E-01, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -3.545857E-01, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] + - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +#CB Matrices (PhiM,PhiR) (reaction constraints applied) +PhiM: # 12 x 5 (CB modes) + - [ -5.149863E-02, 0.000000E+00, 1.084281E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -5.149863E-02, 0.000000E+00, -1.084281E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -8.514100E-02, 0.000000E+00, 4.488426E-02, 0.000000E+00] + - [ 8.514100E-02, 0.000000E+00, 4.488426E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.724188E-01] + - [ -1.491608E-01, 0.000000E+00, -1.436051E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.491608E-01, 0.000000E+00, 1.436051E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.008119E-01, 0.000000E+00, 3.275202E-01, 0.000000E+00] + - [ 1.008119E-01, 0.000000E+00, 3.275202E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.233786E+00] +PhiR: # 12 x 6 (Guyan modes) + - [ 1.000000E+00, -0.000000E+00, -0.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, -0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -2.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, 2.000000E+00, 0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] +#____________________________________________________________________________________________________ +TI: # 6 x 6 (TP refpoint Transformation Matrix TI) + - [ 1.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00,-0.00E+00] + - [ 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00] + - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00] + +#This summary file was closed on 18-Jan-2023 at 02:45:26. + diff --git a/subdyn_cosine_arbitrary_example/driver.inp b/subdyn_cosine_arbitrary_example/driver.inp new file mode 100644 index 0000000000..f0bea8e098 --- /dev/null +++ b/subdyn_cosine_arbitrary_example/driver.inp @@ -0,0 +1,26 @@ +SubDyn Driver file for stand-alone applications +Compatible with SubDyn v1.xx.x +False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo +---------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- +0 Gravity - Gravity (m/s^2). +0 WtrDpth - Water Depth (m) positive value. +---------------------- SubDyn ------------------------------------------------------------------- +"primary.dat" SDInputFile - It can be an absolute or relative path. +"SD_Force" OutRootName - All the output files will have this name. +1500 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. +0.01 TimeInterval - TimeInterval for the simulation (sec). Time step. +0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) +0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. +---------------------- INPUTS ------------------------------------------------------------------- +0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) +"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). +---------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- +0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) +---------------------- LOADS -------------------------------------------------------------------- +1 nAppliedLoads - Number of applied loads at given nodes +ALJointID Fx Fy Fz Mx My Mz UnsteadyFile + (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) + 13 1000 0 0 0 0 0 "Force_TS.dat" +END of driver input file \ No newline at end of file diff --git a/subdyn_cosine_arbitrary_example/primary.dat b/subdyn_cosine_arbitrary_example/primary.dat new file mode 100644 index 0000000000..cc23b2c649 --- /dev/null +++ b/subdyn_cosine_arbitrary_example/primary.dat @@ -0,0 +1,100 @@ +----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------ +Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. +-------------------------- SIMULATION CONTROL --------------------------------- +False Echo - Echo input data to ".SD.ech" (flag) +"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. + 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. +True SttcSolve - Solve dynamics about static equilibrium point +True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. +-------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- + 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] + 1 NDiv - Number of sub-elements per member +True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. + 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. +837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). + 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] + 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] + 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] + 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 +---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- + 3 NJoints - Number of joints (-) +JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff + (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) + 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 + 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 + 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 +------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- + 0 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) +RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] + (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) +------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- + 1 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs +IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss + (-) (flag) (flag) (flag) (flag) (flag) (flag) + 11 1 1 1 1 1 1 +----------------------------------- MEMBERS -------------------------------------- + 2 NMembers - Number of frame members +MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID + (-) (-) (-) (-) (-) (-) (-) + 1 11 12 1 1 1 -1 + 2 12 13 1 1 4 -1 +------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ + 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) +PropSetID YoungE ShearG MatDens XsecD XsecT + (-) (N/m2) (N/m2) (kg/m3) (m) (m) + 1 210E9 8.0769E10 7850 0.2 0.02 +------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ + 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) +PropSetID YoungE ShearG MatDens XsecA k_x k_y Ixx Iyy J + (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) + 1 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 +-------------------------- CABLE PROPERTIES ------------------------------------- + 0 NCablePropSets - Number of cable cable properties +PropSetID EA MatDens T0 CtrlChannel + (-) (N) (kg/m) (N) (-) +----------------------- RIGID LINK PROPERTIES ------------------------------------ + 0 NRigidPropSets - Number of rigid link properties +PropSetID MatDens + (-) (kg/m) +---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ + 2 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below +COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 + (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) + 1 1 0 0 0 1 0 0 0 1 + 2 1 0 0 0 1 0 0 0 1 +------------------------ JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- + 0 NCmass - Number of joints with concentrated masses; Global Coordinate System +CMJointID JMass JMXX JMYY JMZZ + (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) +---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ +True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. +0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) +0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) +True OutCOSM - Output cosine matrices with the selected output member forces (flag) +False OutAll - [T/F] Output all members' end forces + 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. +True TabDelim - Generate a tab-delimited output in the .SD.out file + 1 OutDec - Decimation of output in the .SD.out file +"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file +"A11" OutSFmt - Output format for header strings in the .SD.out file +------------------------- MEMBER OUTPUT LIST ------------------------------------------ + 2 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. +MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. + (-) (-) (-) + 1 2 1 2 + 2 2 1 2 +------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ +"M1N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). +"M2N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). +"M2N2TDxss" - +"M1N1RDye" - +"M2N1RDye" - +"M2N2RDye" - +"IntfFXss" - X-displacement at the interface +"IntfMYss" - X-displacement at the interface +END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file From 56077199af48200e0c5134b71208fe2b9c703e45 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 18 Jan 2023 13:41:01 +0000 Subject: [PATCH 04/20] added refinement of member with X section properties --- modules/subdyn/src/SD_FEM.f90 | 76 +++--- .../SD_Force.SD.sum.yaml | 216 +++++++++++------- subdyn_cosine_arbitrary_example/primary.dat | 4 +- 3 files changed, 185 insertions(+), 111 deletions(-) diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 5930b9ea10..5a8aa66aea 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -41,6 +41,7 @@ MODULE SD_FEM INTEGER(IntKi), PARAMETER :: CMassCol = 11 ! Number of columns in Concentrated Mass (CMJointID,JMass,JMXX,JMYY,JMZZ, Optional:JMXY,JMXZ,JMYZ,CGX,CGY,CGZ) ! Indices in Members table INTEGER(IntKi), PARAMETER :: iMType= 6 ! Index in Members table where the type is stored + INTEGER(IntKi), PARAMETER :: iMCOSMID = 7 ! Index in Members table where the type is stored INTEGER(IntKi), PARAMETER :: iMProp= 4 ! Index in Members table where the PropSet1 and 2 are stored ! Indices in Joints table @@ -58,7 +59,7 @@ MODULE SD_FEM INTEGER(IntKi), PARAMETER :: idMemberBeam = 1 INTEGER(IntKi), PARAMETER :: idMemberCable = 2 INTEGER(IntKi), PARAMETER :: idMemberRigid = 3 - INTEGER(IntKi), PARAMETER :: idMemberSpecial = 4 + INTEGER(IntKi), PARAMETER :: idMemberX = 4 ! Types of Boundary Conditions INTEGER(IntKi), PARAMETER :: idBC_Fixed = 11 ! Fixed BC @@ -390,8 +391,8 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) else if (mType==idMemberRigid) then sType='Rigid property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsR(:,1), Init%Members(iMem, n) ) - else if (mType==idMemberSpecial) then - sType='Special property' + else if (mType==idMemberX) then + sType='X property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsX(:,1), Init%Members(iMem, n) ) else ! Should not happen @@ -414,8 +415,8 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) p%Elems(iMem, iMType) = Init%Members(iMem, iMType) ! ! Column 7: member type - if (p%Elems(iMem,7)/=-1) then - p%Elems(iMem, 7) = FINDLOCI(Init%COSMs(:,1), Init%Members(iMem, 7) ) + if (p%Elems(iMem, iMCOSMID)/=-1) then + p%Elems(iMem, iMCOSMID) = FINDLOCI(Init%COSMs(:,1), Init%Members(iMem, iMCOSMID) ) endif END DO !iMem, loop through members @@ -446,12 +447,13 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) INTEGER :: NNE ! number of nodes per element INTEGER :: MaxNProp REAL(ReKi), ALLOCATABLE :: TempProps(:, :) + REAL(ReKi), ALLOCATABLE :: TempPropsX(:, :) INTEGER, ALLOCATABLE :: TempMembers(:, :) INTEGER :: knode, kelem, kprop, nprop INTEGER :: COSM_ind REAL(ReKi) :: x1, y1, z1, x2, y2, z2, dx, dy, dz, dd, dt, d1, d2, t1, t2 LOGICAL :: CreateNewProp - INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeam, nMemberSpecial !< Number of memebers per type + INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeam, nMemberX !< Number of memebers per type INTEGER(IntKi) :: eType !< Element Type INTEGER(IntKi) :: ErrStat2 CHARACTER(ErrMsgLen) :: ErrMsg2 @@ -469,14 +471,14 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) nMemberBeam = count(Init%Members(:,iMType) == idMemberBeam) nMemberCable = count(Init%Members(:,iMType) == idMemberCable) nMemberRigid = count(Init%Members(:,iMType) == idMemberRigid) - nMemberSpecial = count(Init%Members(:,iMType) == idMemberSpecial) - Init%NElem = nMemberBeam*Init%NDiv + nMemberCable + nMemberRigid + nMemberSpecial ! NOTE: only Beams are divided - IF ( (nMemberBeam+nMemberRigid+nMemberCable+nMemberSpecial) /= size(Init%Members,1)) then + nMemberX = count(Init%Members(:,iMType) == idMemberX) + Init%NElem = (nMemberBeam + nMemberX)*Init%NDiv + nMemberCable + nMemberRigid ! NOTE: only Beams are divided + IF ( (nMemberBeam+nMemberRigid+nMemberCable+nMemberX) /= size(Init%Members,1)) then CALL Fatal(' Member list contains an element which is not a beam, a cable or a rigid link'); return ENDIF ! Total number of nodes - Depends on division and number of nodes per element - p%nNodes = Init%NJoints + ( Init%NDiv - 1 )*nMemberBeam + p%nNodes = Init%NJoints + ( Init%NDiv - 1 )*(nMemberBeam + nMemberX) ! check the number of interior modes IF ( p%nDOFM > 6*(p%nNodes - p%nNodes_I - p%nNodes_C) ) THEN @@ -512,6 +514,14 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) return endif endif ! is beam + + if (eType==idMemberX) then + if (Prop1 /= Prop2 ) then + call Fatal(' Members using X properties must have the same properties at the (See member at position '//trim(num2lstr(I))//' in member list)') + return + endif + endif ! is beam + enddo @@ -535,13 +545,16 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) CALL AllocAry(TempMembers, p%NMembers, MembersCol , 'TempMembers', ErrStat2, ErrMsg2); if(Failed()) return CALL AllocAry(TempProps, MaxNProp, PropSetsBCol,'TempProps', ErrStat2, ErrMsg2); if(Failed()) return TempProps = -9999. + TempProps(1:Init%NPropSetsB, :) = Init%PropSetsB TempMembers = p%Elems(1:p%NMembers,:) - TempProps(1:Init%NPropSetsB, :) = Init%PropSetsB + p%Elems(:,:) = -9999. ! Reinitialized. Elements will be ordered by member subdivisions (see setNewElem) kelem = 0 knode = Init%NJoints + kprop = Init%NPropSetsB + DO I = 1, p%NMembers !the first p%NMembers rows of p%Elems contain the element information ! Member data Node1 = TempMembers(I, 2) @@ -549,9 +562,9 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) Prop1 = TempMembers(I, iMProp ) Prop2 = TempMembers(I, iMProp+1) eType = TempMembers(I, iMType ) - COSM_ind = TempMembers(I, 7 ) + COSM_ind = TempMembers(I, iMCOSMID) - if (eType/=idMemberBeam) then + if (eType==idMemberRigid .OR. eType==idMemberCable) then ! --- Cables and rigid links are not subdivided and have same prop at nodes ! No need to create new properties or new nodes Init%MemberNodes(I, 1) = Node1 @@ -576,19 +589,28 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) dx = ( x2 - x1 )/Init%NDiv dy = ( y2 - y1 )/Init%NDiv dz = ( z2 - z1 )/Init%NDiv - - d1 = TempProps(Prop1, 5) - t1 = TempProps(Prop1, 6) - d2 = TempProps(Prop2, 5) - t2 = TempProps(Prop2, 6) - - dd = ( d2 - d1 )/Init%NDiv - dt = ( t2 - t1 )/Init%NDiv - + if (eType == idMemberBeam) then + + d1 = TempProps(Prop1, 5) + t1 = TempProps(Prop1, 6) + + d2 = TempProps(Prop2, 5) + t2 = TempProps(Prop2, 6) + + dd = ( d2 - d1 )/Init%NDiv + dt = ( t2 - t1 )/Init%NDiv + ! If both dd and dt are 0, no interpolation is needed, and we can use the same property set for new nodes/elements. otherwise we'll have to create new properties for each new node - CreateNewProp = .NOT. ( EqualRealNos( dd , 0.0_ReKi ) .AND. EqualRealNos( dt , 0.0_ReKi ) ) - + + CreateNewProp = .NOT. ( EqualRealNos( dd , 0.0_ReKi ) .AND. EqualRealNos( dt , 0.0_ReKi ) ) + + else + + CreateNewProp = .FALSE. + + endif + ! node connect to Node1 knode = knode + 1 Init%MemberNodes(I, 2) = knode @@ -721,7 +743,7 @@ SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, COSM_ind) p%Elems(k, iMProp ) = p1 p%Elems(k, iMProp+1) = p2 p%Elems(k, iMType) = eType - p%Elems(k, 7) = COSM_ind + p%Elems(k, iMCOSMID) = COSM_ind END SUBROUTINE SetNewElem !> Set material properties of element k, NOTE: this is only for a beam @@ -810,7 +832,7 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) P1 = p%Elems(I, iMProp ) P2 = p%Elems(I, iMProp+1) eType = p%Elems(I, iMType) - COSM_ind = p%Elems(I, 7) + COSM_ind = p%Elems(I, iMCOSMID) ! --- Properties common to all element types: L, DirCos (and Area and rho) Point1 = Init%Nodes(N1,2:4) @@ -898,7 +920,7 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Rho = rho p%ElemProps(i)%D = (/D1, D2/) - else if (eType==idMemberSpecial) then + else if (eType==idMemberX) then ! Storing Beam specific properties E = (Init%PropSetsX(P1, 2) + Init%PropSetsX(P2, 2)) / 2 G = (Init%PropSetsX(P1, 3) + Init%PropSetsX(P2, 3)) / 2 diff --git a/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml b/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml index 98f67a67d5..c83a8ffb66 100644 --- a/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml +++ b/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml @@ -1,26 +1,26 @@ -#This summary file was generated by SubDyn on 18-Jan-2023 at 02:45:26. +#This summary file was generated by SubDyn on 18-Jan-2023 at 13:40:39. #Unless specified, units are consistent with Input units, [SI] system is advised. #____________________________________________________________________________________________________ # RIGID BODY EQUIVALENT DATA #____________________________________________________________________________________________________ Mass: 1.775628E+02 # Total Mass -CM_point: [ 0.000000E+00, 0.000000E+00, -1.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) +CM_point: [ 0.000000E+00, 0.000000E+00, 1.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.775628E+02, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ -1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.775628E+02, -0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, -0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ -1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] @@ -33,18 +33,18 @@ M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). # GUYAN MATRICES at the TP reference point #____________________________________________________________________________________________________ KBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.980232E-08, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.341105E-07, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.341105E-07, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 9.536743E-07, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.043081E-07, 0.000000E+00, -1.862645E-07, 0.000000E+00, 0.000000E+00] + - [ -1.043081E-07, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.862645E-07, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.725290E-09] MBBt: # 6 x 6 - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.775628E+02, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] + - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ -1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] + - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] + - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] @@ -57,35 +57,35 @@ CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) # SYSTEM FREQUENCIES #____________________________________________________________________________________________________ #Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_frequencies: # 1 x 18 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.084256E-06, 3.084256E-06, 1.308630E-05, 2.779090E+02, 2.779090E+02, 8.701787E+02, 8.701787E+02, 8.842362E+02, 1.425790E+03, 1.768472E+03, 1.880244E+03, 1.880244E+03, 2.790171E+03, 2.790171E+03, 2.851580E+03,] +Full_frequencies: # 1 x 30 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.030256E-05, 2.798707E+02, 2.798707E+02, 7.023971E+02, 7.023971E+02, 8.226503E+02, 1.174371E+03, 1.174371E+03, 1.326486E+03, 1.768472E+03, 2.514060E+03, 2.514060E+03, 2.851580E+03, 2.873838E+03, 3.331441E+03, 3.331441E+03, 3.536945E+03, 4.397438E+03, 4.397438E+03, 4.633931E+03, 5.703160E+03, 5.834421E+03, 5.834421E+03, 6.258268E+03, 6.258268E+03,] #Frequencies of Guyan modes [Hz] GY_frequencies: # 1 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00,] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.487850E-06, 6.487850E-06, 1.166391E-05,] #Frequencies of Craig-Bampton modes [Hz] CB_frequencies: # 1 x 5 - - [ 4.570767E+01, 4.570767E+01, 2.664343E+02, 2.664343E+02, 4.113251E+02,] + - [ 4.567747E+01, 4.567747E+01, 2.652884E+02, 2.652884E+02, 4.035378E+02,] #____________________________________________________________________________________________________ # Internal FEM representation #____________________________________________________________________________________________________ nNodes_I: 1 # Number of Nodes: "interface" (I) nNodes_C: 0 # Number of Nodes: "reactions" (C) -nNodes_L: 2 # Number of Nodes: "internal" (L) -nNodes : 3 # Number of Nodes: total (I+C+L) +nNodes_L: 4 # Number of Nodes: "internal" (L) +nNodes : 5 # Number of Nodes: total (I+C+L) nDOF__B : 6 # Number of DOFs: retained (__B) -nDOF__L : 12 # Number of DOFs: internal (__L) +nDOF__L : 24 # Number of DOFs: internal (__L) nDOF__F : 0 # Number of DOFs: fixed (__F) -nDOF_red: 18 # Number of DOFs: total +nDOF_red: 30 # Number of DOFs: total DOF___B: # 1 x 6 all retained DOFs - [ 1, 2, 3, 4, 5, 6,] DOF___F: # 1 x 0 all fixed DOFs - [ ] -DOF___L: # 1 x 12 all internal DOFs - - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,] +DOF___L: # 1 x 24 all internal DOFs + - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,] #Index map from DOF to nodes # Node No., DOF/Node, NodalDOF -DOF2Nodes: # 18 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) +DOF2Nodes: # 30 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) - [ 1, 6, 1] # 1 - [ 1, 6, 2] # 2 - [ 1, 6, 3] # 3 @@ -104,15 +104,31 @@ DOF2Nodes: # 18 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, co - [ 3, 6, 4] # 16 - [ 3, 6, 5] # 17 - [ 3, 6, 6] # 18 + - [ 4, 6, 1] # 19 + - [ 4, 6, 2] # 20 + - [ 4, 6, 3] # 21 + - [ 4, 6, 4] # 22 + - [ 4, 6, 5] # 23 + - [ 4, 6, 6] # 24 + - [ 5, 6, 1] # 25 + - [ 5, 6, 2] # 26 + - [ 5, 6, 3] # 27 + - [ 5, 6, 4] # 28 + - [ 5, 6, 5] # 29 + - [ 5, 6, 6] # 30 # Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] -Nodes: # 3 x 9 +Nodes: # 5 x 9 - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 4., 0.000, 0.000, -0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 5., 0.000, 0.000, -3.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] # Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] -Elements: # 2 x 16 - - [ 1., 1., 2., 1., 1., 1., 1.000, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 2., 2., 3., 1., 1., 4., 5.000, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 2.650000E+00, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] +Elements: # 4 x 16 + - [ 1., 1., 4., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 2., 4., 2., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 3., 2., 5., 1., 1., 4., 2.500, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 2.650000E+00, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] + - [ 4., 5., 3., 1., 1., 4., 2.500, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 2.650000E+00, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] #____________________________________________________________________________________________________ #User inputs @@ -136,9 +152,9 @@ Elements: # 2 x 16 #JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ #Number of members 2 -#Number of nodes per member: 2 +#Number of nodes per member: 3 #Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... -# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 2 +# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 4 2 #TODO, member unknown #____________________________________________________________________________________________________ #Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 @@ -146,54 +162,90 @@ Elements: # 2 x 16 # 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 # 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 #____________________________________________________________________________________________________ -#FEM Eigenvectors (18 x 18) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_Modes: # 18 x 18 - - [ -1.771362E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.771362E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, -8.906527E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] - - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] - - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -5.885681E-01, 0.000000E+00, 0.000000E+00, -3.227071E-01, 0.000000E+00, 0.000000E+00, -2.856238E-01, 0.000000E+00, -7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -5.885681E-01, 0.000000E+00, 0.000000E+00, 3.227071E-01, 0.000000E+00, 0.000000E+00, 2.856238E-01, 0.000000E+00, 7.203805E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.238260E-02, 0.000000E+00, 2.524985E-17, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.405218E-16, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00] - - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.009527E-16, 0.000000E+00, 8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -8.469492E-16, 0.000000E+00, 5.538596E-01, 0.000000E+00] - - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.009527E-16, 0.000000E+00, 8.098240E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.469492E-16, 0.000000E+00, -5.538596E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.212648E-17, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -1.000000E+00, 0.000000E+00, 0.000000E+00, 3.545857E-01, 0.000000E+00, 0.000000E+00, 4.522905E-01, 0.000000E+00, 2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -3.545857E-01, 0.000000E+00, 0.000000E+00, -4.522905E-01, 0.000000E+00, -2.174361E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.142841E-01, 0.000000E+00, 8.906527E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] - - [ 0.000000E+00, -4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] - - [ 4.114319E-01, 0.000000E+00, 0.000000E+00, -6.772929E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#FEM Eigenvectors (30 x 30) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_Modes: # 30 x 30 + - [ 1.000000E+00, -1.826826E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, 2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, 6.633766E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.588561E-02, 0.000000E+00, -4.247858E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -1.000000E+00, 1.826826E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, 2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, -6.633766E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 4.588561E-02, -0.000000E+00, -4.247858E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, -0.000000E+00, -1.000000E+00] + - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 2.802990E-01, -5.913413E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.799615E-01, 0.000000E+00, 1.661463E-16, 0.000000E+00, 0.000000E+00, 2.227481E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.765645E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.477679E-02, 0.000000E+00, 0.000000E+00, 2.434634E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.161669E-02, 0.000000E+00, 6.915257E-16, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -2.802990E-01, 5.913413E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.799615E-01, 0.000000E+00, 1.661463E-16, 0.000000E+00, 0.000000E+00, 2.227481E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.765645E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.477679E-02, 0.000000E+00, 0.000000E+00, -2.434634E-16, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.161669E-02, -0.000000E+00, 6.915257E-16] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.069329E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.698413E-16, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.519661E-15, 0.000000E+00, -5.959244E-01, 0.000000E+00, 0.000000E+00, 7.969875E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.144769E-15, 0.000000E+00, 0.000000E+00, 8.797876E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.997016E-14, -0.000000E+00, -4.313073E-01] + - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.519661E-15, 0.000000E+00, 5.959244E-01, 0.000000E+00, 0.000000E+00, -7.969875E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.144769E-15, 0.000000E+00, 0.000000E+00, 8.797876E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.997016E-14, 0.000000E+00, 4.313073E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.046283E-15, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.369204E-15, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ -4.394019E-01, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, -2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, -6.633766E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.588561E-02, 0.000000E+00, 4.247858E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 4.394019E-01, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, -2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, 6.633766E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 4.588561E-02, -0.000000E+00, 4.247858E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00, -1.000000E+00] + - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 6.401495E-01, -3.870119E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, -1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, 3.429999E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.291551E-02, 0.000000E+00, -5.707893E-03, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -6.401495E-01, 3.870119E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, -1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, -3.429999E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.291551E-02, -0.000000E+00, -5.707893E-03] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.161099E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, -1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.960788E-01, 0.000000E+00, 3.496037E-01, 0.000000E+00, 0.000000E+00, -1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 3.587727E-01, -0.000000E+00, -5.090062E-01] + - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.960788E-01, 0.000000E+00, -3.496037E-01, 0.000000E+00, 0.000000E+00, 1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.587727E-01, 0.000000E+00, 5.090062E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.947737E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ -7.955143E-02, -7.956706E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, 1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, -3.429999E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.291551E-02, 0.000000E+00, 5.707893E-03, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 7.955143E-02, 7.956706E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, 1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, 3.429999E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.291551E-02, -0.000000E+00, 5.707893E-03] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.554418E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, -1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.960788E-01, 0.000000E+00, 3.496037E-01, 0.000000E+00, 0.000000E+00, 1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -3.587727E-01, -0.000000E+00, -5.090062E-01] + - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.960788E-01, 0.000000E+00, -3.496037E-01, 0.000000E+00, 0.000000E+00, -1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.587727E-01, 0.000000E+00, 5.090062E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.393319E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] #____________________________________________________________________________________________________ #CB Matrices (PhiM,PhiR) (reaction constraints applied) -PhiM: # 12 x 5 (CB modes) - - [ -5.149863E-02, 0.000000E+00, 1.084281E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -5.149863E-02, 0.000000E+00, -1.084281E-01, 0.000000E+00] +PhiM: # 24 x 5 (CB modes) + - [ 5.142100E-02, 0.000000E+00, -1.056842E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 5.142100E-02, 0.000000E+00, -1.056842E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -8.502998E-02, 0.000000E+00, -4.706271E-02, 0.000000E+00] + - [ 8.502998E-02, 0.000000E+00, 4.706271E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.394560E-01] + - [ 1.489311E-01, 0.000000E+00, 1.431892E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.489311E-01, 0.000000E+00, 1.431892E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.006718E-01, 0.000000E+00, -3.249314E-01, 0.000000E+00] + - [ 1.006718E-01, 0.000000E+00, 3.249314E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.187170E+00] + - [ 1.514521E-02, 0.000000E+00, -6.729193E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.514521E-02, 0.000000E+00, -6.729193E-02, 0.000000E+00] - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -8.514100E-02, 0.000000E+00, 4.488426E-02, 0.000000E+00] - - [ 8.514100E-02, 0.000000E+00, 4.488426E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.724188E-01] - - [ -1.491608E-01, 0.000000E+00, -1.436051E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.491608E-01, 0.000000E+00, 1.436051E-01, 0.000000E+00] + - [ 0.000000E+00, -5.322961E-02, 0.000000E+00, 1.345100E-01, 0.000000E+00] + - [ 5.322961E-02, 0.000000E+00, -1.345100E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.543103E-01] + - [ 9.860755E-02, 0.000000E+00, -1.782159E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 9.860755E-02, 0.000000E+00, -1.782159E-02, 0.000000E+00] - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.008119E-01, 0.000000E+00, 3.275202E-01, 0.000000E+00] - - [ 1.008119E-01, 0.000000E+00, 3.275202E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.233786E+00] -PhiR: # 12 x 6 (Guyan modes) - - [ 1.000000E+00, -0.000000E+00, -0.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, -0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] - - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -2.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, 2.000000E+00, 0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ 0.000000E+00, -9.850055E-02, 0.000000E+00, -2.671031E-01, 0.000000E+00] + - [ 9.850055E-02, 0.000000E+00, 2.671031E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.096802E+00] +PhiR: # 24 x 6 (Guyan modes) + - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, -7.152041E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] + - [ 7.152041E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] + - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -2.000000E+00, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, -9.181547E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] + - [ 9.181547E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] + - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.000000E-01, -0.000000E+00] + - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -5.000000E-01, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] + - [ -0.000000E+00, -4.899054E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] + - [ 4.899054E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] + - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.500000E+00, -0.000000E+00] + - [ 0.000000E+00, 1.000000E+00, -0.000000E+00, -1.500000E+00, -0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, -9.181547E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] + - [ 9.181547E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] #____________________________________________________________________________________________________ TI: # 6 x 6 (TP refpoint Transformation Matrix TI) - [ 1.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00,-0.00E+00] @@ -203,5 +255,5 @@ TI: # 6 x 6 (TP refpoint Transformation Matrix TI) - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00] - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00] -#This summary file was closed on 18-Jan-2023 at 02:45:26. +#This summary file was closed on 18-Jan-2023 at 13:40:39. diff --git a/subdyn_cosine_arbitrary_example/primary.dat b/subdyn_cosine_arbitrary_example/primary.dat index cc23b2c649..5acdcc857f 100644 --- a/subdyn_cosine_arbitrary_example/primary.dat +++ b/subdyn_cosine_arbitrary_example/primary.dat @@ -8,7 +8,7 @@ True SttcSolve - Solve dynamics about static equilibrium point True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. -------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - 1 NDiv - Number of sub-elements per member + 2 NDiv - Number of sub-elements per member True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. 837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). @@ -41,7 +41,7 @@ IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss 2 NMembers - Number of frame members MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID (-) (-) (-) (-) (-) (-) (-) - 1 11 12 1 1 1 -1 + 1 11 12 1 1 1 1 2 12 13 1 1 4 -1 ------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) From 1e7a3526f59616ef8b74eb4d223c53804015fe73 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 18 Jan 2023 13:47:48 +0000 Subject: [PATCH 05/20] added refinement of member with X section properties --- modules/subdyn/src/SD_FEM.f90 | 2 +- subdyn_cosine_arbitrary_example/primary.dat | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 5a8aa66aea..99322d5f35 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -402,7 +402,7 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) ! Test that the two properties match for non-beam if (mType/=idMemberBeam) then if (Init%Members(iMem, iMProp)/=Init%Members(iMem, iMProp+1)) then - call Fatal('Properties should be the same at each node for non-beam members. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) + call Fatal('Property IDs should be the same at each joint for members with X section properties. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) return endif endif diff --git a/subdyn_cosine_arbitrary_example/primary.dat b/subdyn_cosine_arbitrary_example/primary.dat index 5acdcc857f..1653b3f6bf 100644 --- a/subdyn_cosine_arbitrary_example/primary.dat +++ b/subdyn_cosine_arbitrary_example/primary.dat @@ -42,17 +42,18 @@ IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID (-) (-) (-) (-) (-) (-) (-) 1 11 12 1 1 1 1 - 2 12 13 1 1 4 -1 + 2 12 13 1 2 4 -1 ------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) PropSetID YoungE ShearG MatDens XsecD XsecT (-) (N/m2) (N/m2) (kg/m3) (m) (m) 1 210E9 8.0769E10 7850 0.2 0.02 ------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ - 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) -PropSetID YoungE ShearG MatDens XsecA k_x k_y Ixx Iyy J + 2 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) +PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) 1 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 + 2 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 -------------------------- CABLE PROPERTIES ------------------------------------- 0 NCablePropSets - Number of cable cable properties PropSetID EA MatDens T0 CtrlChannel From 20b386098c039a0830a9ec98a0e1777e93ac67e2 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 18 Jan 2023 14:16:02 +0000 Subject: [PATCH 06/20] ensured SHEAR is defined for X members --- modules/subdyn/src/SD_FEM.f90 | 5 +++++ subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml | 4 ++-- subdyn_cosine_arbitrary_example/primary.dat | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 99322d5f35..26373fb508 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -921,6 +921,11 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%D = (/D1, D2/) else if (eType==idMemberX) then + if( Init%FEMMod == 1 ) then ! uniform Euler-Bernoulli + Shear = .false. + elseif( Init%FEMMod == 3 ) then ! uniform Timoshenko + Shear = .true. + endif ! Storing Beam specific properties E = (Init%PropSetsX(P1, 2) + Init%PropSetsX(P2, 2)) / 2 G = (Init%PropSetsX(P1, 3) + Init%PropSetsX(P2, 3)) / 2 diff --git a/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml b/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml index c83a8ffb66..5ed49105b1 100644 --- a/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml +++ b/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml @@ -1,5 +1,5 @@ -#This summary file was generated by SubDyn on 18-Jan-2023 at 13:40:39. +#This summary file was generated by SubDyn on 18-Jan-2023 at 14:15:34. #Unless specified, units are consistent with Input units, [SI] system is advised. #____________________________________________________________________________________________________ @@ -255,5 +255,5 @@ TI: # 6 x 6 (TP refpoint Transformation Matrix TI) - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00] - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00] -#This summary file was closed on 18-Jan-2023 at 13:40:39. +#This summary file was closed on 18-Jan-2023 at 14:15:34. diff --git a/subdyn_cosine_arbitrary_example/primary.dat b/subdyn_cosine_arbitrary_example/primary.dat index 1653b3f6bf..6cb15b114c 100644 --- a/subdyn_cosine_arbitrary_example/primary.dat +++ b/subdyn_cosine_arbitrary_example/primary.dat @@ -42,7 +42,7 @@ IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID (-) (-) (-) (-) (-) (-) (-) 1 11 12 1 1 1 1 - 2 12 13 1 2 4 -1 + 2 12 13 1 1 4 -1 ------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) PropSetID YoungE ShearG MatDens XsecD XsecT From 60a4b439e9b1d80d8092e861affebba93c716415 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 20 Jan 2023 14:26:16 +0000 Subject: [PATCH 07/20] added trick to get eType=4 elements to be added to stiffness/mass matrices --- modules/subdyn/src/SD_FEM.f90 | 2 + subdyn_cosine_arbitrary_example/Force_TS.dat | 6 -- subdyn_cosine_arbitrary_example/driver.inp | 26 ----- subdyn_cosine_arbitrary_example/primary.dat | 101 ------------------- 4 files changed, 2 insertions(+), 133 deletions(-) delete mode 100644 subdyn_cosine_arbitrary_example/Force_TS.dat delete mode 100644 subdyn_cosine_arbitrary_example/driver.inp delete mode 100644 subdyn_cosine_arbitrary_example/primary.dat diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 26373fb508..68e5219057 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -921,6 +921,8 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%D = (/D1, D2/) else if (eType==idMemberX) then + + p%ElemProps(i)%eType = 1 if( Init%FEMMod == 1 ) then ! uniform Euler-Bernoulli Shear = .false. elseif( Init%FEMMod == 3 ) then ! uniform Timoshenko diff --git a/subdyn_cosine_arbitrary_example/Force_TS.dat b/subdyn_cosine_arbitrary_example/Force_TS.dat deleted file mode 100644 index 3a4b6855ce..0000000000 --- a/subdyn_cosine_arbitrary_example/Force_TS.dat +++ /dev/null @@ -1,6 +0,0 @@ -#Time_[s] , Fx_[N] , Fy_[N] , Fz_[N] , Mx_[Nm] , My_[Nm] , Mz_[Nm] -0.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 -10.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 -11.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 -25.0 , 0.0 , 0.0 , , 0.0 , 0.0 , 0.0 -50.0 , -1000.0 , 0.0 , , 0.0 , 0.0 , 0.0 \ No newline at end of file diff --git a/subdyn_cosine_arbitrary_example/driver.inp b/subdyn_cosine_arbitrary_example/driver.inp deleted file mode 100644 index f0bea8e098..0000000000 --- a/subdyn_cosine_arbitrary_example/driver.inp +++ /dev/null @@ -1,26 +0,0 @@ -SubDyn Driver file for stand-alone applications -Compatible with SubDyn v1.xx.x -False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo ----------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- -0 Gravity - Gravity (m/s^2). -0 WtrDpth - Water Depth (m) positive value. ----------------------- SubDyn ------------------------------------------------------------------- -"primary.dat" SDInputFile - It can be an absolute or relative path. -"SD_Force" OutRootName - All the output files will have this name. -1500 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. -0.01 TimeInterval - TimeInterval for the simulation (sec). Time step. -0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) -0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. ----------------------- INPUTS ------------------------------------------------------------------- -0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) -"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). ----------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- -0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) ----------------------- LOADS -------------------------------------------------------------------- -1 nAppliedLoads - Number of applied loads at given nodes -ALJointID Fx Fy Fz Mx My Mz UnsteadyFile - (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) - 13 1000 0 0 0 0 0 "Force_TS.dat" -END of driver input file \ No newline at end of file diff --git a/subdyn_cosine_arbitrary_example/primary.dat b/subdyn_cosine_arbitrary_example/primary.dat deleted file mode 100644 index 6cb15b114c..0000000000 --- a/subdyn_cosine_arbitrary_example/primary.dat +++ /dev/null @@ -1,101 +0,0 @@ ------------ SubDyn v1.01.x MultiMember Support Structure Input File ------------ -Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. --------------------------- SIMULATION CONTROL --------------------------------- -False Echo - Echo input data to ".SD.ech" (flag) -"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. - 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. -True SttcSolve - Solve dynamics about static equilibrium point -True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. --------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- - 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - 2 NDiv - Number of sub-elements per member -True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. - 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. -837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). - 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] - 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] - 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] - 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 ----- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- - 3 NJoints - Number of joints (-) -JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff - (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) - 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 - 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 - 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 -------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- - 0 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) -RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] - (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) -------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- - 1 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs -IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss - (-) (flag) (flag) (flag) (flag) (flag) (flag) - 11 1 1 1 1 1 1 ------------------------------------ MEMBERS -------------------------------------- - 2 NMembers - Number of frame members -MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID - (-) (-) (-) (-) (-) (-) (-) - 1 11 12 1 1 1 1 - 2 12 13 1 1 4 -1 ------------------- MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ - 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) -PropSetID YoungE ShearG MatDens XsecD XsecT - (-) (N/m2) (N/m2) (kg/m3) (m) (m) - 1 210E9 8.0769E10 7850 0.2 0.02 ------------------- MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ - 2 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) -PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J - (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) - 1 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 - 2 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 --------------------------- CABLE PROPERTIES ------------------------------------- - 0 NCablePropSets - Number of cable cable properties -PropSetID EA MatDens T0 CtrlChannel - (-) (N) (kg/m) (N) (-) ------------------------ RIGID LINK PROPERTIES ------------------------------------ - 0 NRigidPropSets - Number of rigid link properties -PropSetID MatDens - (-) (kg/m) ----------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ - 2 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below -COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 - (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) - 1 1 0 0 0 1 0 0 0 1 - 2 1 0 0 0 1 0 0 0 1 ------------------------- JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- - 0 NCmass - Number of joints with concentrated masses; Global Coordinate System -CMJointID JMass JMXX JMYY JMZZ - (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) ----------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ -True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. -0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) -0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) -True OutCOSM - Output cosine matrices with the selected output member forces (flag) -False OutAll - [T/F] Output all members' end forces - 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. -True TabDelim - Generate a tab-delimited output in the .SD.out file - 1 OutDec - Decimation of output in the .SD.out file -"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file -"A11" OutSFmt - Output format for header strings in the .SD.out file -------------------------- MEMBER OUTPUT LIST ------------------------------------------ - 2 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. -MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. - (-) (-) (-) - 1 2 1 2 - 2 2 1 2 -------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ -"M1N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). -"M2N1TDxss" - 1st Member, 1st node cnt (node 1 in the system): displacements in inertial frame coordinate system (global system). -"M2N2TDxss" - -"M1N1RDye" - -"M2N1RDye" - -"M2N2RDye" - -"IntfFXss" - X-displacement at the interface -"IntfMYss" - X-displacement at the interface -END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file From e471e311ee1dfb5477b9399c805aa7c0fd4e6c22 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 20 Jan 2023 14:30:33 +0000 Subject: [PATCH 08/20] updated SubDyn_registry to split Kappa into Kappa_x and Kappa_y --- modules/subdyn/src/SubDyn_Registry.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/subdyn/src/SubDyn_Registry.txt b/modules/subdyn/src/SubDyn_Registry.txt index 9bcd06aff0..b285711ab0 100644 --- a/modules/subdyn/src/SubDyn_Registry.txt +++ b/modules/subdyn/src/SubDyn_Registry.txt @@ -33,7 +33,8 @@ typedef ^ ElemPropType ReKi Ixx - - - "Moment of inertia of an el typedef ^ ElemPropType ReKi Iyy - - - "Moment of inertia of an element" typedef ^ ElemPropType ReKi Jzz - - - "Moment of inertia of an element" typedef ^ ElemPropType LOGICAL Shear - - - "Use timoshenko (true) E-B (false)" -typedef ^ ElemPropType ReKi Kappa - - - "Shear coefficient" +typedef ^ ElemPropType ReKi Kappa_x - - - "Shear coefficient" +typedef ^ ElemPropType ReKi Kappa_y - - - "Shear coefficient" typedef ^ ElemPropType ReKi YoungE - - - "Young's modulus" typedef ^ ElemPropType ReKi ShearG - - - "Shear modulus" N/m^2 # Properties common to all element types: From f69da2a47782430e3339deca77cdf0f8411826d4 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 20 Jan 2023 17:25:19 +0000 Subject: [PATCH 09/20] started to add regression tests --- f_subdyn_test/01/driver.inp | 26 ++ f_subdyn_test/01/test.SD.sum.yaml | 253 +++++++++++++++++ f_subdyn_test/01/test.dat | 93 +++++++ f_subdyn_test/01/truth.SD.sum.yaml | 253 +++++++++++++++++ f_subdyn_test/01/truth.dat | 92 +++++++ f_subdyn_test/02/FEM1.json | 24 ++ f_subdyn_test/02/driver.inp | 26 ++ f_subdyn_test/02/test.SD.CBmodes.json | 30 ++ f_subdyn_test/02/test.SD.FEMmodes.json | 24 ++ f_subdyn_test/02/test.SD.sum.yaml | 199 ++++++++++++++ f_subdyn_test/02/test.dat | 90 ++++++ f_subdyn_test/log.txt | 2 + modules/subdyn/src/SD_FEM.f90 | 14 + modules/subdyn/src/SubDyn.f90 | 2 +- .../SD_Force.SD.sum.yaml | 259 ------------------ 15 files changed, 1127 insertions(+), 260 deletions(-) create mode 100644 f_subdyn_test/01/driver.inp create mode 100644 f_subdyn_test/01/test.SD.sum.yaml create mode 100644 f_subdyn_test/01/test.dat create mode 100644 f_subdyn_test/01/truth.SD.sum.yaml create mode 100644 f_subdyn_test/01/truth.dat create mode 100644 f_subdyn_test/02/FEM1.json create mode 100644 f_subdyn_test/02/driver.inp create mode 100644 f_subdyn_test/02/test.SD.CBmodes.json create mode 100644 f_subdyn_test/02/test.SD.FEMmodes.json create mode 100644 f_subdyn_test/02/test.SD.sum.yaml create mode 100644 f_subdyn_test/02/test.dat create mode 100644 f_subdyn_test/log.txt delete mode 100644 subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml diff --git a/f_subdyn_test/01/driver.inp b/f_subdyn_test/01/driver.inp new file mode 100644 index 0000000000..0d834d94a9 --- /dev/null +++ b/f_subdyn_test/01/driver.inp @@ -0,0 +1,26 @@ +SubDyn Driver file for stand-alone applications +Compatible with SubDyn v1.xx.x +False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo +---------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- +0 Gravity - Gravity (m/s^2). +0 WtrDpth - Water Depth (m) positive value. +---------------------- SubDyn ------------------------------------------------------------------- +"truth.dat" SDInputFile - It can be an absolute or relative path. +"truth" OutRootName - All the output files will have this name. +5000 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. +0.01 TimeInterval - TimeInterval for the simulation (sec). Time step. +0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) +0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. +---------------------- INPUTS ------------------------------------------------------------------- +0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) +"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). +---------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- +0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) +---------------------- LOADS -------------------------------------------------------------------- +1 nAppliedLoads - Number of applied loads at given nodes +ALJointID Fx Fy Fz Mx My Mz UnsteadyFile + (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) + 11 1000 0 0 0 0 0 +END of driver input file \ No newline at end of file diff --git a/f_subdyn_test/01/test.SD.sum.yaml b/f_subdyn_test/01/test.SD.sum.yaml new file mode 100644 index 0000000000..3c909063d2 --- /dev/null +++ b/f_subdyn_test/01/test.SD.sum.yaml @@ -0,0 +1,253 @@ + +#This summary file was generated by SubDyn on 20-Jan-2023 at 14:44:45. + +#Unless specified, units are consistent with Input units, [SI] system is advised. +#____________________________________________________________________________________________________ +# RIGID BODY EQUIVALENT DATA +#____________________________________________________________________________________________________ +Mass: 5.327010E+02 # Total Mass +CM_point: [ 0.000000E+00, 0.000000E+00, -9.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) +TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point +MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). + - [ 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.794309E+03, 0.000000E+00] + - [ 0.000000E+00, 5.327010E+02, 0.000000E+00, 4.794309E+03, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 4.794309E+03, 0.000000E+00, 4.474907E+04, 0.000000E+00, 0.000000E+00] + - [ -4.794309E+03, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.474907E+04, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.521600E+00] +M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point + - [ 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.794309E+03, -0.000000E+00] + - [ 0.000000E+00, 5.327010E+02, 0.000000E+00, 4.794309E+03, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 5.327010E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 4.794309E+03, 0.000000E+00, 4.474907E+04, 0.000000E+00, 0.000000E+00] + - [ -4.794309E+03, 0.000000E+00, -0.000000E+00, 0.000000E+00, 4.474907E+04, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.521600E+00] +M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). + - [ 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 5.327010E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 5.327010E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600287E+03, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600287E+03, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.521600E+00] +#____________________________________________________________________________________________________ +# GUYAN MATRICES at the TP reference point +#____________________________________________________________________________________________________ +KBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +MBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +# SYSTEM FREQUENCIES +#____________________________________________________________________________________________________ +#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_frequencies: # 1 x 24 + - [ 5.140048E+00, 5.140048E+00, 3.210515E+01, 3.210515E+01, 9.480791E+01, 9.480791E+01, 1.352443E+02, 2.134299E+02, 2.134299E+02, 2.180753E+02, 4.372133E+02, 5.224592E+02, 5.224592E+02, 7.049863E+02, 1.166661E+03, 1.254712E+03, 1.254712E+03, 1.881187E+03, 2.963515E+03, 3.251991E+03, 3.251991E+03, 4.778532E+03, 5.771266E+03, 5.771266E+03,] +#Frequencies of Guyan modes [Hz] +GY_frequencies: # 1 x 6 + - [***************,***************,***************,***************,***************,***************,] +#Frequencies of Craig-Bampton modes [Hz] +CB_frequencies: # 1 x 5 + - [ 5.140048E+00, 5.140048E+00, 3.210515E+01, 3.210515E+01, 9.480791E+01,] +#____________________________________________________________________________________________________ +# Internal FEM representation +#____________________________________________________________________________________________________ +nNodes_I: 0 # Number of Nodes: "interface" (I) +nNodes_C: 1 # Number of Nodes: "reactions" (C) +nNodes_L: 4 # Number of Nodes: "internal" (L) +nNodes : 5 # Number of Nodes: total (I+C+L) +nDOF__B : 0 # Number of DOFs: retained (__B) +nDOF__L : 24 # Number of DOFs: internal (__L) +nDOF__F : 6 # Number of DOFs: fixed (__F) +nDOF_red: 30 # Number of DOFs: total +DOF___B: # 1 x 0 all retained DOFs + - [ ] +DOF___F: # 1 x 6 all fixed DOFs + - [ 13, 14, 15, 16, 17, 18,] +DOF___L: # 1 x 24 all internal DOFs + - [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,] + +#Index map from DOF to nodes +# Node No., DOF/Node, NodalDOF +DOF2Nodes: # 30 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) + - [ 1, 6, 1] # 1 + - [ 1, 6, 2] # 2 + - [ 1, 6, 3] # 3 + - [ 1, 6, 4] # 4 + - [ 1, 6, 5] # 5 + - [ 1, 6, 6] # 6 + - [ 2, 6, 1] # 7 + - [ 2, 6, 2] # 8 + - [ 2, 6, 3] # 9 + - [ 2, 6, 4] # 10 + - [ 2, 6, 5] # 11 + - [ 2, 6, 6] # 12 + - [ 3, 6, 1] # 13 + - [ 3, 6, 2] # 14 + - [ 3, 6, 3] # 15 + - [ 3, 6, 4] # 16 + - [ 3, 6, 5] # 17 + - [ 3, 6, 6] # 18 + - [ 4, 6, 1] # 19 + - [ 4, 6, 2] # 20 + - [ 4, 6, 3] # 21 + - [ 4, 6, 4] # 22 + - [ 4, 6, 5] # 23 + - [ 4, 6, 6] # 24 + - [ 5, 6, 1] # 25 + - [ 5, 6, 2] # 26 + - [ 5, 6, 3] # 27 + - [ 5, 6, 4] # 28 + - [ 5, 6, 5] # 29 + - [ 5, 6, 6] # 30 +# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] +Nodes: # 5 x 9 + - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 4., 0.000, 0.000, -0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 5., 0.000, 0.000, -3.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] +Elements: # 4 x 16 + - [ 1., 1., 4., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] + - [ 2., 4., 2., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] + - [ 3., 2., 5., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] + - [ 4., 5., 3., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] +#____________________________________________________________________________________________________ +#User inputs + +#Number of properties (NProps): 1 +#Prop No YoungE ShearG MatDens XsecD XsecT +# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 + +#No. of Reaction DOFs: 6 +#React. DOF_ID BC +# 13 Fixed +# 14 Fixed +# 15 Fixed +# 16 Fixed +# 17 Fixed +# 18 Fixed + +#No. of Interface DOFs: 0 +#Interf. DOF_ID BC + +#Number of concentrated masses (NCMass): 0 +#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ + +#Number of members 2 +#Number of nodes per member: 3 +#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... +#TODO, member unknown +#TODO, member unknown +#____________________________________________________________________________________________________ +#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 +#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) +# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +#____________________________________________________________________________________________________ +#FEM Eigenvectors (30 x 24) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_Modes: # 30 x 24 + - [ 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 7.373754E-01, 0.000000E+00, 0.000000E+00, 4.810701E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.359180E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.121978E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.007202E-01, 0.000000E+00, 0.000000E+00, -4.627989E-02, 0.000000E+00] + - [ 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -7.373754E-01, 0.000000E+00, 0.000000E+00, 4.810701E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.359180E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 2.121978E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.007202E-01, 0.000000E+00, -0.000000E+00, -4.627989E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.070952E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -2.289476E-01, 0.000000E+00, -7.975906E-01, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 9.455785E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00] + - [ -2.289476E-01, 0.000000E+00, -7.975906E-01, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -9.455785E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.070952E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 7.713380E-01, 0.000000E+00, 2.126458E-01, 0.000000E+00, -2.026275E-01, 0.000000E+00, 0.000000E+00, -2.884236E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.028739E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.719862E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.208501E-02, 0.000000E+00, 0.000000E+00, -5.943382E-03, 0.000000E+00] + - [ 0.000000E+00, -7.713380E-01, 0.000000E+00, -2.126458E-01, 0.000000E+00, 2.026275E-01, 0.000000E+00, 0.000000E+00, -2.884236E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.028739E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.719862E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 3.208501E-02, 0.000000E+00, -0.000000E+00, -5.943382E-03] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.986628E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.696686E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.313529E-01, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -2.274489E-01, 0.000000E+00, -7.474851E-01, 0.000000E+00, -7.308080E-01, 0.000000E+00, 0.000000E+00, 2.473173E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.368418E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.685969E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 9.178402E-02, 0.000000E+00, -0.000000E+00, -1.675861E-02] + - [ -2.274489E-01, 0.000000E+00, -7.474851E-01, 0.000000E+00, -7.308080E-01, 0.000000E+00, 0.000000E+00, -2.473173E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.368418E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.685969E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.178402E-02, 0.000000E+00, 0.000000E+00, 1.675861E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.986628E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.696686E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.313529E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 8.855260E-01, 0.000000E+00, 6.012358E-01, 0.000000E+00, 2.378218E-01, 0.000000E+00, 0.000000E+00, 1.069134E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.468227E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.828405E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.859834E-02, 0.000000E+00, 0.000000E+00, -1.338245E-02, 0.000000E+00] + - [ 0.000000E+00, -8.855260E-01, 0.000000E+00, -6.012358E-01, 0.000000E+00, -2.378218E-01, 0.000000E+00, 0.000000E+00, 1.069134E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.468227E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.828405E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.859834E-02, 0.000000E+00, -0.000000E+00, -1.338245E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.263976E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -4.638596E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -7.521146E-01, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -2.287540E-01, 0.000000E+00, -7.904813E-01, 0.000000E+00, -9.571213E-01, 0.000000E+00, 0.000000E+00, 8.144907E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.325845E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.085001E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 8.900767E-01, 0.000000E+00, -0.000000E+00, -3.447220E-01] + - [ -2.287540E-01, 0.000000E+00, -7.904813E-01, 0.000000E+00, -9.571213E-01, 0.000000E+00, 0.000000E+00, -8.144907E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.325845E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.085001E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.900767E-01, 0.000000E+00, 0.000000E+00, 3.447220E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.263976E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.638596E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -7.521146E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 2.477906E-01, 0.000000E+00, -7.142995E-01, 0.000000E+00, 3.276396E-01, 0.000000E+00, 0.000000E+00, 9.416384E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.161184E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.987502E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.022338E-03, 0.000000E+00, 0.000000E+00, -7.186463E-04, 0.000000E+00] + - [ 0.000000E+00, -2.477906E-01, 0.000000E+00, 7.142995E-01, 0.000000E+00, -3.276396E-01, 0.000000E+00, 0.000000E+00, 9.416384E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.161184E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 2.987502E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 4.022338E-03, 0.000000E+00, -0.000000E+00, -7.186463E-04] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.856608E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -3.426177E-02, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.744616E-01, 0.000000E+00, 1.277203E-01, 0.000000E+00, 5.287510E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.059529E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.048883E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.366018E-02, 0.000000E+00, -0.000000E+00, -2.430500E-03] + - [ -1.744616E-01, 0.000000E+00, 1.277203E-01, 0.000000E+00, 5.287510E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.059529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.048883E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.366018E-02, 0.000000E+00, 0.000000E+00, 2.430500E-03, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.856608E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -3.426177E-02, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +#CB Matrices (PhiM,PhiR) (reaction constraints applied) +PhiM: # 24 x 5 (CB modes) + - [ 8.659529E-02, 0.000000E+00, 8.625065E-02, 0.000000E+00, 9.838644E-02] + - [ 0.000000E+00, -8.659529E-02, 0.000000E+00, -8.625065E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.982578E-02, 0.000000E+00, -6.879271E-02, 0.000000E+00] + - [ -1.982578E-02, 0.000000E+00, -6.879271E-02, 0.000000E+00, -1.334279E-01] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 6.679423E-02, 0.000000E+00, 1.834084E-02, 0.000000E+00, -2.703616E-02] + - [ 0.000000E+00, -6.679423E-02, 0.000000E+00, -1.834084E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.969600E-02, 0.000000E+00, -6.447108E-02, 0.000000E+00] + - [ -1.969600E-02, 0.000000E+00, -6.447108E-02, 0.000000E+00, -9.751016E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 7.668238E-02, 0.000000E+00, 5.185698E-02, 0.000000E+00, 3.173205E-02] + - [ 0.000000E+00, -7.668238E-02, 0.000000E+00, -5.185698E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.980902E-02, 0.000000E+00, -6.817953E-02, 0.000000E+00] + - [ -1.980902E-02, 0.000000E+00, -6.817953E-02, 0.000000E+00, -1.277067E-01] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 2.145749E-02, 0.000000E+00, -6.160879E-02, 0.000000E+00, 4.371626E-02] + - [ 0.000000E+00, -2.145749E-02, 0.000000E+00, 6.160879E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.510755E-02, 0.000000E+00, 1.101596E-02, 0.000000E+00] + - [ -1.510755E-02, 0.000000E+00, 1.101596E-02, 0.000000E+00, 7.055012E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +PhiR: # 24 x 0 (Guyan modes) + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ +#____________________________________________________________________________________________________ +TI: # 0 x 6 (TP refpoint Transformation Matrix TI) + - [ ] + +#This summary file was closed on 20-Jan-2023 at 14:44:45. + diff --git a/f_subdyn_test/01/test.dat b/f_subdyn_test/01/test.dat new file mode 100644 index 0000000000..11b80bf686 --- /dev/null +++ b/f_subdyn_test/01/test.dat @@ -0,0 +1,93 @@ +----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------ +Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. +-------------------------- SIMULATION CONTROL --------------------------------- +False Echo - Echo input data to ".SD.ech" (flag) +"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. + 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. +True SttcSolve - Solve dynamics about static equilibrium point +True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. +-------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- + 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] + 2 NDiv - Number of sub-elements per member +True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. + 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. +837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). + 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] + 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] + 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] + 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 +---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- + 3 NJoints - Number of joints (-) +JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff + (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) + 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 + 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 + 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 +------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- + 1 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) +RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] + (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) + 13 1 1 1 1 1 1 +------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- + 0 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs +IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss + (-) (flag) (flag) (flag) (flag) (flag) (flag) +----------------------------------- MEMBERS -------------------------------------- + 2 NMembers - Number of frame members +MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID + (-) (-) (-) (-) (-) (-) (-) + 1 11 12 3 3 4 2 + 2 12 13 3 3 4 2 +------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ + 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) +PropSetID YoungE ShearG MatDens XsecD XsecT + (-) (N/m2) (N/m2) (kg/m3) (m) (m) + 1 210E9 8.0769E10 7850 0.2 0.02 +------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ + 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) +PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J + (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) + 3 210E9 8.0769E10 7850 0.01131 0.0056548 0.0056548 0.0000463699 0.0000463699 0.000096 +-------------------------- CABLE PROPERTIES ------------------------------------- + 0 NCablePropSets - Number of cable cable properties +PropSetID EA MatDens T0 CtrlChannel + (-) (N) (kg/m) (N) (-) +----------------------- RIGID LINK PROPERTIES ------------------------------------ + 0 NRigidPropSets - Number of rigid link properties +PropSetID MatDens + (-) (kg/m) +---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ + 1 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below +COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 + (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) + 2 1 0 0 0 1 0 0 0 1 +------------------------ JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- + 0 NCmass - Number of joints with concentrated masses; Global Coordinate System +CMJointID JMass JMXX JMYY JMZZ + (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) +---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ +True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. +0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) +0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) +True OutCOSM - Output cosine matrices with the selected output member forces (flag) +False OutAll - [T/F] Output all members' end forces + 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. +True TabDelim - Generate a tab-delimited output in the .SD.out file + 1 OutDec - Decimation of output in the .SD.out file +"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file +"A11" OutSFmt - Output format for header strings in the .SD.out file +------------------------- MEMBER OUTPUT LIST ------------------------------------------ + 1 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. +MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. + (-) (-) (-) + 1 1 1 +------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ +"M1N1RDxe" - +"M1N1RDye" - +"M1N1RDze" - +END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file diff --git a/f_subdyn_test/01/truth.SD.sum.yaml b/f_subdyn_test/01/truth.SD.sum.yaml new file mode 100644 index 0000000000..5f57a0bc4c --- /dev/null +++ b/f_subdyn_test/01/truth.SD.sum.yaml @@ -0,0 +1,253 @@ + +#This summary file was generated by SubDyn on 20-Jan-2023 at 14:46:04. + +#Unless specified, units are consistent with Input units, [SI] system is advised. +#____________________________________________________________________________________________________ +# RIGID BODY EQUIVALENT DATA +#____________________________________________________________________________________________________ +Mass: 5.326885E+02 # Total Mass +CM_point: [ 0.000000E+00, 0.000000E+00, -3.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) +TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point +MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). + - [ 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.598065E+03, 0.000000E+00] + - [ 0.000000E+00, 5.326885E+02, 0.000000E+00, 1.598065E+03, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.598065E+03, 0.000000E+00, 6.394445E+03, 0.000000E+00, 0.000000E+00] + - [ -1.598065E+03, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.394445E+03, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.368045E+00] +M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point + - [ 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.598065E+03, -0.000000E+00] + - [ 0.000000E+00, 5.326885E+02, 0.000000E+00, 1.598065E+03, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 5.326885E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 1.598065E+03, 0.000000E+00, 6.394445E+03, 0.000000E+00, 0.000000E+00] + - [ -1.598065E+03, 0.000000E+00, -0.000000E+00, 0.000000E+00, 6.394445E+03, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.368045E+00] +M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). + - [ 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 5.326885E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 5.326885E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600249E+03, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600249E+03, 0.000000E+00] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.368045E+00] +#____________________________________________________________________________________________________ +# GUYAN MATRICES at the TP reference point +#____________________________________________________________________________________________________ +KBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +MBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +# SYSTEM FREQUENCIES +#____________________________________________________________________________________________________ +#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_frequencies: # 1 x 24 + - [ 5.140249E+00, 5.140249E+00, 3.211125E+01, 3.211125E+01, 9.483521E+01, 9.483521E+01, 1.352443E+02, 2.135134E+02, 2.135134E+02, 2.180753E+02, 4.372133E+02, 5.227821E+02, 5.227821E+02, 7.049863E+02, 1.166661E+03, 1.259238E+03, 1.259238E+03, 1.881187E+03, 2.963515E+03, 3.257587E+03, 3.257587E+03, 4.778532E+03, 5.795097E+03, 5.795097E+03,] +#Frequencies of Guyan modes [Hz] +GY_frequencies: # 1 x 6 + - [***************,***************,***************,***************,***************,***************,] +#Frequencies of Craig-Bampton modes [Hz] +CB_frequencies: # 1 x 5 + - [ 5.140249E+00, 5.140249E+00, 3.211125E+01, 3.211125E+01, 9.483521E+01,] +#____________________________________________________________________________________________________ +# Internal FEM representation +#____________________________________________________________________________________________________ +nNodes_I: 0 # Number of Nodes: "interface" (I) +nNodes_C: 1 # Number of Nodes: "reactions" (C) +nNodes_L: 4 # Number of Nodes: "internal" (L) +nNodes : 5 # Number of Nodes: total (I+C+L) +nDOF__B : 0 # Number of DOFs: retained (__B) +nDOF__L : 24 # Number of DOFs: internal (__L) +nDOF__F : 6 # Number of DOFs: fixed (__F) +nDOF_red: 30 # Number of DOFs: total +DOF___B: # 1 x 0 all retained DOFs + - [ ] +DOF___F: # 1 x 6 all fixed DOFs + - [ 13, 14, 15, 16, 17, 18,] +DOF___L: # 1 x 24 all internal DOFs + - [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,] + +#Index map from DOF to nodes +# Node No., DOF/Node, NodalDOF +DOF2Nodes: # 30 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) + - [ 1, 6, 1] # 1 + - [ 1, 6, 2] # 2 + - [ 1, 6, 3] # 3 + - [ 1, 6, 4] # 4 + - [ 1, 6, 5] # 5 + - [ 1, 6, 6] # 6 + - [ 2, 6, 1] # 7 + - [ 2, 6, 2] # 8 + - [ 2, 6, 3] # 9 + - [ 2, 6, 4] # 10 + - [ 2, 6, 5] # 11 + - [ 2, 6, 6] # 12 + - [ 3, 6, 1] # 13 + - [ 3, 6, 2] # 14 + - [ 3, 6, 3] # 15 + - [ 3, 6, 4] # 16 + - [ 3, 6, 5] # 17 + - [ 3, 6, 6] # 18 + - [ 4, 6, 1] # 19 + - [ 4, 6, 2] # 20 + - [ 4, 6, 3] # 21 + - [ 4, 6, 4] # 22 + - [ 4, 6, 5] # 23 + - [ 4, 6, 6] # 24 + - [ 5, 6, 1] # 25 + - [ 5, 6, 2] # 26 + - [ 5, 6, 3] # 27 + - [ 5, 6, 4] # 28 + - [ 5, 6, 5] # 29 + - [ 5, 6, 6] # 30 +# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] +Nodes: # 5 x 9 + - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 4., 0.000, 0.000, -0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 5., 0.000, 0.000, -3.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] +Elements: # 4 x 16 + - [ 1., 1., 4., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 2., 4., 2., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 3., 2., 5., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 4., 5., 3., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] +#____________________________________________________________________________________________________ +#User inputs + +#Number of properties (NProps): 1 +#Prop No YoungE ShearG MatDens XsecD XsecT +# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 + +#No. of Reaction DOFs: 6 +#React. DOF_ID BC +# 13 Fixed +# 14 Fixed +# 15 Fixed +# 16 Fixed +# 17 Fixed +# 18 Fixed + +#No. of Interface DOFs: 0 +#Interf. DOF_ID BC + +#Number of concentrated masses (NCMass): 0 +#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ + +#Number of members 2 +#Number of nodes per member: 3 +#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... +# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 4 2 +# 2 12 13 1 1 4.439070E+02 5.000000E+00 2 5 3 +#____________________________________________________________________________________________________ +#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 +#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) +# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 +#____________________________________________________________________________________________________ +#FEM Eigenvectors (30 x 24) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_Modes: # 30 x 24 + - [ -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 7.371657E-01, 0.000000E+00, 0.000000E+00, 4.812072E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.353464E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.113348E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.003811E-01, 0.000000E+00, 0.000000E+00, -4.622688E-02, 0.000000E+00] + - [ 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -7.371657E-01, 0.000000E+00, 0.000000E+00, 4.812072E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.353464E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.113348E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.003811E-01, 0.000000E+00, 0.000000E+00, -4.622688E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.070952E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -2.289573E-01, 0.000000E+00, -7.976946E-01, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -9.464990E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] + - [ -2.289573E-01, 0.000000E+00, -7.976946E-01, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 9.464990E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.070952E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -7.713301E-01, 0.000000E+00, -2.126041E-01, 0.000000E+00, -2.025338E-01, 0.000000E+00, 0.000000E+00, -2.883883E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.028802E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.704179E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.202841E-02, 0.000000E+00, 0.000000E+00, -5.968249E-03, 0.000000E+00] + - [ 0.000000E+00, 7.713301E-01, 0.000000E+00, 2.126041E-01, 0.000000E+00, 2.025338E-01, 0.000000E+00, 0.000000E+00, -2.883883E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.028802E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.704179E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.202841E-02, 0.000000E+00, 0.000000E+00, -5.968249E-03] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.986628E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.696686E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.313529E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -2.274585E-01, 0.000000E+00, -7.475722E-01, 0.000000E+00, 7.307465E-01, 0.000000E+00, 0.000000E+00, -2.475539E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.364569E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.632746E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.166612E-02, 0.000000E+00, 0.000000E+00, 1.683353E-02] + - [ -2.274585E-01, 0.000000E+00, -7.475722E-01, 0.000000E+00, 7.307465E-01, 0.000000E+00, 0.000000E+00, 2.475539E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.364569E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.632746E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.166612E-02, 0.000000E+00, 0.000000E+00, -1.683353E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.986628E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.696686E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.313529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -8.855217E-01, 0.000000E+00, -6.012014E-01, 0.000000E+00, 2.377155E-01, 0.000000E+00, 0.000000E+00, 1.067644E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.464058E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.813618E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.870187E-02, 0.000000E+00, 0.000000E+00, -1.338940E-02, 0.000000E+00] + - [ 0.000000E+00, 8.855217E-01, 0.000000E+00, 6.012014E-01, 0.000000E+00, -2.377155E-01, 0.000000E+00, 0.000000E+00, 1.067644E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.464058E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.813618E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.870187E-02, 0.000000E+00, 0.000000E+00, -1.338940E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.263976E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -4.638596E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.521146E-01, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -2.287637E-01, 0.000000E+00, -7.905828E-01, 0.000000E+00, 9.571107E-01, 0.000000E+00, 0.000000E+00, -8.152812E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.328699E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.106230E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.843741E-01, 0.000000E+00, 0.000000E+00, 3.456223E-01] + - [ -2.287637E-01, 0.000000E+00, -7.905828E-01, 0.000000E+00, 9.571107E-01, 0.000000E+00, 0.000000E+00, 8.152812E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.328699E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.106230E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.843741E-01, 0.000000E+00, 0.000000E+00, -3.456223E-01, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.263976E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.638596E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -7.521146E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -2.477773E-01, 0.000000E+00, 7.141726E-01, 0.000000E+00, 3.276482E-01, 0.000000E+00, 0.000000E+00, 9.419032E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.156712E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.958555E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.019789E-03, 0.000000E+00, 0.000000E+00, -7.221477E-04, 0.000000E+00] + - [ 0.000000E+00, 2.477773E-01, 0.000000E+00, -7.141726E-01, 0.000000E+00, -3.276482E-01, 0.000000E+00, 0.000000E+00, 9.419032E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.156712E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.958555E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.019789E-03, 0.000000E+00, 0.000000E+00, -7.221477E-04] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.856608E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.426177E-02, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.744687E-01, 0.000000E+00, 1.278577E-01, 0.000000E+00, -5.288155E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.057628E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.038572E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.365239E-02, 0.000000E+00, 0.000000E+00, 2.442433E-03] + - [ -1.744687E-01, 0.000000E+00, 1.278577E-01, 0.000000E+00, -5.288155E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.057628E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.038572E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.365239E-02, 0.000000E+00, 0.000000E+00, -2.442433E-03, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.856608E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -3.426177E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +#CB Matrices (PhiM,PhiR) (reaction constraints applied) +PhiM: # 24 x 5 (CB modes) + - [ -8.659744E-02, 0.000000E+00, -8.626031E-02, 0.000000E+00, 9.837136E-02] + - [ 0.000000E+00, 8.659744E-02, 0.000000E+00, 8.626031E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.982712E-02, 0.000000E+00, -6.880938E-02, 0.000000E+00] + - [ -1.982712E-02, 0.000000E+00, -6.880938E-02, 0.000000E+00, 1.334454E-01] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -6.679522E-02, 0.000000E+00, -1.833930E-02, 0.000000E+00, -2.702720E-02] + - [ 0.000000E+00, 6.679522E-02, 0.000000E+00, 1.833930E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.969733E-02, 0.000000E+00, -6.448581E-02, 0.000000E+00] + - [ -1.969733E-02, 0.000000E+00, -6.448581E-02, 0.000000E+00, 9.751474E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -7.668391E-02, 0.000000E+00, -5.185982E-02, 0.000000E+00, 3.172204E-02] + - [ 0.000000E+00, 7.668391E-02, 0.000000E+00, 5.185982E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.981035E-02, 0.000000E+00, -6.819592E-02, 0.000000E+00] + - [ -1.981035E-02, 0.000000E+00, -6.819592E-02, 0.000000E+00, 1.277220E-01] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ -2.145688E-02, 0.000000E+00, 6.160475E-02, 0.000000E+00, 4.372314E-02] + - [ 0.000000E+00, 2.145688E-02, 0.000000E+00, -6.160475E-02, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -1.510855E-02, 0.000000E+00, 1.102905E-02, 0.000000E+00] + - [ -1.510855E-02, 0.000000E+00, 1.102905E-02, 0.000000E+00, -7.056798E-02] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +PhiR: # 24 x 0 (Guyan modes) + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ +#____________________________________________________________________________________________________ +TI: # 0 x 6 (TP refpoint Transformation Matrix TI) + - [ ] + +#This summary file was closed on 20-Jan-2023 at 14:46:04. + diff --git a/f_subdyn_test/01/truth.dat b/f_subdyn_test/01/truth.dat new file mode 100644 index 0000000000..c5238016e1 --- /dev/null +++ b/f_subdyn_test/01/truth.dat @@ -0,0 +1,92 @@ +----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------ +Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. +-------------------------- SIMULATION CONTROL --------------------------------- +False Echo - Echo input data to ".SD.ech" (flag) +"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. + 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. +True SttcSolve - Solve dynamics about static equilibrium point +True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. +-------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- + 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] + 2 NDiv - Number of sub-elements per member +True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. + 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. +837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). + 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] + 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] + 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] + 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 +---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- + 3 NJoints - Number of joints (-) +JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff + (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) + 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 + 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 + 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 +------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- + 1 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) +RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] + (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) + 13 1 1 1 1 1 1 +------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- + 0 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs +IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss + (-) (flag) (flag) (flag) (flag) (flag) (flag) +----------------------------------- MEMBERS -------------------------------------- + 2 NMembers - Number of frame members +MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID + (-) (-) (-) (-) (-) (-) (-) + 1 11 12 1 1 1 + 2 12 13 1 1 1 +------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ + 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) +PropSetID YoungE ShearG MatDens XsecD XsecT + (-) (N/m2) (N/m2) (kg/m3) (m) (m) + 1 210E9 8.0769E10 7850 0.2 0.02 +------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ + 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) +PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J + (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) + 3 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 +-------------------------- CABLE PROPERTIES ------------------------------------- + 0 NCablePropSets - Number of cable cable properties +PropSetID EA MatDens T0 CtrlChannel + (-) (N) (kg/m) (N) (-) +----------------------- RIGID LINK PROPERTIES ------------------------------------ + 0 NRigidPropSets - Number of rigid link properties +PropSetID MatDens + (-) (kg/m) +---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ + 0 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below +COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 + (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) +------------------------ JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- + 0 NCmass - Number of joints with concentrated masses; Global Coordinate System +CMJointID JMass JMXX JMYY JMZZ + (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) +---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ +True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. +0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) +0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) +True OutCOSM - Output cosine matrices with the selected output member forces (flag) +False OutAll - [T/F] Output all members' end forces + 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. +True TabDelim - Generate a tab-delimited output in the .SD.out file + 1 OutDec - Decimation of output in the .SD.out file +"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file +"A11" OutSFmt - Output format for header strings in the .SD.out file +------------------------- MEMBER OUTPUT LIST ------------------------------------------ + 1 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. +MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. + (-) (-) (-) + 1 1 1 +------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ +"M1N1RDxe" - +"M1N1RDye" - +"M1N1RDze" - +END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file diff --git a/f_subdyn_test/02/FEM1.json b/f_subdyn_test/02/FEM1.json new file mode 100644 index 0000000000..64c77435cb --- /dev/null +++ b/f_subdyn_test/02/FEM1.json @@ -0,0 +1,24 @@ +{ +"writer": "SubDyn", +"fileKind": "Modes", +"groundLevel": -0.600E+01, +"Connectivity": [[0,2],[2,1]], +"Nodes": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E+00, 1.000000E+00, 1.000000E+00],[ 5.000000E-01, 5.000000E-01, 5.000000E-01]], +"ElemProps": [ + {"shape": "cylinder", "type": 1, "Diam": 0.2000}, + {"shape": "cylinder", "type": 1, "Diam": 0.2000}] +, +"Modes": [ + {"name": "FEM1", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000006E-02,-4.999994E-02],[ 3.471225E-02,-1.735615E-02,-1.735611E-02]]}, + {"name": "FEM2", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 9.812943E-04,-1.000000E-01, 9.901871E-02],[ 3.406294E-04,-3.471225E-02, 3.437162E-02]]}, + {"name": "FEM3", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-4.246036E-02, 1.000000E-01,-5.753964E-02],[ 3.245826E-02,-7.644368E-02, 4.398542E-02]]}, + {"name": "FEM4", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01, 4.912637E-02, 5.087363E-02],[ 7.644368E-02,-3.755401E-02,-3.888967E-02]]}, + {"name": "FEM5", "frequency": 0.474957E+03, "omega": 0.298425E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-3.161286E-16, 7.223796E-16,-3.192499E-16],[ 2.404627E-16,-5.169052E-16, 3.658047E-16]]}, + {"name": "FEM6", "frequency": 0.765847E+03, "omega": 0.481196E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01, 1.000000E-01, 1.000000E-01],[ 7.071068E-02, 7.071068E-02, 7.071068E-02]]}, + {"name": "FEM7", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.177934E-04,-9.988221E-02, 1.000000E-01],[-1.104290E-05,-9.363763E-03, 9.374806E-03]]}, + {"name": "FEM8", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000000E-02,-5.000000E-02],[ 9.374806E-03,-4.687403E-03,-4.687403E-03]]}, + {"name": "FEM9", "frequency": 0.165921E+04, "omega": 0.104251E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-7.464983E-18,-2.628617E-17,-8.151698E-17],[ 2.590118E-18, 1.590985E-17, 2.445085E-17]]}, + {"name": "FEM10", "frequency": 0.267540E+04, "omega": 0.168100E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01,-1.000000E-01,-1.000000E-01],[ 7.071068E-02, 7.071068E-02, 7.071068E-02]]}, + {"name": "FEM11", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000000E-02,-5.000000E-02],[ 2.772187E-02,-1.386093E-02,-1.386093E-02]]}, + {"name": "FEM12", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 5.701823E-03,-1.000000E-01, 9.429818E-02],[ 1.580652E-03,-2.772187E-02, 2.614122E-02]]}] +} diff --git a/f_subdyn_test/02/driver.inp b/f_subdyn_test/02/driver.inp new file mode 100644 index 0000000000..c27f41390a --- /dev/null +++ b/f_subdyn_test/02/driver.inp @@ -0,0 +1,26 @@ +SubDyn Driver file for stand-alone applications +Compatible with SubDyn v1.xx.x +False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo +---------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- +0 Gravity - Gravity (m/s^2). +6 WtrDpth - Water Depth (m) positive value. +---------------------- SubDyn ------------------------------------------------------------------- +"test.dat" SDInputFile - It can be an absolute or relative path. +"test" OutRootName - All the output files will have this name. +10 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. +0.00006 TimeInterval - TimeInterval for the simulation (sec). Time step. +0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) +0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. +---------------------- INPUTS ------------------------------------------------------------------- +0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) +"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). +---------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- +0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) +0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) +---------------------- LOADS -------------------------------------------------------------------- +1 nAppliedLoads - Number of applied loads at given nodes +ALJointID Fx Fy Fz Mx My Mz UnsteadyFile + (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) + 2 1e6 -1e6 0 0 0 0 +END of driver input file \ No newline at end of file diff --git a/f_subdyn_test/02/test.SD.CBmodes.json b/f_subdyn_test/02/test.SD.CBmodes.json new file mode 100644 index 0000000000..26742ec289 --- /dev/null +++ b/f_subdyn_test/02/test.SD.CBmodes.json @@ -0,0 +1,30 @@ +{ +"writer": "SubDyn", +"fileKind": "Modes", +"groundLevel": -0.600E+01, +"Connectivity": [[0,2],[2,1]], +"Nodes": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E+00, 1.000000E+00, 1.000000E+00],[ 5.000000E-01, 5.000000E-01, 5.000000E-01]], +"ElemProps": [ + {"shape": "cylinder", "type": 1, "Diam": 0.2000}, + {"shape": "cylinder", "type": 1, "Diam": 0.2000}] +, +"Modes": [ + {"name": "GY1", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, + {"name": "GY2", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, + {"name": "GY3", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, + {"name": "GY4", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, + {"name": "GY5", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, + {"name": "GY6", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, + {"name": "CB1", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000080E-02,-4.999920E-02],[ 3.471225E-02,-1.735640E-02,-1.735585E-02]]}, + {"name": "CB2", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-3.355982E-02,-6.644018E-02, 1.000000E-01],[-1.164937E-02,-2.306288E-02, 3.471225E-02]]}, + {"name": "CB3", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-4.999931E-02,-5.000069E-02],[-7.644368E-02, 3.822132E-02, 3.822237E-02]]}, + {"name": "CB4", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-4.851540E-03, 1.000000E-01,-9.514846E-02],[ 3.708696E-03,-7.644368E-02, 7.273499E-02]]}, + {"name": "CB5", "frequency": 0.474957E+03, "omega": 0.298425E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.296223E-16, 1.193025E-15,-9.744515E-16],[ 1.314638E-16, 1.534748E-16,-2.639885E-16]]}, + {"name": "CB6", "frequency": 0.765847E+03, "omega": 0.481196E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01,-1.000000E-01,-1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, + {"name": "CB7", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-6.789244E-03,-9.321076E-02, 1.000000E-01],[-6.364785E-04,-8.738327E-03, 9.374806E-03]]}, + {"name": "CB8", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000004E-02,-4.999996E-02],[ 9.374806E-03,-4.687406E-03,-4.687399E-03]]}, + {"name": "CB9", "frequency": 0.165921E+04, "omega": 0.104251E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.232626E-17, 7.627208E-17,-2.128062E-17],[ 3.473116E-18,-6.348546E-17, 7.619756E-17]]}, + {"name": "CB10", "frequency": 0.267540E+04, "omega": 0.168100E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01, 1.000000E-01, 1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, + {"name": "CB11", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 3.104273E-02, 6.895727E-02,-1.000000E-01],[ 8.605624E-03, 1.911624E-02,-2.772187E-02]]}, + {"name": "CB12", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-7.532486E-02,-2.467514E-02],[ 2.772187E-02,-2.088146E-02,-6.840410E-03]]}] +} diff --git a/f_subdyn_test/02/test.SD.FEMmodes.json b/f_subdyn_test/02/test.SD.FEMmodes.json new file mode 100644 index 0000000000..2ef02bbb26 --- /dev/null +++ b/f_subdyn_test/02/test.SD.FEMmodes.json @@ -0,0 +1,24 @@ +{ +"writer": "SubDyn", +"fileKind": "Modes", +"groundLevel": -0.600E+01, +"Connectivity": [[0,2],[2,1]], +"Nodes": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E+00, 1.000000E+00, 1.000000E+00],[ 5.000000E-01, 5.000000E-01, 5.000000E-01]], +"ElemProps": [ + {"shape": "cylinder", "type": 1, "Diam": 0.2000}, + {"shape": "cylinder", "type": 1, "Diam": 0.2000}] +, +"Modes": [ + {"name": "FEM1", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000080E-02,-4.999920E-02],[ 3.471225E-02,-1.735640E-02,-1.735585E-02]]}, + {"name": "FEM2", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-3.355982E-02,-6.644018E-02, 1.000000E-01],[-1.164937E-02,-2.306288E-02, 3.471225E-02]]}, + {"name": "FEM3", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-4.999931E-02,-5.000069E-02],[-7.644368E-02, 3.822132E-02, 3.822237E-02]]}, + {"name": "FEM4", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-4.851540E-03, 1.000000E-01,-9.514846E-02],[ 3.708696E-03,-7.644368E-02, 7.273499E-02]]}, + {"name": "FEM5", "frequency": 0.474957E+03, "omega": 0.298425E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.693424E-16, 1.558603E-15,-1.273052E-15],[ 1.717482E-16, 2.005039E-16,-3.448823E-16]]}, + {"name": "FEM6", "frequency": 0.765847E+03, "omega": 0.481196E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01,-1.000000E-01,-1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, + {"name": "FEM7", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-6.789244E-03,-9.321076E-02, 1.000000E-01],[-6.364785E-04,-8.738327E-03, 9.374806E-03]]}, + {"name": "FEM8", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000004E-02,-4.999996E-02],[ 9.374806E-03,-4.687406E-03,-4.687399E-03]]}, + {"name": "FEM9", "frequency": 0.165921E+04, "omega": 0.104251E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.112874E-17, 6.886209E-17,-1.921316E-17],[ 3.135696E-18,-5.731771E-17, 6.879481E-17]]}, + {"name": "FEM10", "frequency": 0.267540E+04, "omega": 0.168100E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01, 1.000000E-01, 1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, + {"name": "FEM11", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 3.104273E-02, 6.895727E-02,-1.000000E-01],[ 8.605624E-03, 1.911624E-02,-2.772187E-02]]}, + {"name": "FEM12", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-7.532486E-02,-2.467514E-02],[ 2.772187E-02,-2.088146E-02,-6.840410E-03]]}] +} diff --git a/f_subdyn_test/02/test.SD.sum.yaml b/f_subdyn_test/02/test.SD.sum.yaml new file mode 100644 index 0000000000..9e6c7a142a --- /dev/null +++ b/f_subdyn_test/02/test.SD.sum.yaml @@ -0,0 +1,199 @@ + +#This summary file was generated by SubDyn on 20-Jan-2023 at 17:09:48. + +#Unless specified, units are consistent with Input units, [SI] system is advised. +#____________________________________________________________________________________________________ +# RIGID BODY EQUIVALENT DATA +#____________________________________________________________________________________________________ +Mass: 1.537739E+02 # Total Mass +CM_point: [ 5.000000E-01, 5.000000E-01, 5.000000E-01] # Center of mass coordinates (Xcm,Ycm,Zcm) +TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point +MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). + - [ 1.537739E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.688695E+01, -7.688695E+01] + - [ 0.000000E+00, 1.537739E+02, 0.000000E+00, -7.688695E+01, 0.000000E+00, 7.688695E+01] + - [ 0.000000E+00, 0.000000E+00, 1.537739E+02, 7.688695E+01, -7.688695E+01, 0.000000E+00] + - [ 0.000000E+00, -7.688695E+01, 7.688695E+01, 1.033566E+02, -5.104781E+01, -5.104781E+01] + - [ 7.688695E+01, 0.000000E+00, -7.688695E+01, -5.104781E+01, 1.033566E+02, -5.104781E+01] + - [ -7.688695E+01, 7.688695E+01, 0.000000E+00, -5.104781E+01, -5.104781E+01, 1.033566E+02] +M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point + - [ 1.537739E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.688695E+01, -7.688695E+01] + - [ 0.000000E+00, 1.537739E+02, 0.000000E+00, -7.688695E+01, 0.000000E+00, 7.688695E+01] + - [ 0.000000E+00, 0.000000E+00, 1.537739E+02, 7.688695E+01, -7.688695E+01, 0.000000E+00] + - [ 0.000000E+00, -7.688695E+01, 7.688695E+01, 1.033566E+02, -5.104781E+01, -5.104781E+01] + - [ 7.688695E+01, 0.000000E+00, -7.688695E+01, -5.104781E+01, 1.033566E+02, -5.104781E+01] + - [ -7.688695E+01, 7.688695E+01, 0.000000E+00, -5.104781E+01, -5.104781E+01, 1.033566E+02] +M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). + - [ 1.537739E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] + - [ 0.000000E+00, 1.537739E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 1.537739E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.646962E+01, -1.260433E+01, -1.260433E+01] + - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.260433E+01, 2.646962E+01, -1.260433E+01] + - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, -1.260433E+01, -1.260433E+01, 2.646962E+01] +#____________________________________________________________________________________________________ +# GUYAN MATRICES at the TP reference point +#____________________________________________________________________________________________________ +KBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +MBBt: # 6 x 6 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +#____________________________________________________________________________________________________ +# SYSTEM FREQUENCIES +#____________________________________________________________________________________________________ +#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_frequencies: # 1 x 12 + - [ 6.066331E+01, 6.066331E+01, 3.452735E+02, 3.452735E+02, 4.749574E+02, 7.658468E+02, 1.186290E+03, 1.186290E+03, 1.659211E+03, 2.675401E+03, 2.830148E+03, 2.830148E+03,] +#Frequencies of Guyan modes [Hz] +GY_frequencies: # 1 x 6 + - [***************,***************,***************,***************,***************,***************,] +#Frequencies of Craig-Bampton modes [Hz] +CB_frequencies: # 1 x 12 + - [ 6.066331E+01, 6.066331E+01, 3.452735E+02, 3.452735E+02, 4.749574E+02, 7.658468E+02, 1.186290E+03, 1.186290E+03, 1.659211E+03, 2.675401E+03, 2.830148E+03, 2.830148E+03,] +#____________________________________________________________________________________________________ +# Internal FEM representation +#____________________________________________________________________________________________________ +nNodes_I: 0 # Number of Nodes: "interface" (I) +nNodes_C: 1 # Number of Nodes: "reactions" (C) +nNodes_L: 2 # Number of Nodes: "internal" (L) +nNodes : 3 # Number of Nodes: total (I+C+L) +nDOF__B : 0 # Number of DOFs: retained (__B) +nDOF__L : 12 # Number of DOFs: internal (__L) +nDOF__F : 6 # Number of DOFs: fixed (__F) +nDOF_red: 18 # Number of DOFs: total +DOF___B: # 1 x 0 all retained DOFs + - [ ] +DOF___F: # 1 x 6 all fixed DOFs + - [ 1, 2, 3, 4, 5, 6,] +DOF___L: # 1 x 12 all internal DOFs + - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,] + +#Index map from DOF to nodes +# Node No., DOF/Node, NodalDOF +DOF2Nodes: # 18 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) + - [ 1, 6, 1] # 1 + - [ 1, 6, 2] # 2 + - [ 1, 6, 3] # 3 + - [ 1, 6, 4] # 4 + - [ 1, 6, 5] # 5 + - [ 1, 6, 6] # 6 + - [ 2, 6, 1] # 7 + - [ 2, 6, 2] # 8 + - [ 2, 6, 3] # 9 + - [ 2, 6, 4] # 10 + - [ 2, 6, 5] # 11 + - [ 2, 6, 6] # 12 + - [ 3, 6, 1] # 13 + - [ 3, 6, 2] # 14 + - [ 3, 6, 3] # 15 + - [ 3, 6, 4] # 16 + - [ 3, 6, 5] # 17 + - [ 3, 6, 6] # 18 +# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] +Nodes: # 3 x 9 + - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 2., 1.000, 1.000, 1.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 3., 0.500, 0.500, 0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] +# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] +Elements: # 2 x 16 + - [ 1., 1., 3., 1., 1., 1., 0.866, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] + - [ 2., 3., 2., 1., 1., 1., 0.866, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] +#____________________________________________________________________________________________________ +#User inputs + +#Number of properties (NProps): 1 +#Prop No YoungE ShearG MatDens XsecD XsecT +# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 + +#No. of Reaction DOFs: 6 +#React. DOF_ID BC +# 1 Fixed +# 2 Fixed +# 3 Fixed +# 4 Fixed +# 5 Fixed +# 6 Fixed + +#No. of Interface DOFs: 0 +#Interf. DOF_ID BC + +#Number of concentrated masses (NCMass): 0 +#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ + +#Number of members 1 +#Number of nodes per member: 3 +#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... +# 1 1 2 1 1 1.537739E+02 1.732051E+00 1 3 2 +#____________________________________________________________________________________________________ +#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 1 +#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) +# 1 7.0710678E-01 -7.0710678E-01 0.0000000E+00 4.0824829E-01 4.0824829E-01 -8.1649658E-01 5.7735027E-01 5.7735027E-01 5.7735027E-01 +#____________________________________________________________________________________________________ +#FEM Eigenvectors (18 x 12) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) +Full_Modes: # 18 x 12 + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] + - [ 1.000000E+00, -3.355982E-01, 4.455581E-01, -1.661545E-02, -1.693424E-16, -1.000000E+00, -1.114031E-02, 2.113566E-01, -1.112874E-17, 1.000000E+00, 2.737254E-02, 8.497451E-02] + - [ -5.000080E-01, -6.644018E-01, -2.227760E-01, 3.424779E-01, 1.558603E-15, -1.000000E+00, -1.529473E-01, -1.056784E-01, 6.886209E-17, 1.000000E+00, 6.080445E-02, -6.400693E-02] + - [ -4.999920E-01, 1.000000E+00, -2.227821E-01, -3.258624E-01, -1.273052E-15, -1.000000E+00, 1.640876E-01, -1.056782E-01, -1.921316E-17, 1.000000E+00, -8.817699E-02, -2.096758E-02] + - [ 7.129259E-06, 7.454569E-01, -9.167562E-06, -1.000000E+00, -1.000000E+00, 2.163870E-14, 1.000000E+00, 4.881151E-07, 1.000000E+00, -2.342598E-13, -1.000000E+00, 2.888907E-01] + - [ 6.718206E-01, -5.981914E-01, 1.000000E+00, 4.627089E-01, -1.000000E+00, 2.561086E-14, -5.527086E-01, 9.999995E-01, 1.000000E+00, -2.370842E-14, 7.755968E-01, 7.111093E-01] + - [ -6.718277E-01, -1.472655E-01, -9.999908E-01, 5.372911E-01, -1.000000E+00, -2.948246E-14, -4.472914E-01, -1.000000E+00, 1.000000E+00, 2.421786E-13, 2.244032E-01, -1.000000E+00] + - [ 3.471225E-01, -1.164937E-01, -3.406011E-01, 1.270146E-02, 1.717482E-16, -7.071068E-01, -1.044383E-03, 1.981427E-02, 3.135696E-18, -7.071068E-01, 7.588181E-03, 2.355652E-02] + - [ -1.735640E-01, -2.306288E-01, 1.702982E-01, -2.618027E-01, 2.005039E-16, -7.071068E-01, -1.433852E-02, -9.907143E-03, -5.731771E-17, -7.071068E-01, 1.685613E-02, -1.774392E-02] + - [ -1.735585E-01, 3.471225E-01, 1.703029E-01, 2.491012E-01, -3.448823E-16, -7.071068E-01, 1.538290E-02, -9.907128E-03, 6.879481E-17, -7.071068E-01, -2.444431E-02, -5.812605E-03] + - [ 6.020226E-06, 6.294930E-01, -1.382997E-06, -1.508577E-01, -7.071068E-01, 3.764160E-17, -8.469045E-01, -4.133868E-07, -7.071068E-01, -7.565666E-14, -2.908911E-01, 8.403574E-02] + - [ 5.673116E-01, -5.051363E-01, 1.508577E-01, 6.980318E-02, -7.071068E-01, -2.233803E-15, 4.680914E-01, -8.469041E-01, -7.071068E-01, -1.794398E-15, 2.256143E-01, 2.068554E-01] + - [ -5.673176E-01, -1.243567E-01, -1.508563E-01, 8.105449E-02, -7.071068E-01, 2.652281E-14, 3.788131E-01, 8.469045E-01, -7.071068E-01, 8.086834E-14, 6.527689E-02, -2.908911E-01] +#____________________________________________________________________________________________________ +#CB Matrices (PhiM,PhiR) (reaction constraints applied) +PhiM: # 12 x 12 (CB modes) + - [ 1.305651E-01, -4.304859E-02, 1.240542E-01, -5.336841E-03, -1.296223E-16, -6.931400E-02, -8.229362E-03, 1.354623E-01, -1.232626E-17, 1.002980E-01, 5.893834E-02, 1.865451E-01] + - [ -6.528357E-02, -8.522561E-02, -6.202625E-02, 1.100030E-01, 1.193025E-15, -6.931400E-02, -1.129824E-01, -6.773118E-02, 7.627208E-17, 1.002980E-01, 1.309236E-01, -1.405149E-01] + - [ -6.528149E-02, 1.282742E-01, -6.202795E-02, -1.046662E-01, -9.744515E-16, -6.931400E-02, 1.212118E-01, -6.773108E-02, -2.128062E-17, 1.002980E-01, -1.898620E-01, -4.603028E-02] + - [ 9.308322E-07, 9.562288E-02, -2.552472E-06, -3.211975E-01, -7.654451E-01, 1.499865E-15, 7.387013E-01, 3.128417E-07, 1.107606E+00, -2.349579E-14, -2.153192E+00, 6.342037E-01] + - [ 8.771630E-02, -7.673252E-02, 2.784243E-01, 1.486209E-01, -7.654451E-01, 1.775191E-15, -4.082866E-01, 6.409177E-01, 1.107606E+00, -2.377907E-15, 1.670009E+00, 1.561103E+00] + - [ -8.771723E-02, -1.889036E-02, -2.784217E-01, 1.725766E-01, -7.654451E-01, -2.043547E-15, -3.304147E-01, -6.409180E-01, 1.107606E+00, 2.429003E-14, 4.831830E-01, -2.195307E+00] + - [ 4.532208E-02, -1.494314E-02, -9.483160E-02, 4.079678E-03, 1.314638E-16, -4.901240E-02, -7.714867E-04, 1.269932E-02, 3.473116E-18, -7.092141E-02, 1.633881E-02, 5.171380E-02] + - [ -2.266140E-02, -2.958373E-02, 4.741515E-02, -8.409038E-02, 1.534748E-16, -4.901240E-02, -1.059188E-02, -6.349666E-03, -6.348546E-17, -7.092141E-02, 3.629448E-02, -3.895335E-02] + - [ -2.266068E-02, 4.452687E-02, 4.741645E-02, 8.001070E-02, -2.639885E-16, -4.901240E-02, 1.136337E-02, -6.349657E-03, 7.619756E-17, -7.092141E-02, -5.263329E-02, -1.276045E-02] + - [ 7.860312E-07, 8.074771E-02, -3.850599E-07, -4.845511E-02, -5.412514E-01, 2.609090E-18, -6.256094E-01, -2.649471E-07, -7.831959E-01, -7.588213E-15, -6.263444E-01, 1.844842E-01] + - [ 7.407108E-02, -6.479595E-02, 4.200244E-02, 2.242061E-02, -5.412514E-01, -1.548338E-16, 3.457797E-01, -5.427961E-01, -7.831959E-01, -1.799746E-16, 4.857908E-01, 4.541111E-01] + - [ -7.407187E-02, -1.595176E-02, -4.200205E-02, 2.603450E-02, -5.412514E-01, 1.838402E-15, 2.798297E-01, 5.427963E-01, -7.831959E-01, 8.110934E-15, 1.405537E-01, -6.385954E-01] +PhiR: # 12 x 0 (Guyan modes) + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ + - [ +#____________________________________________________________________________________________________ +TI: # 0 x 6 (TP refpoint Transformation Matrix TI) + - [ ] + +#This summary file was closed on 20-Jan-2023 at 17:09:48. + diff --git a/f_subdyn_test/02/test.dat b/f_subdyn_test/02/test.dat new file mode 100644 index 0000000000..478e355b46 --- /dev/null +++ b/f_subdyn_test/02/test.dat @@ -0,0 +1,90 @@ +----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------ +Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. +-------------------------- SIMULATION CONTROL --------------------------------- +False Echo - Echo input data to ".SD.ech" (flag) +"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. + 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. +True SttcSolve - Solve dynamics about static equilibrium point +True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. +-------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- + 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] + 2 NDiv - Number of sub-elements per member +False CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. + 0 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. +837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). + 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] + 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] + 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] + 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 + -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 + 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 +---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- + 2 NJoints - Number of joints (-) +JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff + (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) + 1 0 0 0 1 0.0 0.0 0.0 0.0 + 2 1 1 1 1 0.0 0.0 0.0 0.0 +------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- + 1 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) +RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] + (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) + 1 1 1 1 1 1 1 +------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- + 0 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs +IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss + (-) (flag) (flag) (flag) (flag) (flag) (flag) +----------------------------------- MEMBERS -------------------------------------- + 1 NMembers - Number of frame members +MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID + (-) (-) (-) (-) (-) (-) (-) + 1 1 2 1 1 1 1 +------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ + 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) +PropSetID YoungE ShearG MatDens XsecD XsecT + (-) (N/m2) (N/m2) (kg/m3) (m) (m) + 1 210E9 8.0769E10 7850 0.2 0.02 +------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ + 0 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) +PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J + (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) 1 1 +-------------------------- CABLE PROPERTIES ------------------------------------- + 0 NCablePropSets - Number of cable cable properties +PropSetID EA MatDens T0 CtrlChannel + (-) (N) (kg/m) (N) (-) +----------------------- RIGID LINK PROPERTIES ------------------------------------ + 0 NRigidPropSets - Number of rigid link properties +PropSetID MatDens + (-) (kg/m) +---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ + 1 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below +COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 + (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) + 1 7.0710678E-01 -7.0710678E-01 0.0000000E+00 4.0824829E-01 4.0824829E-01 -8.1649658E-01 5.7735027E-01 5.7735027E-01 5.7735027E-01 +------------------------ JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- + 0 NCmass - Number of joints with concentrated masses; Global Coordinate System +CMJointID JMass JMXX JMYY JMZZ + (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) +---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ +True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. +1 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) +1 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) +True OutCOSM - Output cosine matrices with the selected output member forces (flag) +False OutAll - [T/F] Output all members' end forces + 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. +True TabDelim - Generate a tab-delimited output in the .SD.out file + 1 OutDec - Decimation of output in the .SD.out file +"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file +"A11" OutSFmt - Output format for header strings in the .SD.out file +------------------------- MEMBER OUTPUT LIST ------------------------------------------ + 1 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. +MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. + (-) (-) (-) + 1 2 1 2 +------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ +"M1N2RDxe" - +"M1N2RDye" - +"M1N2RDze" - +END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file diff --git a/f_subdyn_test/log.txt b/f_subdyn_test/log.txt new file mode 100644 index 0000000000..5db808c4f0 --- /dev/null +++ b/f_subdyn_test/log.txt @@ -0,0 +1,2 @@ +1. vertical cantilever +2. angled-cantilever (different mode shapes but same mode frequencies) diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 68e5219057..6ba0a8715a 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -852,10 +852,24 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) DirCos(3, 1) = Init%COSMs(COSM_ind, 8) DirCos(3, 2) = Init%COSMs(COSM_ind, 9) DirCos(3, 3) = Init%COSMs(COSM_ind, 10) + DirCos = TRANSPOSE(DirCos) + + else CALL GetDirCos(Point1, Point2, DirCos, L, ErrStat2, ErrMsg2); if(Failed()) return ! L and DirCos endif + print *,DirCos(1, 1) + print *,DirCos(2, 1) + print *,DirCos(3, 1) + print *,DirCos(1, 2) + print *,DirCos(2, 2) + print *,DirCos(3, 2) + print *,DirCos(1, 3) + print *,DirCos(2, 3) + print *,DirCos(3, 3) + print *, L + p%ElemProps(i)%eType = eType p%ElemProps(i)%Length = L p%ElemProps(i)%DirCos = DirCos diff --git a/modules/subdyn/src/SubDyn.f90 b/modules/subdyn/src/SubDyn.f90 index bfdd368d44..11cf6df172 100644 --- a/modules/subdyn/src/SubDyn.f90 +++ b/modules/subdyn/src/SubDyn.f90 @@ -3798,7 +3798,7 @@ SUBROUTINE OutSummary(Init, p, m, InitInput, CBparams, Modes, Omega, Omega_Gy, E XYZ2 = Init%Joints(iNode2,2:4) CALL GetDirCos(XYZ1(1:3), XYZ2(1:3), DirCos, mLength, ErrStat, ErrMsg) DirCos=TRANSPOSE(DirCos) !This is now global to local - WRITE(UnSum, '("#",I9,9(ES11.3E2))') Init%Members(i,1), ((DirCos(k,j),j=1,3),k=1,3) + WRITE(UnSum, '("#",I9,9(ES16.7E2))') Init%Members(i,1), ((DirCos(k,j),j=1,3),k=1,3) ENDDO diff --git a/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml b/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml deleted file mode 100644 index 5ed49105b1..0000000000 --- a/subdyn_cosine_arbitrary_example/SD_Force.SD.sum.yaml +++ /dev/null @@ -1,259 +0,0 @@ - -#This summary file was generated by SubDyn on 18-Jan-2023 at 14:15:34. - -#Unless specified, units are consistent with Input units, [SI] system is advised. -#____________________________________________________________________________________________________ -# RIGID BODY EQUIVALENT DATA -#____________________________________________________________________________________________________ -Mass: 1.775628E+02 # Total Mass -CM_point: [ 0.000000E+00, 0.000000E+00, 1.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) -TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point -MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, -0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.991561E+01, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -#____________________________________________________________________________________________________ -# GUYAN MATRICES at the TP reference point -#____________________________________________________________________________________________________ -KBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.341105E-07, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.341105E-07, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 9.536743E-07, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.043081E-07, 0.000000E+00, -1.862645E-07, 0.000000E+00, 0.000000E+00] - - [ -1.043081E-07, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.862645E-07, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.725290E-09] -MBBt: # 6 x 6 - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00] - - [ 0.000000E+00, 1.775628E+02, 0.000000E+00, -1.775628E+02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.775628E+02, 0.000000E+00, 2.374784E+02, 0.000000E+00, 0.000000E+00] - - [ 1.775628E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.374784E+02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.456015E+00] -CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -# SYSTEM FREQUENCIES -#____________________________________________________________________________________________________ -#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_frequencies: # 1 x 30 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.030256E-05, 2.798707E+02, 2.798707E+02, 7.023971E+02, 7.023971E+02, 8.226503E+02, 1.174371E+03, 1.174371E+03, 1.326486E+03, 1.768472E+03, 2.514060E+03, 2.514060E+03, 2.851580E+03, 2.873838E+03, 3.331441E+03, 3.331441E+03, 3.536945E+03, 4.397438E+03, 4.397438E+03, 4.633931E+03, 5.703160E+03, 5.834421E+03, 5.834421E+03, 6.258268E+03, 6.258268E+03,] -#Frequencies of Guyan modes [Hz] -GY_frequencies: # 1 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.487850E-06, 6.487850E-06, 1.166391E-05,] -#Frequencies of Craig-Bampton modes [Hz] -CB_frequencies: # 1 x 5 - - [ 4.567747E+01, 4.567747E+01, 2.652884E+02, 2.652884E+02, 4.035378E+02,] -#____________________________________________________________________________________________________ -# Internal FEM representation -#____________________________________________________________________________________________________ -nNodes_I: 1 # Number of Nodes: "interface" (I) -nNodes_C: 0 # Number of Nodes: "reactions" (C) -nNodes_L: 4 # Number of Nodes: "internal" (L) -nNodes : 5 # Number of Nodes: total (I+C+L) -nDOF__B : 6 # Number of DOFs: retained (__B) -nDOF__L : 24 # Number of DOFs: internal (__L) -nDOF__F : 0 # Number of DOFs: fixed (__F) -nDOF_red: 30 # Number of DOFs: total -DOF___B: # 1 x 6 all retained DOFs - - [ 1, 2, 3, 4, 5, 6,] -DOF___F: # 1 x 0 all fixed DOFs - - [ ] -DOF___L: # 1 x 24 all internal DOFs - - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,] - -#Index map from DOF to nodes -# Node No., DOF/Node, NodalDOF -DOF2Nodes: # 30 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) - - [ 1, 6, 1] # 1 - - [ 1, 6, 2] # 2 - - [ 1, 6, 3] # 3 - - [ 1, 6, 4] # 4 - - [ 1, 6, 5] # 5 - - [ 1, 6, 6] # 6 - - [ 2, 6, 1] # 7 - - [ 2, 6, 2] # 8 - - [ 2, 6, 3] # 9 - - [ 2, 6, 4] # 10 - - [ 2, 6, 5] # 11 - - [ 2, 6, 6] # 12 - - [ 3, 6, 1] # 13 - - [ 3, 6, 2] # 14 - - [ 3, 6, 3] # 15 - - [ 3, 6, 4] # 16 - - [ 3, 6, 5] # 17 - - [ 3, 6, 6] # 18 - - [ 4, 6, 1] # 19 - - [ 4, 6, 2] # 20 - - [ 4, 6, 3] # 21 - - [ 4, 6, 4] # 22 - - [ 4, 6, 5] # 23 - - [ 4, 6, 6] # 24 - - [ 5, 6, 1] # 25 - - [ 5, 6, 2] # 26 - - [ 5, 6, 3] # 27 - - [ 5, 6, 4] # 28 - - [ 5, 6, 5] # 29 - - [ 5, 6, 6] # 30 -# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] -Nodes: # 5 x 9 - - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 4., 0.000, 0.000, -0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 5., 0.000, 0.000, -3.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] -Elements: # 4 x 16 - - [ 1., 1., 4., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 2., 4., 2., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 3., 2., 5., 1., 1., 4., 2.500, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 2.650000E+00, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] - - [ 4., 5., 3., 1., 1., 4., 2.500, 0.200, 7850.000, 2.100000E+11, 8.076900E+10, 2.650000E+00, 1.000000E+00, 1.000000E+00, 1.000000E+00, -9.990000E+36] -#____________________________________________________________________________________________________ -#User inputs - -#Number of properties (NProps): 1 -#Prop No YoungE ShearG MatDens XsecD XsecT -# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 - -#No. of Reaction DOFs: 0 -#React. DOF_ID BC - -#No. of Interface DOFs: 6 -#Interf. DOF_ID BC -# 1 Leader -# 2 Leader -# 3 Leader -# 4 Leader -# 5 Leader -# 6 Leader - -#Number of concentrated masses (NCMass): 0 -#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ - -#Number of members 2 -#Number of nodes per member: 3 -#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... -# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 4 2 -#TODO, member unknown -#____________________________________________________________________________________________________ -#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 -#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) -# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -#____________________________________________________________________________________________________ -#FEM Eigenvectors (30 x 30) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_Modes: # 30 x 30 - - [ 1.000000E+00, -1.826826E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, 2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, 6.633766E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.588561E-02, 0.000000E+00, -4.247858E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -1.000000E+00, 1.826826E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, 2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, -6.633766E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 4.588561E-02, -0.000000E+00, -4.247858E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, -0.000000E+00, -1.000000E+00] - - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 2.802990E-01, -5.913413E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.799615E-01, 0.000000E+00, 1.661463E-16, 0.000000E+00, 0.000000E+00, 2.227481E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.765645E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.477679E-02, 0.000000E+00, 0.000000E+00, 2.434634E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.161669E-02, 0.000000E+00, 6.915257E-16, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -2.802990E-01, 5.913413E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.799615E-01, 0.000000E+00, 1.661463E-16, 0.000000E+00, 0.000000E+00, 2.227481E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.765645E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.477679E-02, 0.000000E+00, 0.000000E+00, -2.434634E-16, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.161669E-02, -0.000000E+00, 6.915257E-16] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.069329E-17, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.698413E-16, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.519661E-15, 0.000000E+00, -5.959244E-01, 0.000000E+00, 0.000000E+00, 7.969875E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.144769E-15, 0.000000E+00, 0.000000E+00, 8.797876E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.997016E-14, -0.000000E+00, -4.313073E-01] - - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.519661E-15, 0.000000E+00, 5.959244E-01, 0.000000E+00, 0.000000E+00, -7.969875E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.144769E-15, 0.000000E+00, 0.000000E+00, 8.797876E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.997016E-14, 0.000000E+00, 4.313073E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.046283E-15, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.369204E-15, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ -4.394019E-01, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, -2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, -6.633766E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.588561E-02, 0.000000E+00, 4.247858E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 4.394019E-01, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.510929E-01, 0.000000E+00, -2.847456E-01, 0.000000E+00, 0.000000E+00, 2.237873E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.090265E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.720500E-02, 0.000000E+00, 0.000000E+00, 6.633766E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 4.588561E-02, -0.000000E+00, 4.247858E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00, -1.000000E+00] - - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.147985E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 6.401495E-01, -3.870119E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, -1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, 3.429999E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.291551E-02, 0.000000E+00, -5.707893E-03, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -6.401495E-01, 3.870119E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, -1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, -3.429999E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.291551E-02, -0.000000E+00, -5.707893E-03] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.161099E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, -1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.960788E-01, 0.000000E+00, 3.496037E-01, 0.000000E+00, 0.000000E+00, -1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 3.587727E-01, -0.000000E+00, -5.090062E-01] - - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.960788E-01, 0.000000E+00, -3.496037E-01, 0.000000E+00, 0.000000E+00, 1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.587727E-01, 0.000000E+00, 5.090062E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.947737E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ -7.955143E-02, -7.956706E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, 1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, -3.429999E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.291551E-02, 0.000000E+00, 5.707893E-03, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 7.955143E-02, 7.956706E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.389906E-02, 0.000000E+00, 1.817583E-01, 0.000000E+00, 0.000000E+00, -1.816010E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.027584E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.045256E-02, 0.000000E+00, 0.000000E+00, 3.429999E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.291551E-02, -0.000000E+00, 5.707893E-03] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.554418E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, -1.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.960788E-01, 0.000000E+00, 3.496037E-01, 0.000000E+00, 0.000000E+00, 1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -3.587727E-01, -0.000000E+00, -5.090062E-01] - - [ -7.197010E-01, -4.086587E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.960788E-01, 0.000000E+00, -3.496037E-01, 0.000000E+00, 0.000000E+00, -1.705818E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.959455E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.419978E-01, 0.000000E+00, 0.000000E+00, 3.133543E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.587727E-01, 0.000000E+00, 5.090062E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.071068E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.393319E-16, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.071068E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -#CB Matrices (PhiM,PhiR) (reaction constraints applied) -PhiM: # 24 x 5 (CB modes) - - [ 5.142100E-02, 0.000000E+00, -1.056842E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 5.142100E-02, 0.000000E+00, -1.056842E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -8.502998E-02, 0.000000E+00, -4.706271E-02, 0.000000E+00] - - [ 8.502998E-02, 0.000000E+00, 4.706271E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.394560E-01] - - [ 1.489311E-01, 0.000000E+00, 1.431892E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.489311E-01, 0.000000E+00, 1.431892E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.006718E-01, 0.000000E+00, -3.249314E-01, 0.000000E+00] - - [ 1.006718E-01, 0.000000E+00, 3.249314E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.187170E+00] - - [ 1.514521E-02, 0.000000E+00, -6.729193E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.514521E-02, 0.000000E+00, -6.729193E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -5.322961E-02, 0.000000E+00, 1.345100E-01, 0.000000E+00] - - [ 5.322961E-02, 0.000000E+00, -1.345100E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.543103E-01] - - [ 9.860755E-02, 0.000000E+00, -1.782159E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 9.860755E-02, 0.000000E+00, -1.782159E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -9.850055E-02, 0.000000E+00, -2.671031E-01, 0.000000E+00] - - [ 9.850055E-02, 0.000000E+00, 2.671031E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.096802E+00] -PhiR: # 24 x 6 (Guyan modes) - - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -1.000000E+00, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, -7.152041E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] - - [ 7.152041E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] - - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -2.000000E+00, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, -9.181547E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] - - [ 9.181547E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] - - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.000000E-01, -0.000000E+00] - - [ -0.000000E+00, 1.000000E+00, -0.000000E+00, -5.000000E-01, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] - - [ -0.000000E+00, -4.899054E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] - - [ 4.899054E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] - - [ 1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.500000E+00, -0.000000E+00] - - [ 0.000000E+00, 1.000000E+00, -0.000000E+00, -1.500000E+00, -0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, -9.181547E-15, -0.000000E+00, 1.000000E+00, -0.000000E+00, -0.000000E+00] - - [ 9.181547E-15, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00] -#____________________________________________________________________________________________________ -TI: # 6 x 6 (TP refpoint Transformation Matrix TI) - - [ 1.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00,-0.00E+00] - - [ 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00,-0.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00, 0.00E+00] - - [ 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 0.00E+00, 1.00E+00] - -#This summary file was closed on 18-Jan-2023 at 14:15:34. - From bf7239e6236eb150c9f8d4c116dbc97c4d602311 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 20 Jan 2023 17:25:52 +0000 Subject: [PATCH 10/20] started to add regression tests --- f_subdyn_test/02/FEM1.json | 24 --------------------- f_subdyn_test/02/test.SD.CBmodes.json | 30 -------------------------- f_subdyn_test/02/test.SD.FEMmodes.json | 24 --------------------- 3 files changed, 78 deletions(-) delete mode 100644 f_subdyn_test/02/FEM1.json delete mode 100644 f_subdyn_test/02/test.SD.CBmodes.json delete mode 100644 f_subdyn_test/02/test.SD.FEMmodes.json diff --git a/f_subdyn_test/02/FEM1.json b/f_subdyn_test/02/FEM1.json deleted file mode 100644 index 64c77435cb..0000000000 --- a/f_subdyn_test/02/FEM1.json +++ /dev/null @@ -1,24 +0,0 @@ -{ -"writer": "SubDyn", -"fileKind": "Modes", -"groundLevel": -0.600E+01, -"Connectivity": [[0,2],[2,1]], -"Nodes": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E+00, 1.000000E+00, 1.000000E+00],[ 5.000000E-01, 5.000000E-01, 5.000000E-01]], -"ElemProps": [ - {"shape": "cylinder", "type": 1, "Diam": 0.2000}, - {"shape": "cylinder", "type": 1, "Diam": 0.2000}] -, -"Modes": [ - {"name": "FEM1", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000006E-02,-4.999994E-02],[ 3.471225E-02,-1.735615E-02,-1.735611E-02]]}, - {"name": "FEM2", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 9.812943E-04,-1.000000E-01, 9.901871E-02],[ 3.406294E-04,-3.471225E-02, 3.437162E-02]]}, - {"name": "FEM3", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-4.246036E-02, 1.000000E-01,-5.753964E-02],[ 3.245826E-02,-7.644368E-02, 4.398542E-02]]}, - {"name": "FEM4", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01, 4.912637E-02, 5.087363E-02],[ 7.644368E-02,-3.755401E-02,-3.888967E-02]]}, - {"name": "FEM5", "frequency": 0.474957E+03, "omega": 0.298425E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-3.161286E-16, 7.223796E-16,-3.192499E-16],[ 2.404627E-16,-5.169052E-16, 3.658047E-16]]}, - {"name": "FEM6", "frequency": 0.765847E+03, "omega": 0.481196E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01, 1.000000E-01, 1.000000E-01],[ 7.071068E-02, 7.071068E-02, 7.071068E-02]]}, - {"name": "FEM7", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.177934E-04,-9.988221E-02, 1.000000E-01],[-1.104290E-05,-9.363763E-03, 9.374806E-03]]}, - {"name": "FEM8", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000000E-02,-5.000000E-02],[ 9.374806E-03,-4.687403E-03,-4.687403E-03]]}, - {"name": "FEM9", "frequency": 0.165921E+04, "omega": 0.104251E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-7.464983E-18,-2.628617E-17,-8.151698E-17],[ 2.590118E-18, 1.590985E-17, 2.445085E-17]]}, - {"name": "FEM10", "frequency": 0.267540E+04, "omega": 0.168100E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01,-1.000000E-01,-1.000000E-01],[ 7.071068E-02, 7.071068E-02, 7.071068E-02]]}, - {"name": "FEM11", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000000E-02,-5.000000E-02],[ 2.772187E-02,-1.386093E-02,-1.386093E-02]]}, - {"name": "FEM12", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 5.701823E-03,-1.000000E-01, 9.429818E-02],[ 1.580652E-03,-2.772187E-02, 2.614122E-02]]}] -} diff --git a/f_subdyn_test/02/test.SD.CBmodes.json b/f_subdyn_test/02/test.SD.CBmodes.json deleted file mode 100644 index 26742ec289..0000000000 --- a/f_subdyn_test/02/test.SD.CBmodes.json +++ /dev/null @@ -1,30 +0,0 @@ -{ -"writer": "SubDyn", -"fileKind": "Modes", -"groundLevel": -0.600E+01, -"Connectivity": [[0,2],[2,1]], -"Nodes": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E+00, 1.000000E+00, 1.000000E+00],[ 5.000000E-01, 5.000000E-01, 5.000000E-01]], -"ElemProps": [ - {"shape": "cylinder", "type": 1, "Diam": 0.2000}, - {"shape": "cylinder", "type": 1, "Diam": 0.2000}] -, -"Modes": [ - {"name": "GY1", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, - {"name": "GY2", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, - {"name": "GY3", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, - {"name": "GY4", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, - {"name": "GY5", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, - {"name": "GY6", "frequency": 0.213392+154, "omega": 0.134078+155, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 0.000000E+00, 0.000000E+00, 0.000000E+00]]}, - {"name": "CB1", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000080E-02,-4.999920E-02],[ 3.471225E-02,-1.735640E-02,-1.735585E-02]]}, - {"name": "CB2", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-3.355982E-02,-6.644018E-02, 1.000000E-01],[-1.164937E-02,-2.306288E-02, 3.471225E-02]]}, - {"name": "CB3", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-4.999931E-02,-5.000069E-02],[-7.644368E-02, 3.822132E-02, 3.822237E-02]]}, - {"name": "CB4", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-4.851540E-03, 1.000000E-01,-9.514846E-02],[ 3.708696E-03,-7.644368E-02, 7.273499E-02]]}, - {"name": "CB5", "frequency": 0.474957E+03, "omega": 0.298425E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.296223E-16, 1.193025E-15,-9.744515E-16],[ 1.314638E-16, 1.534748E-16,-2.639885E-16]]}, - {"name": "CB6", "frequency": 0.765847E+03, "omega": 0.481196E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01,-1.000000E-01,-1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, - {"name": "CB7", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-6.789244E-03,-9.321076E-02, 1.000000E-01],[-6.364785E-04,-8.738327E-03, 9.374806E-03]]}, - {"name": "CB8", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000004E-02,-4.999996E-02],[ 9.374806E-03,-4.687406E-03,-4.687399E-03]]}, - {"name": "CB9", "frequency": 0.165921E+04, "omega": 0.104251E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.232626E-17, 7.627208E-17,-2.128062E-17],[ 3.473116E-18,-6.348546E-17, 7.619756E-17]]}, - {"name": "CB10", "frequency": 0.267540E+04, "omega": 0.168100E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01, 1.000000E-01, 1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, - {"name": "CB11", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 3.104273E-02, 6.895727E-02,-1.000000E-01],[ 8.605624E-03, 1.911624E-02,-2.772187E-02]]}, - {"name": "CB12", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-7.532486E-02,-2.467514E-02],[ 2.772187E-02,-2.088146E-02,-6.840410E-03]]}] -} diff --git a/f_subdyn_test/02/test.SD.FEMmodes.json b/f_subdyn_test/02/test.SD.FEMmodes.json deleted file mode 100644 index 2ef02bbb26..0000000000 --- a/f_subdyn_test/02/test.SD.FEMmodes.json +++ /dev/null @@ -1,24 +0,0 @@ -{ -"writer": "SubDyn", -"fileKind": "Modes", -"groundLevel": -0.600E+01, -"Connectivity": [[0,2],[2,1]], -"Nodes": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E+00, 1.000000E+00, 1.000000E+00],[ 5.000000E-01, 5.000000E-01, 5.000000E-01]], -"ElemProps": [ - {"shape": "cylinder", "type": 1, "Diam": 0.2000}, - {"shape": "cylinder", "type": 1, "Diam": 0.2000}] -, -"Modes": [ - {"name": "FEM1", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000080E-02,-4.999920E-02],[ 3.471225E-02,-1.735640E-02,-1.735585E-02]]}, - {"name": "FEM2", "frequency": 0.606633E+02, "omega": 0.381159E+03, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-3.355982E-02,-6.644018E-02, 1.000000E-01],[-1.164937E-02,-2.306288E-02, 3.471225E-02]]}, - {"name": "FEM3", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-4.999931E-02,-5.000069E-02],[-7.644368E-02, 3.822132E-02, 3.822237E-02]]}, - {"name": "FEM4", "frequency": 0.345274E+03, "omega": 0.216942E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-4.851540E-03, 1.000000E-01,-9.514846E-02],[ 3.708696E-03,-7.644368E-02, 7.273499E-02]]}, - {"name": "FEM5", "frequency": 0.474957E+03, "omega": 0.298425E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.693424E-16, 1.558603E-15,-1.273052E-15],[ 1.717482E-16, 2.005039E-16,-3.448823E-16]]}, - {"name": "FEM6", "frequency": 0.765847E+03, "omega": 0.481196E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.000000E-01,-1.000000E-01,-1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, - {"name": "FEM7", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-6.789244E-03,-9.321076E-02, 1.000000E-01],[-6.364785E-04,-8.738327E-03, 9.374806E-03]]}, - {"name": "FEM8", "frequency": 0.118629E+04, "omega": 0.745368E+04, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-5.000004E-02,-4.999996E-02],[ 9.374806E-03,-4.687406E-03,-4.687399E-03]]}, - {"name": "FEM9", "frequency": 0.165921E+04, "omega": 0.104251E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[-1.112874E-17, 6.886209E-17,-1.921316E-17],[ 3.135696E-18,-5.731771E-17, 6.879481E-17]]}, - {"name": "FEM10", "frequency": 0.267540E+04, "omega": 0.168100E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01, 1.000000E-01, 1.000000E-01],[-7.071068E-02,-7.071068E-02,-7.071068E-02]]}, - {"name": "FEM11", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 3.104273E-02, 6.895727E-02,-1.000000E-01],[ 8.605624E-03, 1.911624E-02,-2.772187E-02]]}, - {"name": "FEM12", "frequency": 0.283015E+04, "omega": 0.177823E+05, "Displ": [[ 0.000000E+00, 0.000000E+00, 0.000000E+00],[ 1.000000E-01,-7.532486E-02,-2.467514E-02],[ 2.772187E-02,-2.088146E-02,-6.840410E-03]]}] -} From 67f6ab8860209385d5d62db0c673159f17a5d433 Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 23 Jan 2023 02:10:49 +0000 Subject: [PATCH 11/20] responding to @ebranlard's comments --- docs/source/user/subdyn/input_files.rst | 17 +- f_subdyn_test/01/test.SD.sum.yaml | 253 ------------------------ f_subdyn_test/01/truth.SD.sum.yaml | 253 ------------------------ f_subdyn_test/02/driver.inp | 2 +- f_subdyn_test/02/test.SD.sum.yaml | 199 ------------------- f_subdyn_test/02/test.dat | 8 +- modules/subdyn/src/SD_FEM.f90 | 95 ++++----- modules/subdyn/src/SubDyn.f90 | 34 ++-- modules/subdyn/src/SubDyn_Registry.txt | 2 +- modules/subdyn/src/SubDyn_Types.f90 | 2 +- 10 files changed, 71 insertions(+), 794 deletions(-) delete mode 100644 f_subdyn_test/01/test.SD.sum.yaml delete mode 100644 f_subdyn_test/01/truth.SD.sum.yaml delete mode 100644 f_subdyn_test/02/test.SD.sum.yaml diff --git a/docs/source/user/subdyn/input_files.rst b/docs/source/user/subdyn/input_files.rst index 00df199775..7097f6513e 100644 --- a/docs/source/user/subdyn/input_files.rst +++ b/docs/source/user/subdyn/input_files.rst @@ -428,7 +428,8 @@ A member is one of the three following types (see :numref:`SD_FEM`): - Rigid link (*MType=3*) **COSMID** refers to the IDs of the members’ cosine matrices for -noncircular members; the current release ignores this column. +noncircular members; the current release uses SubDyn's default direction + cosine convention if it's not present or when COSMID values are -1. An example of member table is given below @@ -543,17 +544,13 @@ An example of rigid link properties table is given below Member Cosine Matrices COSM (i,j) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This table is not currently used by SubDyn, but in future releases it -will need to be populated if members with cross-sections other than -circular will be employed. - **NCOSMs** rows, one for each unique member orientation set, will need to be provided. Each row of the table will list the nine entries of the -direction cosine matrices (COSM11, COSM12,…COSM33) for matrix elements -(1,1), (1,2),…(3,3) that establish the orientation of the local member -axes (*x*,\ *y* principal axes in the cross-sectional plane, *z* along -the member longitudinal axis) with respect to the SS coordinate system -(local-to-global transformation matrices). +direction cosine matrices (COSM11, COSM12,…COSM33) for matrix elements. +Each row is a vector in the global coordinate system for principal axes +in the x, y and z directions respectively. These vectors need to be +specified with an extremely high level of precision for results to be +equivalent to an internal calculation. Joint Additional Concentrated Masses ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/f_subdyn_test/01/test.SD.sum.yaml b/f_subdyn_test/01/test.SD.sum.yaml deleted file mode 100644 index 3c909063d2..0000000000 --- a/f_subdyn_test/01/test.SD.sum.yaml +++ /dev/null @@ -1,253 +0,0 @@ - -#This summary file was generated by SubDyn on 20-Jan-2023 at 14:44:45. - -#Unless specified, units are consistent with Input units, [SI] system is advised. -#____________________________________________________________________________________________________ -# RIGID BODY EQUIVALENT DATA -#____________________________________________________________________________________________________ -Mass: 5.327010E+02 # Total Mass -CM_point: [ 0.000000E+00, 0.000000E+00, -9.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) -TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point -MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). - - [ 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.794309E+03, 0.000000E+00] - - [ 0.000000E+00, 5.327010E+02, 0.000000E+00, 4.794309E+03, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 4.794309E+03, 0.000000E+00, 4.474907E+04, 0.000000E+00, 0.000000E+00] - - [ -4.794309E+03, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.474907E+04, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.521600E+00] -M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point - - [ 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.794309E+03, -0.000000E+00] - - [ 0.000000E+00, 5.327010E+02, 0.000000E+00, 4.794309E+03, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 5.327010E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 4.794309E+03, 0.000000E+00, 4.474907E+04, 0.000000E+00, 0.000000E+00] - - [ -4.794309E+03, 0.000000E+00, -0.000000E+00, 0.000000E+00, 4.474907E+04, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.521600E+00] -M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). - - [ 5.327010E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 5.327010E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 5.327010E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600287E+03, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600287E+03, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.521600E+00] -#____________________________________________________________________________________________________ -# GUYAN MATRICES at the TP reference point -#____________________________________________________________________________________________________ -KBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -MBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -# SYSTEM FREQUENCIES -#____________________________________________________________________________________________________ -#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_frequencies: # 1 x 24 - - [ 5.140048E+00, 5.140048E+00, 3.210515E+01, 3.210515E+01, 9.480791E+01, 9.480791E+01, 1.352443E+02, 2.134299E+02, 2.134299E+02, 2.180753E+02, 4.372133E+02, 5.224592E+02, 5.224592E+02, 7.049863E+02, 1.166661E+03, 1.254712E+03, 1.254712E+03, 1.881187E+03, 2.963515E+03, 3.251991E+03, 3.251991E+03, 4.778532E+03, 5.771266E+03, 5.771266E+03,] -#Frequencies of Guyan modes [Hz] -GY_frequencies: # 1 x 6 - - [***************,***************,***************,***************,***************,***************,] -#Frequencies of Craig-Bampton modes [Hz] -CB_frequencies: # 1 x 5 - - [ 5.140048E+00, 5.140048E+00, 3.210515E+01, 3.210515E+01, 9.480791E+01,] -#____________________________________________________________________________________________________ -# Internal FEM representation -#____________________________________________________________________________________________________ -nNodes_I: 0 # Number of Nodes: "interface" (I) -nNodes_C: 1 # Number of Nodes: "reactions" (C) -nNodes_L: 4 # Number of Nodes: "internal" (L) -nNodes : 5 # Number of Nodes: total (I+C+L) -nDOF__B : 0 # Number of DOFs: retained (__B) -nDOF__L : 24 # Number of DOFs: internal (__L) -nDOF__F : 6 # Number of DOFs: fixed (__F) -nDOF_red: 30 # Number of DOFs: total -DOF___B: # 1 x 0 all retained DOFs - - [ ] -DOF___F: # 1 x 6 all fixed DOFs - - [ 13, 14, 15, 16, 17, 18,] -DOF___L: # 1 x 24 all internal DOFs - - [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,] - -#Index map from DOF to nodes -# Node No., DOF/Node, NodalDOF -DOF2Nodes: # 30 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) - - [ 1, 6, 1] # 1 - - [ 1, 6, 2] # 2 - - [ 1, 6, 3] # 3 - - [ 1, 6, 4] # 4 - - [ 1, 6, 5] # 5 - - [ 1, 6, 6] # 6 - - [ 2, 6, 1] # 7 - - [ 2, 6, 2] # 8 - - [ 2, 6, 3] # 9 - - [ 2, 6, 4] # 10 - - [ 2, 6, 5] # 11 - - [ 2, 6, 6] # 12 - - [ 3, 6, 1] # 13 - - [ 3, 6, 2] # 14 - - [ 3, 6, 3] # 15 - - [ 3, 6, 4] # 16 - - [ 3, 6, 5] # 17 - - [ 3, 6, 6] # 18 - - [ 4, 6, 1] # 19 - - [ 4, 6, 2] # 20 - - [ 4, 6, 3] # 21 - - [ 4, 6, 4] # 22 - - [ 4, 6, 5] # 23 - - [ 4, 6, 6] # 24 - - [ 5, 6, 1] # 25 - - [ 5, 6, 2] # 26 - - [ 5, 6, 3] # 27 - - [ 5, 6, 4] # 28 - - [ 5, 6, 5] # 29 - - [ 5, 6, 6] # 30 -# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] -Nodes: # 5 x 9 - - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 4., 0.000, 0.000, -0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 5., 0.000, 0.000, -3.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] -Elements: # 4 x 16 - - [ 1., 1., 4., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] - - [ 2., 4., 2., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] - - [ 3., 2., 5., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] - - [ 4., 5., 3., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 4.999823E-01, 4.636990E-05, 4.636990E-05, 9.600000E-05, -9.990000E+36] -#____________________________________________________________________________________________________ -#User inputs - -#Number of properties (NProps): 1 -#Prop No YoungE ShearG MatDens XsecD XsecT -# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 - -#No. of Reaction DOFs: 6 -#React. DOF_ID BC -# 13 Fixed -# 14 Fixed -# 15 Fixed -# 16 Fixed -# 17 Fixed -# 18 Fixed - -#No. of Interface DOFs: 0 -#Interf. DOF_ID BC - -#Number of concentrated masses (NCMass): 0 -#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ - -#Number of members 2 -#Number of nodes per member: 3 -#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... -#TODO, member unknown -#TODO, member unknown -#____________________________________________________________________________________________________ -#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 -#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) -# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -#____________________________________________________________________________________________________ -#FEM Eigenvectors (30 x 24) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_Modes: # 30 x 24 - - [ 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 7.373754E-01, 0.000000E+00, 0.000000E+00, 4.810701E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.359180E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.121978E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.007202E-01, 0.000000E+00, 0.000000E+00, -4.627989E-02, 0.000000E+00] - - [ 0.000000E+00, -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -7.373754E-01, 0.000000E+00, 0.000000E+00, 4.810701E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.359180E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 2.121978E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.007202E-01, 0.000000E+00, -0.000000E+00, -4.627989E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.070952E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -2.289476E-01, 0.000000E+00, -7.975906E-01, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 9.455785E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, -1.000000E+00] - - [ -2.289476E-01, 0.000000E+00, -7.975906E-01, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -9.455785E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.070952E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 7.713380E-01, 0.000000E+00, 2.126458E-01, 0.000000E+00, -2.026275E-01, 0.000000E+00, 0.000000E+00, -2.884236E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.028739E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.719862E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.208501E-02, 0.000000E+00, 0.000000E+00, -5.943382E-03, 0.000000E+00] - - [ 0.000000E+00, -7.713380E-01, 0.000000E+00, -2.126458E-01, 0.000000E+00, 2.026275E-01, 0.000000E+00, 0.000000E+00, -2.884236E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.028739E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.719862E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 3.208501E-02, 0.000000E+00, -0.000000E+00, -5.943382E-03] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.986628E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.696686E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.313529E-01, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -2.274489E-01, 0.000000E+00, -7.474851E-01, 0.000000E+00, -7.308080E-01, 0.000000E+00, 0.000000E+00, 2.473173E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.368418E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.685969E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 9.178402E-02, 0.000000E+00, -0.000000E+00, -1.675861E-02] - - [ -2.274489E-01, 0.000000E+00, -7.474851E-01, 0.000000E+00, -7.308080E-01, 0.000000E+00, 0.000000E+00, -2.473173E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.368418E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.685969E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.178402E-02, 0.000000E+00, 0.000000E+00, 1.675861E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.986628E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.696686E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.313529E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 8.855260E-01, 0.000000E+00, 6.012358E-01, 0.000000E+00, 2.378218E-01, 0.000000E+00, 0.000000E+00, 1.069134E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.468227E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.828405E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.859834E-02, 0.000000E+00, 0.000000E+00, -1.338245E-02, 0.000000E+00] - - [ 0.000000E+00, -8.855260E-01, 0.000000E+00, -6.012358E-01, 0.000000E+00, -2.378218E-01, 0.000000E+00, 0.000000E+00, 1.069134E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.468227E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.828405E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.859834E-02, 0.000000E+00, -0.000000E+00, -1.338245E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.263976E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -4.638596E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -7.521146E-01, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -2.287540E-01, 0.000000E+00, -7.904813E-01, 0.000000E+00, -9.571213E-01, 0.000000E+00, 0.000000E+00, 8.144907E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.325845E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.085001E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 8.900767E-01, 0.000000E+00, -0.000000E+00, -3.447220E-01] - - [ -2.287540E-01, 0.000000E+00, -7.904813E-01, 0.000000E+00, -9.571213E-01, 0.000000E+00, 0.000000E+00, -8.144907E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.325845E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.085001E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.900767E-01, 0.000000E+00, 0.000000E+00, 3.447220E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.263976E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.638596E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -7.521146E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 2.477906E-01, 0.000000E+00, -7.142995E-01, 0.000000E+00, 3.276396E-01, 0.000000E+00, 0.000000E+00, 9.416384E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.161184E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.987502E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.022338E-03, 0.000000E+00, 0.000000E+00, -7.186463E-04, 0.000000E+00] - - [ 0.000000E+00, -2.477906E-01, 0.000000E+00, 7.142995E-01, 0.000000E+00, -3.276396E-01, 0.000000E+00, 0.000000E+00, 9.416384E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.161184E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 2.987502E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, 4.022338E-03, 0.000000E+00, -0.000000E+00, -7.186463E-04] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.856608E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -3.426177E-02, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.744616E-01, 0.000000E+00, 1.277203E-01, 0.000000E+00, 5.287510E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.059529E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.048883E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.366018E-02, 0.000000E+00, -0.000000E+00, -2.430500E-03] - - [ -1.744616E-01, 0.000000E+00, 1.277203E-01, 0.000000E+00, 5.287510E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.059529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.048883E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.366018E-02, 0.000000E+00, 0.000000E+00, 2.430500E-03, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.856608E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -3.426177E-02, -0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -#CB Matrices (PhiM,PhiR) (reaction constraints applied) -PhiM: # 24 x 5 (CB modes) - - [ 8.659529E-02, 0.000000E+00, 8.625065E-02, 0.000000E+00, 9.838644E-02] - - [ 0.000000E+00, -8.659529E-02, 0.000000E+00, -8.625065E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.982578E-02, 0.000000E+00, -6.879271E-02, 0.000000E+00] - - [ -1.982578E-02, 0.000000E+00, -6.879271E-02, 0.000000E+00, -1.334279E-01] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 6.679423E-02, 0.000000E+00, 1.834084E-02, 0.000000E+00, -2.703616E-02] - - [ 0.000000E+00, -6.679423E-02, 0.000000E+00, -1.834084E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.969600E-02, 0.000000E+00, -6.447108E-02, 0.000000E+00] - - [ -1.969600E-02, 0.000000E+00, -6.447108E-02, 0.000000E+00, -9.751016E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 7.668238E-02, 0.000000E+00, 5.185698E-02, 0.000000E+00, 3.173205E-02] - - [ 0.000000E+00, -7.668238E-02, 0.000000E+00, -5.185698E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.980902E-02, 0.000000E+00, -6.817953E-02, 0.000000E+00] - - [ -1.980902E-02, 0.000000E+00, -6.817953E-02, 0.000000E+00, -1.277067E-01] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 2.145749E-02, 0.000000E+00, -6.160879E-02, 0.000000E+00, 4.371626E-02] - - [ 0.000000E+00, -2.145749E-02, 0.000000E+00, 6.160879E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.510755E-02, 0.000000E+00, 1.101596E-02, 0.000000E+00] - - [ -1.510755E-02, 0.000000E+00, 1.101596E-02, 0.000000E+00, 7.055012E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -PhiR: # 24 x 0 (Guyan modes) - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ -#____________________________________________________________________________________________________ -TI: # 0 x 6 (TP refpoint Transformation Matrix TI) - - [ ] - -#This summary file was closed on 20-Jan-2023 at 14:44:45. - diff --git a/f_subdyn_test/01/truth.SD.sum.yaml b/f_subdyn_test/01/truth.SD.sum.yaml deleted file mode 100644 index 5f57a0bc4c..0000000000 --- a/f_subdyn_test/01/truth.SD.sum.yaml +++ /dev/null @@ -1,253 +0,0 @@ - -#This summary file was generated by SubDyn on 20-Jan-2023 at 14:46:04. - -#Unless specified, units are consistent with Input units, [SI] system is advised. -#____________________________________________________________________________________________________ -# RIGID BODY EQUIVALENT DATA -#____________________________________________________________________________________________________ -Mass: 5.326885E+02 # Total Mass -CM_point: [ 0.000000E+00, 0.000000E+00, -3.000000E+00] # Center of mass coordinates (Xcm,Ycm,Zcm) -TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point -MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). - - [ 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.598065E+03, 0.000000E+00] - - [ 0.000000E+00, 5.326885E+02, 0.000000E+00, 1.598065E+03, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.598065E+03, 0.000000E+00, 6.394445E+03, 0.000000E+00, 0.000000E+00] - - [ -1.598065E+03, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.394445E+03, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.368045E+00] -M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point - - [ 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.598065E+03, -0.000000E+00] - - [ 0.000000E+00, 5.326885E+02, 0.000000E+00, 1.598065E+03, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 5.326885E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 1.598065E+03, 0.000000E+00, 6.394445E+03, 0.000000E+00, 0.000000E+00] - - [ -1.598065E+03, 0.000000E+00, -0.000000E+00, 0.000000E+00, 6.394445E+03, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.368045E+00] -M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). - - [ 5.326885E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 5.326885E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 5.326885E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600249E+03, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, 1.600249E+03, 0.000000E+00] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.368045E+00] -#____________________________________________________________________________________________________ -# GUYAN MATRICES at the TP reference point -#____________________________________________________________________________________________________ -KBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -MBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -# SYSTEM FREQUENCIES -#____________________________________________________________________________________________________ -#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_frequencies: # 1 x 24 - - [ 5.140249E+00, 5.140249E+00, 3.211125E+01, 3.211125E+01, 9.483521E+01, 9.483521E+01, 1.352443E+02, 2.135134E+02, 2.135134E+02, 2.180753E+02, 4.372133E+02, 5.227821E+02, 5.227821E+02, 7.049863E+02, 1.166661E+03, 1.259238E+03, 1.259238E+03, 1.881187E+03, 2.963515E+03, 3.257587E+03, 3.257587E+03, 4.778532E+03, 5.795097E+03, 5.795097E+03,] -#Frequencies of Guyan modes [Hz] -GY_frequencies: # 1 x 6 - - [***************,***************,***************,***************,***************,***************,] -#Frequencies of Craig-Bampton modes [Hz] -CB_frequencies: # 1 x 5 - - [ 5.140249E+00, 5.140249E+00, 3.211125E+01, 3.211125E+01, 9.483521E+01,] -#____________________________________________________________________________________________________ -# Internal FEM representation -#____________________________________________________________________________________________________ -nNodes_I: 0 # Number of Nodes: "interface" (I) -nNodes_C: 1 # Number of Nodes: "reactions" (C) -nNodes_L: 4 # Number of Nodes: "internal" (L) -nNodes : 5 # Number of Nodes: total (I+C+L) -nDOF__B : 0 # Number of DOFs: retained (__B) -nDOF__L : 24 # Number of DOFs: internal (__L) -nDOF__F : 6 # Number of DOFs: fixed (__F) -nDOF_red: 30 # Number of DOFs: total -DOF___B: # 1 x 0 all retained DOFs - - [ ] -DOF___F: # 1 x 6 all fixed DOFs - - [ 13, 14, 15, 16, 17, 18,] -DOF___L: # 1 x 24 all internal DOFs - - [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,] - -#Index map from DOF to nodes -# Node No., DOF/Node, NodalDOF -DOF2Nodes: # 30 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) - - [ 1, 6, 1] # 1 - - [ 1, 6, 2] # 2 - - [ 1, 6, 3] # 3 - - [ 1, 6, 4] # 4 - - [ 1, 6, 5] # 5 - - [ 1, 6, 6] # 6 - - [ 2, 6, 1] # 7 - - [ 2, 6, 2] # 8 - - [ 2, 6, 3] # 9 - - [ 2, 6, 4] # 10 - - [ 2, 6, 5] # 11 - - [ 2, 6, 6] # 12 - - [ 3, 6, 1] # 13 - - [ 3, 6, 2] # 14 - - [ 3, 6, 3] # 15 - - [ 3, 6, 4] # 16 - - [ 3, 6, 5] # 17 - - [ 3, 6, 6] # 18 - - [ 4, 6, 1] # 19 - - [ 4, 6, 2] # 20 - - [ 4, 6, 3] # 21 - - [ 4, 6, 4] # 22 - - [ 4, 6, 5] # 23 - - [ 4, 6, 6] # 24 - - [ 5, 6, 1] # 25 - - [ 5, 6, 2] # 26 - - [ 5, 6, 3] # 27 - - [ 5, 6, 4] # 28 - - [ 5, 6, 5] # 29 - - [ 5, 6, 6] # 30 -# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] -Nodes: # 5 x 9 - - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 2., 0.000, 0.000, -1.000, 1., 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 3., 0.000, 0.000, -6.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 4., 0.000, 0.000, -0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 5., 0.000, 0.000, -3.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] -Elements: # 4 x 16 - - [ 1., 1., 4., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 2., 4., 2., 1., 1., 1., 0.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 3., 2., 5., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 4., 5., 3., 1., 1., 1., 2.500, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] -#____________________________________________________________________________________________________ -#User inputs - -#Number of properties (NProps): 1 -#Prop No YoungE ShearG MatDens XsecD XsecT -# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 - -#No. of Reaction DOFs: 6 -#React. DOF_ID BC -# 13 Fixed -# 14 Fixed -# 15 Fixed -# 16 Fixed -# 17 Fixed -# 18 Fixed - -#No. of Interface DOFs: 0 -#Interf. DOF_ID BC - -#Number of concentrated masses (NCMass): 0 -#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ - -#Number of members 2 -#Number of nodes per member: 3 -#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... -# 1 11 12 1 1 8.878141E+01 1.000000E+00 1 4 2 -# 2 12 13 1 1 4.439070E+02 5.000000E+00 2 5 3 -#____________________________________________________________________________________________________ -#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 2 -#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) -# 1 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -# 2 1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 0.000E+00 0.000E+00 0.000E+00 -1.000E+00 -#____________________________________________________________________________________________________ -#FEM Eigenvectors (30 x 24) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_Modes: # 30 x 24 - - [ -1.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 7.371657E-01, 0.000000E+00, 0.000000E+00, 4.812072E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.353464E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.113348E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.003811E-01, 0.000000E+00, 0.000000E+00, -4.622688E-02, 0.000000E+00] - - [ 0.000000E+00, 1.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, -7.371657E-01, 0.000000E+00, 0.000000E+00, 4.812072E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.353464E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.113348E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.003811E-01, 0.000000E+00, 0.000000E+00, -4.622688E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.070952E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -2.289573E-01, 0.000000E+00, -7.976946E-01, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, -9.464990E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00] - - [ -2.289573E-01, 0.000000E+00, -7.976946E-01, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 9.464990E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.070952E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -7.713301E-01, 0.000000E+00, -2.126041E-01, 0.000000E+00, -2.025338E-01, 0.000000E+00, 0.000000E+00, -2.883883E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.028802E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.704179E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.202841E-02, 0.000000E+00, 0.000000E+00, -5.968249E-03, 0.000000E+00] - - [ 0.000000E+00, 7.713301E-01, 0.000000E+00, 2.126041E-01, 0.000000E+00, 2.025338E-01, 0.000000E+00, 0.000000E+00, -2.883883E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.028802E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.704179E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 3.202841E-02, 0.000000E+00, 0.000000E+00, -5.968249E-03] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.986628E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, 5.696686E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.313529E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -2.274585E-01, 0.000000E+00, -7.475722E-01, 0.000000E+00, 7.307465E-01, 0.000000E+00, 0.000000E+00, -2.475539E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.364569E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 5.632746E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.166612E-02, 0.000000E+00, 0.000000E+00, 1.683353E-02] - - [ -2.274585E-01, 0.000000E+00, -7.475722E-01, 0.000000E+00, 7.307465E-01, 0.000000E+00, 0.000000E+00, 2.475539E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.364569E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.632746E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.166612E-02, 0.000000E+00, 0.000000E+00, -1.683353E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.651646E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.986628E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.696686E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, 1.313529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -8.855217E-01, 0.000000E+00, -6.012014E-01, 0.000000E+00, 2.377155E-01, 0.000000E+00, 0.000000E+00, 1.067644E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.464058E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.813618E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.870187E-02, 0.000000E+00, 0.000000E+00, -1.338940E-02, 0.000000E+00] - - [ 0.000000E+00, 8.855217E-01, 0.000000E+00, 6.012014E-01, 0.000000E+00, -2.377155E-01, 0.000000E+00, 0.000000E+00, 1.067644E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.464058E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.813618E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.870187E-02, 0.000000E+00, 0.000000E+00, -1.338940E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.263976E-01, 0.000000E+00, -0.000000E+00, 0.000000E+00, -4.638596E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -7.521146E-01, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -2.287637E-01, 0.000000E+00, -7.905828E-01, 0.000000E+00, 9.571107E-01, 0.000000E+00, 0.000000E+00, -8.152812E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.328699E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.106230E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.843741E-01, 0.000000E+00, 0.000000E+00, 3.456223E-01] - - [ -2.287637E-01, 0.000000E+00, -7.905828E-01, 0.000000E+00, 9.571107E-01, 0.000000E+00, 0.000000E+00, 8.152812E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 5.328699E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.106230E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 8.843741E-01, 0.000000E+00, 0.000000E+00, -3.456223E-01, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 9.912529E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -8.263976E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -4.638596E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -7.521146E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -2.477773E-01, 0.000000E+00, 7.141726E-01, 0.000000E+00, 3.276482E-01, 0.000000E+00, 0.000000E+00, 9.419032E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.156712E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.958555E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.019789E-03, 0.000000E+00, 0.000000E+00, -7.221477E-04, 0.000000E+00] - - [ 0.000000E+00, 2.477773E-01, 0.000000E+00, -7.141726E-01, 0.000000E+00, -3.276482E-01, 0.000000E+00, 0.000000E+00, 9.419032E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, -5.156712E-02, 0.000000E+00, 0.000000E+00, -0.000000E+00, -2.958555E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 4.019789E-03, 0.000000E+00, 0.000000E+00, -7.221477E-04] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, -0.000000E+00, 0.000000E+00, -1.856608E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -3.426177E-02, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.744687E-01, 0.000000E+00, 1.278577E-01, 0.000000E+00, -5.288155E-01, 0.000000E+00, 0.000000E+00, -1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 2.057628E-01, 0.000000E+00, 0.000000E+00, -0.000000E+00, 1.038572E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.365239E-02, 0.000000E+00, 0.000000E+00, 2.442433E-03] - - [ -1.744687E-01, 0.000000E+00, 1.278577E-01, 0.000000E+00, -5.288155E-01, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -2.057628E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.038572E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.365239E-02, 0.000000E+00, 0.000000E+00, -2.442433E-03, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 6.065458E-01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 1.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -1.856608E-01, -0.000000E+00, 0.000000E+00, 0.000000E+00, -3.426177E-02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -#CB Matrices (PhiM,PhiR) (reaction constraints applied) -PhiM: # 24 x 5 (CB modes) - - [ -8.659744E-02, 0.000000E+00, -8.626031E-02, 0.000000E+00, 9.837136E-02] - - [ 0.000000E+00, 8.659744E-02, 0.000000E+00, 8.626031E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.982712E-02, 0.000000E+00, -6.880938E-02, 0.000000E+00] - - [ -1.982712E-02, 0.000000E+00, -6.880938E-02, 0.000000E+00, 1.334454E-01] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -6.679522E-02, 0.000000E+00, -1.833930E-02, 0.000000E+00, -2.702720E-02] - - [ 0.000000E+00, 6.679522E-02, 0.000000E+00, 1.833930E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.969733E-02, 0.000000E+00, -6.448581E-02, 0.000000E+00] - - [ -1.969733E-02, 0.000000E+00, -6.448581E-02, 0.000000E+00, 9.751474E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -7.668391E-02, 0.000000E+00, -5.185982E-02, 0.000000E+00, 3.172204E-02] - - [ 0.000000E+00, 7.668391E-02, 0.000000E+00, 5.185982E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.981035E-02, 0.000000E+00, -6.819592E-02, 0.000000E+00] - - [ -1.981035E-02, 0.000000E+00, -6.819592E-02, 0.000000E+00, 1.277220E-01] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ -2.145688E-02, 0.000000E+00, 6.160475E-02, 0.000000E+00, 4.372314E-02] - - [ 0.000000E+00, 2.145688E-02, 0.000000E+00, -6.160475E-02, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -1.510855E-02, 0.000000E+00, 1.102905E-02, 0.000000E+00] - - [ -1.510855E-02, 0.000000E+00, 1.102905E-02, 0.000000E+00, -7.056798E-02] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -PhiR: # 24 x 0 (Guyan modes) - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ -#____________________________________________________________________________________________________ -TI: # 0 x 6 (TP refpoint Transformation Matrix TI) - - [ ] - -#This summary file was closed on 20-Jan-2023 at 14:46:04. - diff --git a/f_subdyn_test/02/driver.inp b/f_subdyn_test/02/driver.inp index c27f41390a..571d6d0a71 100644 --- a/f_subdyn_test/02/driver.inp +++ b/f_subdyn_test/02/driver.inp @@ -22,5 +22,5 @@ False Echo - Echo the input file data (flag). In order to 1 nAppliedLoads - Number of applied loads at given nodes ALJointID Fx Fy Fz Mx My Mz UnsteadyFile (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) - 2 1e6 -1e6 0 0 0 0 + 2 1e6 1e6 0 0 0 0 END of driver input file \ No newline at end of file diff --git a/f_subdyn_test/02/test.SD.sum.yaml b/f_subdyn_test/02/test.SD.sum.yaml deleted file mode 100644 index 9e6c7a142a..0000000000 --- a/f_subdyn_test/02/test.SD.sum.yaml +++ /dev/null @@ -1,199 +0,0 @@ - -#This summary file was generated by SubDyn on 20-Jan-2023 at 17:09:48. - -#Unless specified, units are consistent with Input units, [SI] system is advised. -#____________________________________________________________________________________________________ -# RIGID BODY EQUIVALENT DATA -#____________________________________________________________________________________________________ -Mass: 1.537739E+02 # Total Mass -CM_point: [ 5.000000E-01, 5.000000E-01, 5.000000E-01] # Center of mass coordinates (Xcm,Ycm,Zcm) -TP_point: [ 0.000000E+00, 0.000000E+00, 0.000000E+00] # Transition piece reference point -MRB: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. (0,0,0). - - [ 1.537739E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.688695E+01, -7.688695E+01] - - [ 0.000000E+00, 1.537739E+02, 0.000000E+00, -7.688695E+01, 0.000000E+00, 7.688695E+01] - - [ 0.000000E+00, 0.000000E+00, 1.537739E+02, 7.688695E+01, -7.688695E+01, 0.000000E+00] - - [ 0.000000E+00, -7.688695E+01, 7.688695E+01, 1.033566E+02, -5.104781E+01, -5.104781E+01] - - [ 7.688695E+01, 0.000000E+00, -7.688695E+01, -5.104781E+01, 1.033566E+02, -5.104781E+01] - - [ -7.688695E+01, 7.688695E+01, 0.000000E+00, -5.104781E+01, -5.104781E+01, 1.033566E+02] -M_P: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. TP Ref point - - [ 1.537739E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 7.688695E+01, -7.688695E+01] - - [ 0.000000E+00, 1.537739E+02, 0.000000E+00, -7.688695E+01, 0.000000E+00, 7.688695E+01] - - [ 0.000000E+00, 0.000000E+00, 1.537739E+02, 7.688695E+01, -7.688695E+01, 0.000000E+00] - - [ 0.000000E+00, -7.688695E+01, 7.688695E+01, 1.033566E+02, -5.104781E+01, -5.104781E+01] - - [ 7.688695E+01, 0.000000E+00, -7.688695E+01, -5.104781E+01, 1.033566E+02, -5.104781E+01] - - [ -7.688695E+01, 7.688695E+01, 0.000000E+00, -5.104781E+01, -5.104781E+01, 1.033566E+02] -M_G: # 6 x 6 Rigid Body Equivalent Mass Matrix w.r.t. CM (Xcm,Ycm,Zcm). - - [ 1.537739E+02, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.000000E+00] - - [ 0.000000E+00, 1.537739E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 1.537739E+02, 0.000000E+00, -0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, -0.000000E+00, 0.000000E+00, 2.646962E+01, -1.260433E+01, -1.260433E+01] - - [ 0.000000E+00, 0.000000E+00, -0.000000E+00, -1.260433E+01, 2.646962E+01, -1.260433E+01] - - [ -0.000000E+00, 0.000000E+00, 0.000000E+00, -1.260433E+01, -1.260433E+01, 2.646962E+01] -#____________________________________________________________________________________________________ -# GUYAN MATRICES at the TP reference point -#____________________________________________________________________________________________________ -KBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -MBBt: # 6 x 6 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -CBBt: # 6 x 6 (user Guyan Damping + potential joint damping from CB-reduction) - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -#____________________________________________________________________________________________________ -# SYSTEM FREQUENCIES -#____________________________________________________________________________________________________ -#Eigenfrequencies [Hz] for full system, with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_frequencies: # 1 x 12 - - [ 6.066331E+01, 6.066331E+01, 3.452735E+02, 3.452735E+02, 4.749574E+02, 7.658468E+02, 1.186290E+03, 1.186290E+03, 1.659211E+03, 2.675401E+03, 2.830148E+03, 2.830148E+03,] -#Frequencies of Guyan modes [Hz] -GY_frequencies: # 1 x 6 - - [***************,***************,***************,***************,***************,***************,] -#Frequencies of Craig-Bampton modes [Hz] -CB_frequencies: # 1 x 12 - - [ 6.066331E+01, 6.066331E+01, 3.452735E+02, 3.452735E+02, 4.749574E+02, 7.658468E+02, 1.186290E+03, 1.186290E+03, 1.659211E+03, 2.675401E+03, 2.830148E+03, 2.830148E+03,] -#____________________________________________________________________________________________________ -# Internal FEM representation -#____________________________________________________________________________________________________ -nNodes_I: 0 # Number of Nodes: "interface" (I) -nNodes_C: 1 # Number of Nodes: "reactions" (C) -nNodes_L: 2 # Number of Nodes: "internal" (L) -nNodes : 3 # Number of Nodes: total (I+C+L) -nDOF__B : 0 # Number of DOFs: retained (__B) -nDOF__L : 12 # Number of DOFs: internal (__L) -nDOF__F : 6 # Number of DOFs: fixed (__F) -nDOF_red: 18 # Number of DOFs: total -DOF___B: # 1 x 0 all retained DOFs - - [ ] -DOF___F: # 1 x 6 all fixed DOFs - - [ 1, 2, 3, 4, 5, 6,] -DOF___L: # 1 x 12 all internal DOFs - - [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,] - -#Index map from DOF to nodes -# Node No., DOF/Node, NodalDOF -DOF2Nodes: # 18 x 3 (nDOFRed x 3, for each constrained DOF, col1: node index, col2: number of DOF, col3: DOF starting from 1) - - [ 1, 6, 1] # 1 - - [ 1, 6, 2] # 2 - - [ 1, 6, 3] # 3 - - [ 1, 6, 4] # 4 - - [ 1, 6, 5] # 5 - - [ 1, 6, 6] # 6 - - [ 2, 6, 1] # 7 - - [ 2, 6, 2] # 8 - - [ 2, 6, 3] # 9 - - [ 2, 6, 4] # 10 - - [ 2, 6, 5] # 11 - - [ 2, 6, 6] # 12 - - [ 3, 6, 1] # 13 - - [ 3, 6, 2] # 14 - - [ 3, 6, 3] # 15 - - [ 3, 6, 4] # 16 - - [ 3, 6, 5] # 17 - - [ 3, 6, 6] # 18 -# Node_[#] X_[m] Y_[m] Z_[m] JType_[-] JDirX_[-] JDirY_[-] JDirZ_[-] JStff_[Nm/rad] -Nodes: # 3 x 9 - - [ 1., 0.000, 0.000, 0.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 2., 1.000, 1.000, 1.000, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 3., 0.500, 0.500, 0.500, 1., 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] -# Elem_[#] Node_1 Node_2 Prop_1 Prop_2 Type Length_[m] Area_[m^2] Dens._[kg/m^3] E_[N/m2] G_[N/m2] shear_[-] Ixx_[m^4] Iyy_[m^4] Jzz_[m^4] T0_[N] -Elements: # 2 x 16 - - [ 1., 1., 3., 1., 1., 1., 0.866, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] - - [ 2., 3., 2., 1., 1., 1., 0.866, 0.011, 7850.000, 2.100000E+11, 8.076900E+10, 5.101330E-01, 4.636991E-05, 4.636991E-05, 9.273982E-05, -9.990000E+36] -#____________________________________________________________________________________________________ -#User inputs - -#Number of properties (NProps): 1 -#Prop No YoungE ShearG MatDens XsecD XsecT -# 1 2.100000E+11 8.076900E+10 7.850000E+03 2.000000E-01 2.000000E-02 - -#No. of Reaction DOFs: 6 -#React. DOF_ID BC -# 1 Fixed -# 2 Fixed -# 3 Fixed -# 4 Fixed -# 5 Fixed -# 6 Fixed - -#No. of Interface DOFs: 0 -#Interf. DOF_ID BC - -#Number of concentrated masses (NCMass): 0 -#JointCMas Mass JXX JYY JZZ JXY JXZ JYZ MCGX MCGY MCGZ - -#Number of members 1 -#Number of nodes per member: 3 -#Member I Joint1_ID Joint2_ID Prop_I Prop_J Mass Length Node IDs... -# 1 1 2 1 1 1.537739E+02 1.732051E+00 1 3 2 -#____________________________________________________________________________________________________ -#Direction Cosine Matrices for all Members: GLOBAL-2-LOCAL. No. of 3x3 matrices= 1 -#Member I DC(1,1) DC(1,2) DC(1,3) DC(2,1) DC(2,2) DC(2,3) DC(3,1) DC(3,2) DC(3,3) -# 1 7.0710678E-01 -7.0710678E-01 0.0000000E+00 4.0824829E-01 4.0824829E-01 -8.1649658E-01 5.7735027E-01 5.7735027E-01 5.7735027E-01 -#____________________________________________________________________________________________________ -#FEM Eigenvectors (18 x 12) [m or rad], full system with reaction constraints (+ Soil K/M + SoilDyn K0) -Full_Modes: # 18 x 12 - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00] - - [ 1.000000E+00, -3.355982E-01, 4.455581E-01, -1.661545E-02, -1.693424E-16, -1.000000E+00, -1.114031E-02, 2.113566E-01, -1.112874E-17, 1.000000E+00, 2.737254E-02, 8.497451E-02] - - [ -5.000080E-01, -6.644018E-01, -2.227760E-01, 3.424779E-01, 1.558603E-15, -1.000000E+00, -1.529473E-01, -1.056784E-01, 6.886209E-17, 1.000000E+00, 6.080445E-02, -6.400693E-02] - - [ -4.999920E-01, 1.000000E+00, -2.227821E-01, -3.258624E-01, -1.273052E-15, -1.000000E+00, 1.640876E-01, -1.056782E-01, -1.921316E-17, 1.000000E+00, -8.817699E-02, -2.096758E-02] - - [ 7.129259E-06, 7.454569E-01, -9.167562E-06, -1.000000E+00, -1.000000E+00, 2.163870E-14, 1.000000E+00, 4.881151E-07, 1.000000E+00, -2.342598E-13, -1.000000E+00, 2.888907E-01] - - [ 6.718206E-01, -5.981914E-01, 1.000000E+00, 4.627089E-01, -1.000000E+00, 2.561086E-14, -5.527086E-01, 9.999995E-01, 1.000000E+00, -2.370842E-14, 7.755968E-01, 7.111093E-01] - - [ -6.718277E-01, -1.472655E-01, -9.999908E-01, 5.372911E-01, -1.000000E+00, -2.948246E-14, -4.472914E-01, -1.000000E+00, 1.000000E+00, 2.421786E-13, 2.244032E-01, -1.000000E+00] - - [ 3.471225E-01, -1.164937E-01, -3.406011E-01, 1.270146E-02, 1.717482E-16, -7.071068E-01, -1.044383E-03, 1.981427E-02, 3.135696E-18, -7.071068E-01, 7.588181E-03, 2.355652E-02] - - [ -1.735640E-01, -2.306288E-01, 1.702982E-01, -2.618027E-01, 2.005039E-16, -7.071068E-01, -1.433852E-02, -9.907143E-03, -5.731771E-17, -7.071068E-01, 1.685613E-02, -1.774392E-02] - - [ -1.735585E-01, 3.471225E-01, 1.703029E-01, 2.491012E-01, -3.448823E-16, -7.071068E-01, 1.538290E-02, -9.907128E-03, 6.879481E-17, -7.071068E-01, -2.444431E-02, -5.812605E-03] - - [ 6.020226E-06, 6.294930E-01, -1.382997E-06, -1.508577E-01, -7.071068E-01, 3.764160E-17, -8.469045E-01, -4.133868E-07, -7.071068E-01, -7.565666E-14, -2.908911E-01, 8.403574E-02] - - [ 5.673116E-01, -5.051363E-01, 1.508577E-01, 6.980318E-02, -7.071068E-01, -2.233803E-15, 4.680914E-01, -8.469041E-01, -7.071068E-01, -1.794398E-15, 2.256143E-01, 2.068554E-01] - - [ -5.673176E-01, -1.243567E-01, -1.508563E-01, 8.105449E-02, -7.071068E-01, 2.652281E-14, 3.788131E-01, 8.469045E-01, -7.071068E-01, 8.086834E-14, 6.527689E-02, -2.908911E-01] -#____________________________________________________________________________________________________ -#CB Matrices (PhiM,PhiR) (reaction constraints applied) -PhiM: # 12 x 12 (CB modes) - - [ 1.305651E-01, -4.304859E-02, 1.240542E-01, -5.336841E-03, -1.296223E-16, -6.931400E-02, -8.229362E-03, 1.354623E-01, -1.232626E-17, 1.002980E-01, 5.893834E-02, 1.865451E-01] - - [ -6.528357E-02, -8.522561E-02, -6.202625E-02, 1.100030E-01, 1.193025E-15, -6.931400E-02, -1.129824E-01, -6.773118E-02, 7.627208E-17, 1.002980E-01, 1.309236E-01, -1.405149E-01] - - [ -6.528149E-02, 1.282742E-01, -6.202795E-02, -1.046662E-01, -9.744515E-16, -6.931400E-02, 1.212118E-01, -6.773108E-02, -2.128062E-17, 1.002980E-01, -1.898620E-01, -4.603028E-02] - - [ 9.308322E-07, 9.562288E-02, -2.552472E-06, -3.211975E-01, -7.654451E-01, 1.499865E-15, 7.387013E-01, 3.128417E-07, 1.107606E+00, -2.349579E-14, -2.153192E+00, 6.342037E-01] - - [ 8.771630E-02, -7.673252E-02, 2.784243E-01, 1.486209E-01, -7.654451E-01, 1.775191E-15, -4.082866E-01, 6.409177E-01, 1.107606E+00, -2.377907E-15, 1.670009E+00, 1.561103E+00] - - [ -8.771723E-02, -1.889036E-02, -2.784217E-01, 1.725766E-01, -7.654451E-01, -2.043547E-15, -3.304147E-01, -6.409180E-01, 1.107606E+00, 2.429003E-14, 4.831830E-01, -2.195307E+00] - - [ 4.532208E-02, -1.494314E-02, -9.483160E-02, 4.079678E-03, 1.314638E-16, -4.901240E-02, -7.714867E-04, 1.269932E-02, 3.473116E-18, -7.092141E-02, 1.633881E-02, 5.171380E-02] - - [ -2.266140E-02, -2.958373E-02, 4.741515E-02, -8.409038E-02, 1.534748E-16, -4.901240E-02, -1.059188E-02, -6.349666E-03, -6.348546E-17, -7.092141E-02, 3.629448E-02, -3.895335E-02] - - [ -2.266068E-02, 4.452687E-02, 4.741645E-02, 8.001070E-02, -2.639885E-16, -4.901240E-02, 1.136337E-02, -6.349657E-03, 7.619756E-17, -7.092141E-02, -5.263329E-02, -1.276045E-02] - - [ 7.860312E-07, 8.074771E-02, -3.850599E-07, -4.845511E-02, -5.412514E-01, 2.609090E-18, -6.256094E-01, -2.649471E-07, -7.831959E-01, -7.588213E-15, -6.263444E-01, 1.844842E-01] - - [ 7.407108E-02, -6.479595E-02, 4.200244E-02, 2.242061E-02, -5.412514E-01, -1.548338E-16, 3.457797E-01, -5.427961E-01, -7.831959E-01, -1.799746E-16, 4.857908E-01, 4.541111E-01] - - [ -7.407187E-02, -1.595176E-02, -4.200205E-02, 2.603450E-02, -5.412514E-01, 1.838402E-15, 2.798297E-01, 5.427963E-01, -7.831959E-01, 8.110934E-15, 1.405537E-01, -6.385954E-01] -PhiR: # 12 x 0 (Guyan modes) - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ - - [ -#____________________________________________________________________________________________________ -TI: # 0 x 6 (TP refpoint Transformation Matrix TI) - - [ ] - -#This summary file was closed on 20-Jan-2023 at 17:09:48. - diff --git a/f_subdyn_test/02/test.dat b/f_subdyn_test/02/test.dat index 478e355b46..9fe94d79e9 100644 --- a/f_subdyn_test/02/test.dat +++ b/f_subdyn_test/02/test.dat @@ -4,11 +4,11 @@ Example of pendulum. The first member, defined by joints 1 and 2, it's used as a False Echo - Echo input data to ".SD.ech" (flag) "DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. -True SttcSolve - Solve dynamics about static equilibrium point -True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. +False SttcSolve - Solve dynamics about static equilibrium point +False GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. -------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - 2 NDiv - Number of sub-elements per member + 1 NDiv - Number of sub-elements per member False CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. 0 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. 837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). @@ -62,7 +62,7 @@ PropSetID MatDens 1 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) - 1 7.0710678E-01 -7.0710678E-01 0.0000000E+00 4.0824829E-01 4.0824829E-01 -8.1649658E-01 5.7735027E-01 5.7735027E-01 5.7735027E-01 + 1 7.071067811865474617E-01 -7.071067811865474617E-01 0.000000000000000000E+00 4.082482904638629617E-01 4.082482904638629617E-01 -8.164965809277261455E-01 5.773502691896258421E-01 5.773502691896258421E-01 5.773502691896258421E-01 ------------------------ JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- 0 NCmass - Number of joints with concentrated masses; Global Coordinate System CMJointID JMass JMXX JMYY JMZZ diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 6ba0a8715a..005715cfbd 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -41,7 +41,7 @@ MODULE SD_FEM INTEGER(IntKi), PARAMETER :: CMassCol = 11 ! Number of columns in Concentrated Mass (CMJointID,JMass,JMXX,JMYY,JMZZ, Optional:JMXY,JMXZ,JMYZ,CGX,CGY,CGZ) ! Indices in Members table INTEGER(IntKi), PARAMETER :: iMType= 6 ! Index in Members table where the type is stored - INTEGER(IntKi), PARAMETER :: iMCOSMID = 7 ! Index in Members table where the type is stored + INTEGER(IntKi), PARAMETER :: iMDirCosID = 7 ! Index in Members table where the type is stored INTEGER(IntKi), PARAMETER :: iMProp= 4 ! Index in Members table where the PropSet1 and 2 are stored ! Indices in Joints table @@ -392,7 +392,7 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) sType='Rigid property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsR(:,1), Init%Members(iMem, n) ) else if (mType==idMemberX) then - sType='X property' + sType='Anisotropic beam property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsX(:,1), Init%Members(iMem, n) ) else ! Should not happen @@ -402,7 +402,7 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) ! Test that the two properties match for non-beam if (mType/=idMemberBeam) then if (Init%Members(iMem, iMProp)/=Init%Members(iMem, iMProp+1)) then - call Fatal('Property IDs should be the same at each joint for members with X section properties. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) + call Fatal('Property IDs should be the same at each joint for anisotropic beams, rigid links, and cables. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) return endif endif @@ -415,8 +415,8 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) p%Elems(iMem, iMType) = Init%Members(iMem, iMType) ! ! Column 7: member type - if (p%Elems(iMem, iMCOSMID)/=-1) then - p%Elems(iMem, iMCOSMID) = FINDLOCI(Init%COSMs(:,1), Init%Members(iMem, iMCOSMID) ) + if (p%Elems(iMem, iMDirCosID)/=-1) then + p%Elems(iMem, iMDirCosID) = FINDLOCI(Init%COSMs(:,1), Init%Members(iMem, iMDirCosID) ) endif END DO !iMem, loop through members @@ -450,7 +450,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) REAL(ReKi), ALLOCATABLE :: TempPropsX(:, :) INTEGER, ALLOCATABLE :: TempMembers(:, :) INTEGER :: knode, kelem, kprop, nprop - INTEGER :: COSM_ind + INTEGER :: iDirCos REAL(ReKi) :: x1, y1, z1, x2, y2, z2, dx, dy, dz, dd, dt, d1, d2, t1, t2 LOGICAL :: CreateNewProp INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeam, nMemberX !< Number of memebers per type @@ -562,7 +562,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) Prop1 = TempMembers(I, iMProp ) Prop2 = TempMembers(I, iMProp+1) eType = TempMembers(I, iMType ) - COSM_ind = TempMembers(I, iMCOSMID) + iDirCos = TempMembers(I, iMDirCosID) if (eType==idMemberRigid .OR. eType==idMemberCable) then ! --- Cables and rigid links are not subdivided and have same prop at nodes @@ -570,7 +570,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) Init%MemberNodes(I, 1) = Node1 Init%MemberNodes(I, 2) = Node2 kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, Node2, eType, Prop1, Prop1, p, COSM_ind) + CALL SetNewElem(kelem, Node1, Node2, eType, Prop1, Prop1, p, iDirCos) cycle endif @@ -605,8 +605,8 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) CreateNewProp = .NOT. ( EqualRealNos( dd , 0.0_ReKi ) .AND. EqualRealNos( dt , 0.0_ReKi ) ) - else - + elseif (eType == idMemberX) then + CreateNewProp = .FALSE. endif @@ -622,11 +622,11 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ! k, E1, G1, rho1, d, t, CALL SetNewProp(kprop, TempProps(Prop1, 2), TempProps(Prop1, 3), TempProps(Prop1, 4), d1+dd, t1+dt, TempProps) kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, knode, eType, Prop1, kprop, p, COSM_ind); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, Node1, knode, eType, Prop1, kprop, p, iDirCos); if (ErrStat>ErrID_None) return; nprop = kprop ELSE kelem = kelem + 1 - CALL SetNewElem(kelem, Node1, knode, eType, Prop1, Prop1, p, COSM_ind); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, Node1, knode, eType, Prop1, Prop1, p, iDirCos); if (ErrStat>ErrID_None) return; nprop = Prop1 ENDIF @@ -643,17 +643,17 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ! k, E1, G1, rho1, d, t CALL SetNewProp(kprop, TempProps(Prop1, 2), TempProps(Prop1, 3), Init%PropSetsB(Prop1, 4), d1 + J*dd, t1 + J*dt, TempProps) kelem = kelem + 1 - CALL SetNewElem(kelem, knode-1, knode, eType, nprop, kprop, p, COSM_ind); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode-1, knode, eType, nprop, kprop, p, iDirCos); if (ErrStat>ErrID_None) return; nprop = kprop ELSE kelem = kelem + 1 - CALL SetNewElem(kelem, knode-1, knode, eType, nprop, nprop, p, COSM_ind); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode-1, knode, eType, nprop, nprop, p, iDirCos); if (ErrStat>ErrID_None) return; ENDIF ENDDO ! the element connect to Node2 kelem = kelem + 1 - CALL SetNewElem(kelem, knode, Node2, eType, nprop, Prop2, p, COSM_ind); if (ErrStat>ErrID_None) return; + CALL SetNewElem(kelem, knode, Node2, eType, nprop, Prop2, p, iDirCos); if (ErrStat>ErrID_None) return; ENDDO ! loop over all members ! Init%NPropB = kprop @@ -724,14 +724,14 @@ SUBROUTINE SetNewNode(k, x, y, z, Init) END SUBROUTINE SetNewNode !> Set properties of element k - SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, COSM_ind) + SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, iDirCos) INTEGER, INTENT(IN ) :: k INTEGER, INTENT(IN ) :: n1 INTEGER, INTENT(IN ) :: n2 INTEGER, INTENT(IN ) :: eType INTEGER, INTENT(IN ) :: p1 INTEGER, INTENT(IN ) :: p2 - INTEGER, INTENT(IN ) :: COSM_ind + INTEGER, INTENT(IN ) :: iDirCos TYPE(SD_ParameterType), INTENT(INOUT) :: p if (k>size(p%Elems,1)) then call Fatal('Implementation Error. Attempt to add more element than space allocated.'); @@ -743,7 +743,7 @@ SUBROUTINE SetNewElem(k, n1, n2, etype, p1, p2, p, COSM_ind) p%Elems(k, iMProp ) = p1 p%Elems(k, iMProp+1) = p2 p%Elems(k, iMType) = eType - p%Elems(k, iMCOSMID) = COSM_ind + p%Elems(k, iMDirCosID) = iDirCos END SUBROUTINE SetNewElem !> Set material properties of element k, NOTE: this is only for a beam @@ -807,10 +807,9 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) INTEGER :: I INTEGER :: N1, N2 ! starting node and ending node in the element INTEGER :: P1, P2 ! property set numbers for starting and ending nodes - INTEGER :: COSM_ind + INTEGER :: iDirCos REAL(ReKi) :: D1, D2, t1, t2, E, G, rho ! properties of a section REAL(FEKi) :: DirCos(3, 3) ! direction cosine matrices - REAL(FEKi) :: Dx_, Dy_, Dz_! distances between nodes REAL(ReKi) :: L ! length of the element REAL(ReKi) :: r1, r2, t, Iyy, Jzz, Ixx, A, kappa, kappa_x, kappa_y, nu, ratioSq, D_inner, D_outer LOGICAL :: shear @@ -832,43 +831,31 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) P1 = p%Elems(I, iMProp ) P2 = p%Elems(I, iMProp+1) eType = p%Elems(I, iMType) - COSM_ind = p%Elems(I, iMCOSMID) + iDirCos = p%Elems(I, iMDirCosID) ! --- Properties common to all element types: L, DirCos (and Area and rho) Point1 = Init%Nodes(N1,2:4) Point2 = Init%Nodes(N2,2:4) - Dx_=Point2(1)-Point1(1) - Dy_=Point2(2)-Point1(2) - Dz_=Point2(3)-Point1(3) - - if (COSM_ind/=-1) then - L = real(sqrt( Dx_**2 + Dy_**2 + Dz_**2), ReKi) - DirCos(1, 1) = Init%COSMs(COSM_ind, 2) - DirCos(1, 2) = Init%COSMs(COSM_ind, 3) - DirCos(1, 3) = Init%COSMs(COSM_ind, 4) - DirCos(2, 1) = Init%COSMs(COSM_ind, 5) - DirCos(2, 2) = Init%COSMs(COSM_ind, 6) - DirCos(2, 3) = Init%COSMs(COSM_ind, 7) - DirCos(3, 1) = Init%COSMs(COSM_ind, 8) - DirCos(3, 2) = Init%COSMs(COSM_ind, 9) - DirCos(3, 3) = Init%COSMs(COSM_ind, 10) - DirCos = TRANSPOSE(DirCos) + if (iDirCos/=-1) then + CALL GetDirCos(Point1, Point2, DirCos, L, ErrStat2, ErrMsg2); if(Failed()) return ! sets L + + ! overwrites direction cosines + DirCos(1, 1) = Init%COSMs(iDirCos, 2) + DirCos(2, 1) = Init%COSMs(iDirCos, 3) + DirCos(3, 1) = Init%COSMs(iDirCos, 4) + DirCos(1, 2) = Init%COSMs(iDirCos, 5) + DirCos(2, 2) = Init%COSMs(iDirCos, 6) + DirCos(3, 2) = Init%COSMs(iDirCos, 7) + DirCos(1, 3) = Init%COSMs(iDirCos, 8) + DirCos(2, 3) = Init%COSMs(iDirCos, 9) + DirCos(3, 3) = Init%COSMs(iDirCos, 10) else CALL GetDirCos(Point1, Point2, DirCos, L, ErrStat2, ErrMsg2); if(Failed()) return ! L and DirCos endif - print *,DirCos(1, 1) - print *,DirCos(2, 1) - print *,DirCos(3, 1) - print *,DirCos(1, 2) - print *,DirCos(2, 2) - print *,DirCos(3, 2) - print *,DirCos(1, 3) - print *,DirCos(2, 3) - print *,DirCos(3, 3) - print *, L + p%ElemProps(i)%eType = eType p%ElemProps(i)%Length = L @@ -926,8 +913,8 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Iyy = Iyy p%ElemProps(i)%Jzz = Jzz p%ElemProps(i)%Shear = Shear - p%ElemProps(i)%kappa_x = kappa - p%ElemProps(i)%kappa_y = kappa + p%ElemProps(i)%Kappa_x = kappa + p%ElemProps(i)%Kappa_y = kappa p%ElemProps(i)%YoungE = E p%ElemProps(i)%ShearG = G p%ElemProps(i)%Area = A @@ -947,8 +934,8 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) G = (Init%PropSetsX(P1, 3) + Init%PropSetsX(P2, 3)) / 2 rho = (Init%PropSetsX(P1, 4) + Init%PropSetsX(P2, 4)) / 2 A = (Init%PropSetsX(P1, 5) + Init%PropSetsX(P2, 5)) / 2 - kappa_x = (Init%PropSetsX(P1, 6) + Init%PropSetsX(P2, 6)) / 2 / A - kappa_y = (Init%PropSetsX(P1, 7) + Init%PropSetsX(P2, 7)) / 2 / A + Kappa_x = (Init%PropSetsX(P1, 6) + Init%PropSetsX(P2, 6)) / 2 / A + Kappa_y = (Init%PropSetsX(P1, 7) + Init%PropSetsX(P2, 7)) / 2 / A Ixx = (Init%PropSetsX(P1, 8) + Init%PropSetsX(P2, 8)) / 2 Iyy = (Init%PropSetsX(P1, 9) + Init%PropSetsX(P2, 9)) / 2 Jzz = (Init%PropSetsX(P1, 10) + Init%PropSetsX(P2, 10)) / 2 @@ -957,8 +944,8 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Iyy = Iyy p%ElemProps(i)%Jzz = Jzz p%ElemProps(i)%Shear = Shear - p%ElemProps(i)%kappa_x = kappa_x - p%ElemProps(i)%kappa_y = kappa_y + p%ElemProps(i)%Kappa_x = kappa_x + p%ElemProps(i)%Kappa_y = kappa_y p%ElemProps(i)%YoungE = E p%ElemProps(i)%ShearG = G p%ElemProps(i)%Area = A @@ -2289,7 +2276,7 @@ SUBROUTINE ElemK(ep, Ke) REAL(FEKi), INTENT(OUT) :: Ke(12, 12) if (ep%eType==idMemberBeam) then - CALL ElemK_Beam( eP%Area, eP%Length, eP%Ixx, eP%Iyy, eP%Jzz, eP%Shear, eP%kappa_x, eP%kappa_y, eP%YoungE, eP%ShearG, eP%DirCos, Ke) + CALL ElemK_Beam( eP%Area, eP%Length, eP%Ixx, eP%Iyy, eP%Jzz, eP%Shear, eP%Kappa_x, eP%Kappa_y, eP%YoungE, eP%ShearG, eP%DirCos, Ke) else if (ep%eType==idMemberCable) then CALL ElemK_Cable(ep%Area, ep%Length, ep%YoungE, ep%T0, eP%DirCos, Ke) diff --git a/modules/subdyn/src/SubDyn.f90 b/modules/subdyn/src/SubDyn.f90 index 11cf6df172..82e1b5ec5c 100644 --- a/modules/subdyn/src/SubDyn.f90 +++ b/modules/subdyn/src/SubDyn.f90 @@ -1149,25 +1149,25 @@ SUBROUTINE SD_Input(SDInputFile, Init, p, ErrStat,ErrMsg) CALL ReadCom ( UnIn, SDInputFile, 'Members Units ' ,ErrStat2, ErrMsg2, UnEc ); if(Failed()) return CALL AllocAry(Init%Members, p%NMembers, MembersCol, 'Members', ErrStat2, ErrMsg2) Init%Members(:,:) = 0.0_ReKi -if (LegacyFormat) then - nColumns = 5 - Init%Members(:,iMType) = idMemberBeam ! Important, in legacy all members are beams - Init%Members(:,7) = -1 -else - nColumns = MembersCol -endif nColumns=MembersCol + +if (p%NMembers == 0) then + CALL Fatal(' Error in file "'//TRIM(SDInputFile)//'": There should be at least one SubDyn member: "'//trim(Line)//'"') + return +endif + CALL AllocAry(StrArray, nColumns, 'StrArray',ErrStat2,ErrMsg2); if (Failed()) return READ(UnIn, FMT='(A)', IOSTAT=ErrStat2) Line ; ErrMsg2='First line of members array'; if (Failed()) return CALL ReadCAryFromStr ( Line, StrArray, nColumns, 'Members', 'First line of members array', ErrStat2, ErrMsg2 ) if (ErrStat2/=0) then - ! We try with 4 columns (legacy format) + ! We try with one column less (legacy format) nColumns = MembersCol-1 deallocate(StrArray) CALL AllocAry(StrArray, nColumns, 'StrArray',ErrStat2,ErrMsg2); if (Failed()) return CALL ReadCAryFromStr ( Line, StrArray, nColumns, 'Members', 'First line of members array', ErrStat2, ErrMsg2 ); if(Failed()) return - call LegacyWarning('Member table contains 6 columns instead of 7, using default member cosines.') + call LegacyWarning('Member table contains 6 columns instead of 7, using default member directional cosines ID (-1) for all members.\ + The directional cosines will be computed based on the member nodes for all members.') Init%Members(:,7) = -1 endif ! Extract fields from first line @@ -1179,17 +1179,15 @@ SUBROUTINE SD_Input(SDInputFile, Init, p, ErrStat,ErrMsg) endif ENDDO -deallocate(StrArray) +if (allocated(StrArray)) then + deallocate(StrArray) +endif + ! ! Read remaining lines DO I = 2, p%NMembers CALL ReadAry( UnIn, SDInputFile, Dummy_IntAry, nColumns, 'Members line '//Num2LStr(I), 'Member number and connectivity ', ErrStat2,ErrMsg2, UnEc); if(Failed()) return - Init%Members(I,1:(nColumns)) = Dummy_IntAry(1:(nColumns)) -ENDDO - -! DO I = 1, p%NMembers -! CALL ReadAry( UnIn, SDInputFile, Dummy_IntAry, nColumns, 'Members line '//Num2LStr(I), 'Member number and connectivity ', ErrStat2,ErrMsg2, UnEc); if(Failed()) return -! Init%Members(I,1:(nColumns)) = Dummy_IntAry(1:(nColumns)) -! ENDDO + Init%Members(I,1:nColumns) = Dummy_IntAry(1:nColumns) +ENDDO IF (Check( p%NMembers < 1 , 'NMembers must be > 0')) return @@ -3798,7 +3796,7 @@ SUBROUTINE OutSummary(Init, p, m, InitInput, CBparams, Modes, Omega, Omega_Gy, E XYZ2 = Init%Joints(iNode2,2:4) CALL GetDirCos(XYZ1(1:3), XYZ2(1:3), DirCos, mLength, ErrStat, ErrMsg) DirCos=TRANSPOSE(DirCos) !This is now global to local - WRITE(UnSum, '("#",I9,9(ES16.7E2))') Init%Members(i,1), ((DirCos(k,j),j=1,3),k=1,3) + WRITE(UnSum, '("#",I9,9(ES28.18E2))') Init%Members(i,1), ((DirCos(k,j),j=1,3),k=1,3) ENDDO diff --git a/modules/subdyn/src/SubDyn_Registry.txt b/modules/subdyn/src/SubDyn_Registry.txt index b285711ab0..b3b78a1a2d 100644 --- a/modules/subdyn/src/SubDyn_Registry.txt +++ b/modules/subdyn/src/SubDyn_Registry.txt @@ -91,7 +91,7 @@ typedef ^ SD_InitType ReKi PropSetsB {:}{:} - - "Property typedef ^ SD_InitType ReKi PropSetsC {:}{:} - - "Property ID and values for cables" typedef ^ SD_InitType ReKi PropSetsR {:}{:} - - "Property ID and values for rigid link" typedef ^ SD_InitType ReKi PropSetsX {:}{:} - - "Extended property sets" -typedef ^ SD_InitType ReKi COSMs {:}{:} - - "Independent direction cosine matrices" +typedef ^ SD_InitType R8Ki COSMs {:}{:} - - "Independent direction cosine matrices" typedef ^ SD_InitType ReKi CMass {:}{:} - - "Concentrated mass information" typedef ^ SD_InitType ReKi JDampings {:} - - "Damping coefficients for internal modes" typedef ^ SD_InitType IntKi GuyanDampMod - - - "Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix]" diff --git a/modules/subdyn/src/SubDyn_Types.f90 b/modules/subdyn/src/SubDyn_Types.f90 index 715c5dc369..f3362db95c 100644 --- a/modules/subdyn/src/SubDyn_Types.f90 +++ b/modules/subdyn/src/SubDyn_Types.f90 @@ -131,7 +131,7 @@ MODULE SubDyn_Types REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: PropSetsC !< Property ID and values for cables [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: PropSetsR !< Property ID and values for rigid link [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: PropSetsX !< Extended property sets [-] - REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: COSMs !< Independent direction cosine matrices [-] + REAL(R8Ki) , DIMENSION(:,:), ALLOCATABLE :: COSMs !< Independent direction cosine matrices [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: CMass !< Concentrated mass information [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: JDampings !< Damping coefficients for internal modes [-] INTEGER(IntKi) :: GuyanDampMod !< Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] [-] From ee2c0be6173c0fcc211f3af7453f336c246ae7bd Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 23 Jan 2023 02:13:48 +0000 Subject: [PATCH 12/20] removed tests --- f_subdyn_test/01/driver.inp | 26 ----------- f_subdyn_test/01/test.dat | 93 ------------------------------------- f_subdyn_test/01/truth.dat | 92 ------------------------------------ f_subdyn_test/02/driver.inp | 26 ----------- f_subdyn_test/02/test.dat | 90 ----------------------------------- f_subdyn_test/log.txt | 2 - 6 files changed, 329 deletions(-) delete mode 100644 f_subdyn_test/01/driver.inp delete mode 100644 f_subdyn_test/01/test.dat delete mode 100644 f_subdyn_test/01/truth.dat delete mode 100644 f_subdyn_test/02/driver.inp delete mode 100644 f_subdyn_test/02/test.dat delete mode 100644 f_subdyn_test/log.txt diff --git a/f_subdyn_test/01/driver.inp b/f_subdyn_test/01/driver.inp deleted file mode 100644 index 0d834d94a9..0000000000 --- a/f_subdyn_test/01/driver.inp +++ /dev/null @@ -1,26 +0,0 @@ -SubDyn Driver file for stand-alone applications -Compatible with SubDyn v1.xx.x -False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo ----------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- -0 Gravity - Gravity (m/s^2). -0 WtrDpth - Water Depth (m) positive value. ----------------------- SubDyn ------------------------------------------------------------------- -"truth.dat" SDInputFile - It can be an absolute or relative path. -"truth" OutRootName - All the output files will have this name. -5000 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. -0.01 TimeInterval - TimeInterval for the simulation (sec). Time step. -0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) -0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. ----------------------- INPUTS ------------------------------------------------------------------- -0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) -"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). ----------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- -0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) ----------------------- LOADS -------------------------------------------------------------------- -1 nAppliedLoads - Number of applied loads at given nodes -ALJointID Fx Fy Fz Mx My Mz UnsteadyFile - (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) - 11 1000 0 0 0 0 0 -END of driver input file \ No newline at end of file diff --git a/f_subdyn_test/01/test.dat b/f_subdyn_test/01/test.dat deleted file mode 100644 index 11b80bf686..0000000000 --- a/f_subdyn_test/01/test.dat +++ /dev/null @@ -1,93 +0,0 @@ ------------ SubDyn v1.01.x MultiMember Support Structure Input File ------------ -Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. --------------------------- SIMULATION CONTROL --------------------------------- -False Echo - Echo input data to ".SD.ech" (flag) -"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. - 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. -True SttcSolve - Solve dynamics about static equilibrium point -True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. --------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- - 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - 2 NDiv - Number of sub-elements per member -True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. - 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. -837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). - 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] - 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] - 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] - 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 ----- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- - 3 NJoints - Number of joints (-) -JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff - (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) - 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 - 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 - 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 -------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- - 1 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) -RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] - (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) - 13 1 1 1 1 1 1 -------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- - 0 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs -IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss - (-) (flag) (flag) (flag) (flag) (flag) (flag) ------------------------------------ MEMBERS -------------------------------------- - 2 NMembers - Number of frame members -MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID - (-) (-) (-) (-) (-) (-) (-) - 1 11 12 3 3 4 2 - 2 12 13 3 3 4 2 ------------------- MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ - 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) -PropSetID YoungE ShearG MatDens XsecD XsecT - (-) (N/m2) (N/m2) (kg/m3) (m) (m) - 1 210E9 8.0769E10 7850 0.2 0.02 ------------------- MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ - 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) -PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J - (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) - 3 210E9 8.0769E10 7850 0.01131 0.0056548 0.0056548 0.0000463699 0.0000463699 0.000096 --------------------------- CABLE PROPERTIES ------------------------------------- - 0 NCablePropSets - Number of cable cable properties -PropSetID EA MatDens T0 CtrlChannel - (-) (N) (kg/m) (N) (-) ------------------------ RIGID LINK PROPERTIES ------------------------------------ - 0 NRigidPropSets - Number of rigid link properties -PropSetID MatDens - (-) (kg/m) ----------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ - 1 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below -COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 - (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) - 2 1 0 0 0 1 0 0 0 1 ------------------------- JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- - 0 NCmass - Number of joints with concentrated masses; Global Coordinate System -CMJointID JMass JMXX JMYY JMZZ - (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) ----------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ -True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. -0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) -0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) -True OutCOSM - Output cosine matrices with the selected output member forces (flag) -False OutAll - [T/F] Output all members' end forces - 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. -True TabDelim - Generate a tab-delimited output in the .SD.out file - 1 OutDec - Decimation of output in the .SD.out file -"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file -"A11" OutSFmt - Output format for header strings in the .SD.out file -------------------------- MEMBER OUTPUT LIST ------------------------------------------ - 1 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. -MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. - (-) (-) (-) - 1 1 1 -------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ -"M1N1RDxe" - -"M1N1RDye" - -"M1N1RDze" - -END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file diff --git a/f_subdyn_test/01/truth.dat b/f_subdyn_test/01/truth.dat deleted file mode 100644 index c5238016e1..0000000000 --- a/f_subdyn_test/01/truth.dat +++ /dev/null @@ -1,92 +0,0 @@ ------------ SubDyn v1.01.x MultiMember Support Structure Input File ------------ -Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. --------------------------- SIMULATION CONTROL --------------------------------- -False Echo - Echo input data to ".SD.ech" (flag) -"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. - 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. -True SttcSolve - Solve dynamics about static equilibrium point -True GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. --------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- - 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - 2 NDiv - Number of sub-elements per member -True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. - 5 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. -837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). - 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] - 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] - 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] - 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 ----- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- - 3 NJoints - Number of joints (-) -JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff - (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) - 11 0.00000 0.00000 0.00000 1 0.0 0.0 0.0 0.0 - 12 0.00000 0.00000 -1.00000 1 0.0 1.0 0.0 0 - 13 0.00000 0.00000 -6.00000 1 0.0 0.0 0.0 0.0 -------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- - 1 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) -RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] - (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) - 13 1 1 1 1 1 1 -------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- - 0 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs -IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss - (-) (flag) (flag) (flag) (flag) (flag) (flag) ------------------------------------ MEMBERS -------------------------------------- - 2 NMembers - Number of frame members -MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID - (-) (-) (-) (-) (-) (-) (-) - 1 11 12 1 1 1 - 2 12 13 1 1 1 ------------------- MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ - 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) -PropSetID YoungE ShearG MatDens XsecD XsecT - (-) (N/m2) (N/m2) (kg/m3) (m) (m) - 1 210E9 8.0769E10 7850 0.2 0.02 ------------------- MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ - 1 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) -PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J - (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) - 3 210E9 8.0769E10 7850 0.2 0.53 0.53 1 1 1 --------------------------- CABLE PROPERTIES ------------------------------------- - 0 NCablePropSets - Number of cable cable properties -PropSetID EA MatDens T0 CtrlChannel - (-) (N) (kg/m) (N) (-) ------------------------ RIGID LINK PROPERTIES ------------------------------------ - 0 NRigidPropSets - Number of rigid link properties -PropSetID MatDens - (-) (kg/m) ----------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ - 0 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below -COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 - (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) ------------------------- JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- - 0 NCmass - Number of joints with concentrated masses; Global Coordinate System -CMJointID JMass JMXX JMYY JMZZ - (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) ----------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ -True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. -0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) -0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) -True OutCOSM - Output cosine matrices with the selected output member forces (flag) -False OutAll - [T/F] Output all members' end forces - 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. -True TabDelim - Generate a tab-delimited output in the .SD.out file - 1 OutDec - Decimation of output in the .SD.out file -"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file -"A11" OutSFmt - Output format for header strings in the .SD.out file -------------------------- MEMBER OUTPUT LIST ------------------------------------------ - 1 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. -MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. - (-) (-) (-) - 1 1 1 -------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ -"M1N1RDxe" - -"M1N1RDye" - -"M1N1RDze" - -END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file diff --git a/f_subdyn_test/02/driver.inp b/f_subdyn_test/02/driver.inp deleted file mode 100644 index 571d6d0a71..0000000000 --- a/f_subdyn_test/02/driver.inp +++ /dev/null @@ -1,26 +0,0 @@ -SubDyn Driver file for stand-alone applications -Compatible with SubDyn v1.xx.x -False Echo - Echo the input file data (flag). In order to write down the driver used for tracking purposes. The name will be according to OutRootName. For example: SubDyn_outputs.dvr.echo ----------------------- ENVIRONMENTAL CONDITIONS ------------------------------------------------- -0 Gravity - Gravity (m/s^2). -6 WtrDpth - Water Depth (m) positive value. ----------------------- SubDyn ------------------------------------------------------------------- -"test.dat" SDInputFile - It can be an absolute or relative path. -"test" OutRootName - All the output files will have this name. -10 NSteps - Number of time steps in the simulations (-). Simulation time = Nteps*TimeInterval. -0.00006 TimeInterval - TimeInterval for the simulation (sec). Time step. -0 0 0 TP_RefPoint - Location (x,y,z) of the TP reference point in global coordinates (m) -0 SubRotateZ - Rotation angle of the structure geometry in [deg] about the global Z axis. For example to orientate one jacket. ----------------------- INPUTS ------------------------------------------------------------------- -0 InputsMod - Inputs model {0: all inputs are zero for every timestep, 1: steady state inputs, 2: read inputs from a file (InputsFile) to reproduce a time-serie} (switch) -"" InputsFile - Name of the inputs file if InputsMod = 2. This file has to be defined as follows: i: No header. ii: It has NSteps+1 rows and each row (i) has in the first column the time: t = (i-1)*TimeInterval. The successive columns define the displacements ([m], [rad]), velocities ([m/s], [rad/s]) and accelerations ([m/s^2], [rad/s^2]). ----------------------- STEADY INPUTS (for InputsMod = 1) ---------------------------------------- -0.0 0.0 0.0 0.0 0.0 0.0 uTPInSteady - input displacements and rotations: ([m], [rad]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational velocities ([m/s], [rad/s]) -0.0 0.0 0.0 0.0 0.0 0.0 uDotTPInSteady - input translational and rotational accelerations([m/s^2], [rad/s^2]) ----------------------- LOADS -------------------------------------------------------------------- -1 nAppliedLoads - Number of applied loads at given nodes -ALJointID Fx Fy Fz Mx My Mz UnsteadyFile - (-) (N) (N) (N) (Nm) (Nm) (Nm) (-) - 2 1e6 1e6 0 0 0 0 -END of driver input file \ No newline at end of file diff --git a/f_subdyn_test/02/test.dat b/f_subdyn_test/02/test.dat deleted file mode 100644 index 9fe94d79e9..0000000000 --- a/f_subdyn_test/02/test.dat +++ /dev/null @@ -1,90 +0,0 @@ ------------ SubDyn v1.01.x MultiMember Support Structure Input File ------------ -Example of pendulum. The first member, defined by joints 1 and 2, it's used as a dummy beam since the revolute joint cannot be connected to the interface joint directly. --------------------------- SIMULATION CONTROL --------------------------------- -False Echo - Echo input data to ".SD.ech" (flag) -"DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. - 4 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. -False SttcSolve - Solve dynamics about static equilibrium point -False GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. --------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- - 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - 1 NDiv - Number of sub-elements per member -False CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. - 0 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. -837, 1, 3.9, 1, 25.24 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). - 0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix] - 0.000, 0.003835059 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] - 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] - 0.354293E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, -0.556744E+01, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 - -0.556744E+01, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.874879E+02, 0.000000E+00 - 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00, 0.000000E+00 ----- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- - 2 NJoints - Number of joints (-) -JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff - (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) - 1 0 0 0 1 0.0 0.0 0.0 0.0 - 2 1 1 1 1 0.0 0.0 0.0 0.0 -------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- - 1 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) -RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] - (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) - 1 1 1 1 1 1 1 -------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- - 0 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs -IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss - (-) (flag) (flag) (flag) (flag) (flag) (flag) ------------------------------------ MEMBERS -------------------------------------- - 1 NMembers - Number of frame members -MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID - (-) (-) (-) (-) (-) (-) (-) - 1 1 2 1 1 1 1 ------------------- MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ - 1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) -PropSetID YoungE ShearG MatDens XsecD XsecT - (-) (N/m2) (N/m2) (kg/m3) (m) (m) - 1 210E9 8.0769E10 7850 0.2 0.02 ------------------- MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ - 0 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) -PropSetID YoungE ShearG MatDens XsecA A_x A_y Ixx Iyy J - (-) (N/m2) (N/m2) (kg/m3) (m2) (-) (-) (m4) (m4) (m4) 1 1 --------------------------- CABLE PROPERTIES ------------------------------------- - 0 NCablePropSets - Number of cable cable properties -PropSetID EA MatDens T0 CtrlChannel - (-) (N) (kg/m) (N) (-) ------------------------ RIGID LINK PROPERTIES ------------------------------------ - 0 NRigidPropSets - Number of rigid link properties -PropSetID MatDens - (-) (kg/m) ----------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ - 1 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below -COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 - (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) - 1 7.071067811865474617E-01 -7.071067811865474617E-01 0.000000000000000000E+00 4.082482904638629617E-01 4.082482904638629617E-01 -8.164965809277261455E-01 5.773502691896258421E-01 5.773502691896258421E-01 5.773502691896258421E-01 ------------------------- JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- - 0 NCmass - Number of joints with concentrated masses; Global Coordinate System -CMJointID JMass JMXX JMYY JMZZ - (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) ----------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ -True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. -1 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) -1 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) -True OutCOSM - Output cosine matrices with the selected output member forces (flag) -False OutAll - [T/F] Output all members' end forces - 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. -True TabDelim - Generate a tab-delimited output in the .SD.out file - 1 OutDec - Decimation of output in the .SD.out file -"ES16.8e2" OutFmt - Output format for numerical results in the .SD.out file -"A11" OutSFmt - Output format for header strings in the .SD.out file -------------------------- MEMBER OUTPUT LIST ------------------------------------------ - 1 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. -MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. - (-) (-) (-) - 1 2 1 2 -------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------ -"M1N2RDxe" - -"M1N2RDye" - -"M1N2RDze" - -END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line) \ No newline at end of file diff --git a/f_subdyn_test/log.txt b/f_subdyn_test/log.txt deleted file mode 100644 index 5db808c4f0..0000000000 --- a/f_subdyn_test/log.txt +++ /dev/null @@ -1,2 +0,0 @@ -1. vertical cantilever -2. angled-cantilever (different mode shapes but same mode frequencies) From 3b687b85132d5e0cd4de7289294e2f255b2225fd Mon Sep 17 00:00:00 2001 From: sam Date: Tue, 24 Jan 2023 01:38:31 +0000 Subject: [PATCH 13/20] updated FINDLOCI interfaces --- modules/subdyn/src/FEM.f90 | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/modules/subdyn/src/FEM.f90 b/modules/subdyn/src/FEM.f90 index 35cee4d7fd..0fe0376f29 100644 --- a/modules/subdyn/src/FEM.f90 +++ b/modules/subdyn/src/FEM.f90 @@ -26,8 +26,9 @@ MODULE FEM INTEGER, PARAMETER :: LaKi = R8Ki ! Define the kind to be used for LaPack INTERFACE FINDLOCI ! In the future, use FINDLOC from intrinsic - MODULE PROCEDURE FINDLOCI_ReKi + MODULE PROCEDURE FINDLOCI_R8Ki MODULE PROCEDURE FINDLOCI_IntKi + MODULE PROCEDURE FINDLOCI_SiKi END INTERFACE @@ -836,8 +837,8 @@ END SUBROUTINE InsertDOFrows !------------------------------------------------------------------------------------------------------ !> Returns index of val in Array (val is an integer!) ! NOTE: in the future use intrinsinc function findloc -FUNCTION FINDLOCI_ReKi(Array, Val) result(i) - real(ReKi) , dimension(:), intent(in) :: Array !< Array to search in +FUNCTION FINDLOCI_R8Ki(Array, Val) result(i) + real(R8Ki) , dimension(:), intent(in) :: Array !< Array to search in integer(IntKi), intent(in) :: val !< Val integer(IntKi) :: i !< Index of joint in joint table i = 1 @@ -866,6 +867,21 @@ FUNCTION FINDLOCI_IntKi(Array, Val) result(i) enddo i=-1 END FUNCTION + +FUNCTION FINDLOCI_SiKi(Array, Val) result(i) + real(SiKi), dimension(:), intent(in) :: Array !< Array to search in + integer(IntKi), intent(in) :: val !< Val + integer(IntKi) :: i !< Index of joint in joint table + i = 1 + do while ( i <= size(Array) ) + if ( Val == Array(i) ) THEN + return ! Exit when found + else + i = i + 1 + endif + enddo + i=-1 +END FUNCTION !------------------------------------------------------------------------------------------------------ SUBROUTINE RigidTransformationLine(dx,dy,dz,iLine,Line) real(ReKi), INTENT(IN) :: dx,dy,dz From 5b4b670bd59418ceeb43407986eb41350ec2be44 Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 14 Apr 2023 14:46:01 -0600 Subject: [PATCH 14/20] SD: renaming members to BeamCirc and BeamArb, adding comments --- .../subdyn/examples/OC4_Jacket_SD_Input.dat | 234 +++++++++--------- modules/subdyn/src/SD_FEM.f90 | 78 +++--- modules/subdyn/src/SubDyn.f90 | 16 +- modules/subdyn/src/SubDyn_Types.f90 | 18 +- 4 files changed, 184 insertions(+), 162 deletions(-) diff --git a/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat b/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat index 67f6f15ceb..3879fa9f39 100644 --- a/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat +++ b/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat @@ -111,122 +111,122 @@ IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss 56 1 1 1 1 1 1 ----------------------------------- MEMBERS -------------------------------------- 112 NMembers - Number of frame members -MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID +MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID ![use COSMID=-1 for default calculation] (-) (-) (-) (-) (-) (-) (-) - 1 1 2 2 2 1 - 2 2 3 2 2 1 - 3 3 4 2 2 1 - 4 4 5 2 2 1 - 5 6 7 2 2 1 - 6 7 8 2 2 1 - 7 8 9 2 2 1 - 8 9 10 2 2 1 - 9 11 12 2 2 1 - 10 12 13 2 2 1 - 11 13 14 2 2 1 - 12 14 15 2 2 1 - 13 16 17 2 2 1 - 14 17 18 2 2 1 - 15 18 19 2 2 1 - 16 19 20 2 2 1 - 17 5 21 3 3 1 - 18 21 22 3 3 1 - 19 22 23 3 3 1 - 20 23 24 3 3 1 - 21 10 25 3 3 1 - 22 25 26 3 3 1 - 23 26 27 3 3 1 - 24 27 28 3 3 1 - 25 15 29 3 3 1 - 26 29 30 3 3 1 - 27 30 31 3 3 1 - 28 31 32 3 3 1 - 29 20 33 3 3 1 - 30 33 34 3 3 1 - 31 34 35 3 3 1 - 32 35 36 3 3 1 - 33 8 3 1 1 1 - 34 13 8 1 1 1 - 35 13 18 1 1 1 - 36 18 3 1 1 1 - 37 4 37 1 1 1 - 38 37 20 1 1 1 - 39 19 37 1 1 1 - 40 37 5 1 1 1 - 41 9 38 1 1 1 - 42 38 15 1 1 1 - 43 14 38 1 1 1 - 44 38 10 1 1 1 - 45 4 39 1 1 1 - 46 39 10 1 1 1 - 47 9 39 1 1 1 - 48 39 5 1 1 1 - 49 19 40 1 1 1 - 50 40 15 1 1 1 - 51 14 40 1 1 1 - 52 40 20 1 1 1 - 53 5 41 1 1 1 - 54 41 33 1 1 1 - 55 20 41 1 1 1 - 56 41 21 1 1 1 - 57 10 42 1 1 1 - 58 42 29 1 1 1 - 59 15 42 1 1 1 - 60 42 25 1 1 1 - 61 5 43 1 1 1 - 62 43 25 1 1 1 - 63 10 43 1 1 1 - 64 43 21 1 1 1 - 65 20 44 1 1 1 - 66 44 29 1 1 1 - 67 15 44 1 1 1 - 68 44 33 1 1 1 - 69 21 45 1 1 1 - 70 45 34 1 1 1 - 71 33 45 1 1 1 - 72 45 22 1 1 1 - 73 25 46 1 1 1 - 74 46 30 1 1 1 - 75 29 46 1 1 1 - 76 46 26 1 1 1 - 77 21 47 1 1 1 - 78 47 26 1 1 1 - 79 25 47 1 1 1 - 80 47 22 1 1 1 - 81 33 48 1 1 1 - 82 48 30 1 1 1 - 83 29 48 1 1 1 - 84 48 34 1 1 1 - 85 22 49 1 1 1 - 86 49 35 1 1 1 - 87 34 49 1 1 1 - 88 49 23 1 1 1 - 89 26 50 1 1 1 - 90 50 31 1 1 1 - 91 30 50 1 1 1 - 92 50 27 1 1 1 - 93 22 51 1 1 1 - 94 51 27 1 1 1 - 95 26 51 1 1 1 - 96 51 23 1 1 1 - 97 34 52 1 1 1 - 98 52 31 1 1 1 - 99 30 52 1 1 1 - 100 52 35 1 1 1 - 101 24 53 4 4 1 - 102 28 54 4 4 1 - 103 32 56 4 4 1 - 104 36 55 4 4 1 - 105 58 1 5 5 1 - 106 57 16 5 5 1 - 107 60 6 5 5 1 - 108 59 11 5 5 1 - 109 62 58 6 6 1 - 110 61 57 6 6 1 - 111 64 60 6 6 1 - 112 63 59 6 6 1 ------------------- MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ - 6 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) + 1 1 2 2 2 1 -1 + 2 2 3 2 2 1 -1 + 3 3 4 2 2 1 -1 + 4 4 5 2 2 1 -1 + 5 6 7 2 2 1 -1 + 6 7 8 2 2 1 -1 + 7 8 9 2 2 1 -1 + 8 9 10 2 2 1 -1 + 9 11 12 2 2 1 -1 + 10 12 13 2 2 1 -1 + 11 13 14 2 2 1 -1 + 12 14 15 2 2 1 -1 + 13 16 17 2 2 1 -1 + 14 17 18 2 2 1 -1 + 15 18 19 2 2 1 -1 + 16 19 20 2 2 1 -1 + 17 5 21 3 3 1 -1 + 18 21 22 3 3 1 -1 + 19 22 23 3 3 1 -1 + 20 23 24 3 3 1 -1 + 21 10 25 3 3 1 -1 + 22 25 26 3 3 1 -1 + 23 26 27 3 3 1 -1 + 24 27 28 3 3 1 -1 + 25 15 29 3 3 1 -1 + 26 29 30 3 3 1 -1 + 27 30 31 3 3 1 -1 + 28 31 32 3 3 1 -1 + 29 20 33 3 3 1 -1 + 30 33 34 3 3 1 -1 + 31 34 35 3 3 1 -1 + 32 35 36 3 3 1 -1 + 33 8 3 1 1 1 -1 + 34 13 8 1 1 1 -1 + 35 13 18 1 1 1 -1 + 36 18 3 1 1 1 -1 + 37 4 37 1 1 1 -1 + 38 37 20 1 1 1 -1 + 39 19 37 1 1 1 -1 + 40 37 5 1 1 1 -1 + 41 9 38 1 1 1 -1 + 42 38 15 1 1 1 -1 + 43 14 38 1 1 1 -1 + 44 38 10 1 1 1 -1 + 45 4 39 1 1 1 -1 + 46 39 10 1 1 1 -1 + 47 9 39 1 1 1 -1 + 48 39 5 1 1 1 -1 + 49 19 40 1 1 1 -1 + 50 40 15 1 1 1 -1 + 51 14 40 1 1 1 -1 + 52 40 20 1 1 1 -1 + 53 5 41 1 1 1 -1 + 54 41 33 1 1 1 -1 + 55 20 41 1 1 1 -1 + 56 41 21 1 1 1 -1 + 57 10 42 1 1 1 -1 + 58 42 29 1 1 1 -1 + 59 15 42 1 1 1 -1 + 60 42 25 1 1 1 -1 + 61 5 43 1 1 1 -1 + 62 43 25 1 1 1 -1 + 63 10 43 1 1 1 -1 + 64 43 21 1 1 1 -1 + 65 20 44 1 1 1 -1 + 66 44 29 1 1 1 -1 + 67 15 44 1 1 1 -1 + 68 44 33 1 1 1 -1 + 69 21 45 1 1 1 -1 + 70 45 34 1 1 1 -1 + 71 33 45 1 1 1 -1 + 72 45 22 1 1 1 -1 + 73 25 46 1 1 1 -1 + 74 46 30 1 1 1 -1 + 75 29 46 1 1 1 -1 + 76 46 26 1 1 1 -1 + 77 21 47 1 1 1 -1 + 78 47 26 1 1 1 -1 + 79 25 47 1 1 1 -1 + 80 47 22 1 1 1 -1 + 81 33 48 1 1 1 -1 + 82 48 30 1 1 1 -1 + 83 29 48 1 1 1 -1 + 84 48 34 1 1 1 -1 + 85 22 49 1 1 1 -1 + 86 49 35 1 1 1 -1 + 87 34 49 1 1 1 -1 + 88 49 23 1 1 1 -1 + 89 26 50 1 1 1 -1 + 90 50 31 1 1 1 -1 + 91 30 50 1 1 1 -1 + 92 50 27 1 1 1 -1 + 93 22 51 1 1 1 -1 + 94 51 27 1 1 1 -1 + 95 26 51 1 1 1 -1 + 96 51 23 1 1 1 -1 + 97 34 52 1 1 1 -1 + 98 52 31 1 1 1 -1 + 99 30 52 1 1 1 -1 + 100 52 35 1 1 1 -1 + 101 24 53 4 4 1 -1 + 102 28 54 4 4 1 -1 + 103 32 56 4 4 1 -1 + 104 36 55 4 4 1 -1 + 105 58 1 5 5 1 -1 + 106 57 16 5 5 1 -1 + 107 60 6 5 5 1 -1 + 108 59 11 5 5 1 -1 + 109 62 58 6 6 1 -1 + 110 61 57 6 6 1 -1 + 111 64 60 6 6 1 -1 + 112 63 59 6 6 1 -1 +------------------ MEMBER CROSS-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ + 6 NPropSets - Number of structurally unique circular cross-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) PropSetID YoungE ShearG MatDens XsecD XsecT (-) (N/m2) (N/m2) (kg/m3) (m) (m) 1 2.10000e+11 8.07690e+10 7850.00 0.800000 0.020000 @@ -235,8 +235,8 @@ PropSetID YoungE ShearG MatDens XsecD X 4 2.10000e+11 8.07690e+10 7850.00 1.200000 0.040000 5 2.10000e+11 8.07690e+10 3339.12 2.082000 0.491000 6 2.10000e+11 8.07690e+10 7850.00 2.082000 0.060000 ------------------- MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ - 0 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored) +------------------ MEMBER CROSS-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ + 0 NXPropSets - Number of structurally unique non-circular cross-sections (if 0 the following table is ignored) PropSetID YoungE ShearG MatDens XsecA XsecAsx XsecAsy XsecJxx XsecJyy XsecJ0 (-) (N/m2) (N/m2) (kg/m3) (m2) (m2) (m2) (m4) (m4) (m4) -------------------------- CABLE PROPERTIES ------------------------------------- diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 005715cfbd..6a64a54e89 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -41,7 +41,7 @@ MODULE SD_FEM INTEGER(IntKi), PARAMETER :: CMassCol = 11 ! Number of columns in Concentrated Mass (CMJointID,JMass,JMXX,JMYY,JMZZ, Optional:JMXY,JMXZ,JMYZ,CGX,CGY,CGZ) ! Indices in Members table INTEGER(IntKi), PARAMETER :: iMType= 6 ! Index in Members table where the type is stored - INTEGER(IntKi), PARAMETER :: iMDirCosID = 7 ! Index in Members table where the type is stored + INTEGER(IntKi), PARAMETER :: iMDirCosID = 7 ! Index in Members table where the type is stored INTEGER(IntKi), PARAMETER :: iMProp= 4 ! Index in Members table where the PropSet1 and 2 are stored ! Indices in Joints table @@ -56,10 +56,10 @@ MODULE SD_FEM INTEGER(IntKi), PARAMETER :: idJointBall = 4 ! ID for member types - INTEGER(IntKi), PARAMETER :: idMemberBeam = 1 + INTEGER(IntKi), PARAMETER :: idMemberBeamCirc = 1 INTEGER(IntKi), PARAMETER :: idMemberCable = 2 INTEGER(IntKi), PARAMETER :: idMemberRigid = 3 - INTEGER(IntKi), PARAMETER :: idMemberX = 4 + INTEGER(IntKi), PARAMETER :: idMemberBeamArb = 4 ! Types of Boundary Conditions INTEGER(IntKi), PARAMETER :: idBC_Fixed = 11 ! Fixed BC @@ -382,8 +382,8 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) ! NOTE: this index has different meaning depending on the member type ! DO n=iMProp,iMProp+1 - if (mType==idMemberBeam) then - sType='Member x-section property' + if (mType==idMemberBeamCirc) then + sType='Member circular cross-section property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsB(:,1), Init%Members(iMem, n) ) else if (mType==idMemberCable) then sType='Cable property' @@ -391,8 +391,8 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) else if (mType==idMemberRigid) then sType='Rigid property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsR(:,1), Init%Members(iMem, n) ) - else if (mType==idMemberX) then - sType='Anisotropic beam property' + else if (mType==idMemberBeamArb) then + sType='Member arbitrary cross-section property' p%Elems(iMem,n) = FINDLOCI(Init%PropSetsX(:,1), Init%Members(iMem, n) ) else ! Should not happen @@ -400,9 +400,10 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) STOP end if ! Test that the two properties match for non-beam - if (mType/=idMemberBeam) then + if (mType/=idMemberBeamCirc) then if (Init%Members(iMem, iMProp)/=Init%Members(iMem, iMProp+1)) then - call Fatal('Property IDs should be the same at each joint for anisotropic beams, rigid links, and cables. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) + ! NOTE: for non circular beams, we could just check that E, rho, G are the same for both properties + call Fatal('Property IDs should be the same at both joint for non circular beams, rigid links, and cables. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) return endif endif @@ -453,7 +454,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) INTEGER :: iDirCos REAL(ReKi) :: x1, y1, z1, x2, y2, z2, dx, dy, dz, dd, dt, d1, d2, t1, t2 LOGICAL :: CreateNewProp - INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeam, nMemberX !< Number of memebers per type + INTEGER(IntKi) :: nMemberCable, nMemberRigid, nMemberBeamCirc, nMemberBeamArb !< Number of memebers per type INTEGER(IntKi) :: eType !< Element Type INTEGER(IntKi) :: ErrStat2 CHARACTER(ErrMsgLen) :: ErrMsg2 @@ -468,17 +469,17 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ENDIF ! --- Total number of element - nMemberBeam = count(Init%Members(:,iMType) == idMemberBeam) - nMemberCable = count(Init%Members(:,iMType) == idMemberCable) - nMemberRigid = count(Init%Members(:,iMType) == idMemberRigid) - nMemberX = count(Init%Members(:,iMType) == idMemberX) - Init%NElem = (nMemberBeam + nMemberX)*Init%NDiv + nMemberCable + nMemberRigid ! NOTE: only Beams are divided - IF ( (nMemberBeam+nMemberRigid+nMemberCable+nMemberX) /= size(Init%Members,1)) then + nMemberBeamCirc = count(Init%Members(:,iMType) == idMemberBeamCirc) + nMemberCable = count(Init%Members(:,iMType) == idMemberCable) + nMemberRigid = count(Init%Members(:,iMType) == idMemberRigid) + nMemberBeamArb = count(Init%Members(:,iMType) == idMemberBeamArb) + Init%NElem = (nMemberBeamCirc + nMemberBeamArb)*Init%NDiv + nMemberCable + nMemberRigid ! NOTE: only Beams are divided + IF ( (nMemberBeamCirc+nMemberRigid+nMemberCable+nMemberBeamArb) /= size(Init%Members,1)) then CALL Fatal(' Member list contains an element which is not a beam, a cable or a rigid link'); return ENDIF ! Total number of nodes - Depends on division and number of nodes per element - p%nNodes = Init%NJoints + ( Init%NDiv - 1 )*(nMemberBeam + nMemberX) + p%nNodes = Init%NJoints + ( Init%NDiv - 1 )*(nMemberBeamCirc + nMemberBeamArb) ! check the number of interior modes IF ( p%nDOFM > 6*(p%nNodes - p%nNodes_I - p%nNodes_C) ) THEN @@ -506,22 +507,25 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) return endif - if (eType==idMemberBeam) then + if (eType==idMemberBeamCirc) then if ( ( .not. EqualRealNos(Init%PropSetsB(Prop1, 2),Init%PropSetsB(Prop2, 2) ) ) & .or. ( .not. EqualRealNos(Init%PropSetsB(Prop1, 3),Init%PropSetsB(Prop2, 3) ) ) & .or. ( .not. EqualRealNos(Init%PropSetsB(Prop1, 4),Init%PropSetsB(Prop2, 4) ) ) ) then call Fatal(' Material E, G and rho in a member must be the same (See member at position '//trim(num2lstr(I))//' in member list)') return endif + else if (eType==idMemberBeamArb) then + if (Prop1 /= Prop2 ) then + call Fatal(' Members using arbitrary cross section properties must have the same properties on both ends. See member at position '//trim(num2lstr(I))//' in member list)') + return + endif + !if ( ( .not. EqualRealNos(Init%PropSetsX(Prop1, 2),Init%PropSetsX(Prop2, 2) ) ) & + ! .or. ( .not. EqualRealNos(Init%PropSetsX(Prop1, 3),Init%PropSetsX(Prop2, 3) ) ) & + ! .or. ( .not. EqualRealNos(Init%PropSetsX(Prop1, 4),Init%PropSetsX(Prop2, 4) ) ) ) then + ! call Fatal(' Material E, G and rho in a member must be the same (See member at position '//trim(num2lstr(I))//' in member list)') + ! return + !endif endif ! is beam - - if (eType==idMemberX) then - if (Prop1 /= Prop2 ) then - call Fatal(' Members using X properties must have the same properties at the (See member at position '//trim(num2lstr(I))//' in member list)') - return - endif - endif ! is beam - enddo @@ -541,7 +545,8 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ! Initialize Temp arrays that will contain user inputs + input from the subdivided members ! We don't know how many properties will be needed, so allocated to size MaxNProp - MaxNProp = Init%NPropSetsB + Init%NElem*NNE ! Maximum possible number of property sets (temp): This is property set per element node, for all elements (bjj, added Init%NPropSets to account for possibility of entering many unused prop sets) + ! TODO add Init%NPropSetsX and use PropSetXCol in the future or allocate a new TempProps + MaxNProp = Init%NPropSetsB + Init%NElem*NNE ! Maximum possible number of property sets (temp): This is property set per element node, for all elements (bjj, added Init%NPropSets to account for possibility of entering many unused prop sets) CALL AllocAry(TempMembers, p%NMembers, MembersCol , 'TempMembers', ErrStat2, ErrMsg2); if(Failed()) return CALL AllocAry(TempProps, MaxNProp, PropSetsBCol,'TempProps', ErrStat2, ErrMsg2); if(Failed()) return TempProps = -9999. @@ -590,7 +595,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) dy = ( y2 - y1 )/Init%NDiv dz = ( z2 - z1 )/Init%NDiv - if (eType == idMemberBeam) then + if (eType == idMemberBeamCirc) then d1 = TempProps(Prop1, 5) t1 = TempProps(Prop1, 6) @@ -605,9 +610,10 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) CreateNewProp = .NOT. ( EqualRealNos( dd , 0.0_ReKi ) .AND. EqualRealNos( dt , 0.0_ReKi ) ) - elseif (eType == idMemberX) then + elseif (eType == idMemberBeamArb) then CreateNewProp = .FALSE. + CALL WrScr('[WARNING] Members with non-circular cross-sections are currently not divided (member at position '//TRIM(Num2LStr(I))//' ).') endif @@ -874,7 +880,7 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%T0 = -9.99e+36 ! --- Properties that are specific to some elements - if (eType==idMemberBeam) then + if (eType==idMemberBeamCirc) then E = Init%PropsB(P1, 2) ! TODO E2 G = Init%PropsB(P1, 3) ! TODO G2 rho = Init%PropsB(P1, 4) ! TODO rho2 @@ -921,7 +927,7 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Rho = rho p%ElemProps(i)%D = (/D1, D2/) - else if (eType==idMemberX) then + else if (eType==idMemberBeamArb) then p%ElemProps(i)%eType = 1 if( Init%FEMMod == 1 ) then ! uniform Euler-Bernoulli @@ -930,9 +936,13 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) Shear = .true. endif ! Storing Beam specific properties + ! Here we are averaging the values at both extremities which is different from what is done for regular beams. + ! The averaging should have no effect for the material properties because the beam is assumed to be isotropic (E, G, rho constant). E = (Init%PropSetsX(P1, 2) + Init%PropSetsX(P2, 2)) / 2 G = (Init%PropSetsX(P1, 3) + Init%PropSetsX(P2, 3)) / 2 rho = (Init%PropSetsX(P1, 4) + Init%PropSetsX(P2, 4)) / 2 + ! Averaging will have an impact on geometry, shear and inertia + ! but we are currently forcing the property ID to be the same, so no effect. A = (Init%PropSetsX(P1, 5) + Init%PropSetsX(P2, 5)) / 2 Kappa_x = (Init%PropSetsX(P1, 6) + Init%PropSetsX(P2, 6)) / 2 / A Kappa_y = (Init%PropSetsX(P1, 7) + Init%PropSetsX(P2, 7)) / 2 / A @@ -2252,7 +2262,7 @@ SUBROUTINE ElemM(ep, Me) TYPE(ElemPropType), INTENT(IN) :: eP !< Element Property REAL(FEKi), INTENT(OUT) :: Me(12, 12) REAL(FEKi) :: L0, Eps0 - if (ep%eType==idMemberBeam) then + if (ep%eType==idMemberBeamCirc) then !Calculate Ke, Me to be used for output CALL ElemM_Beam(eP%Area, eP%Length, eP%Ixx, eP%Iyy, eP%Jzz, eP%rho, eP%DirCos, Me) @@ -2275,7 +2285,7 @@ SUBROUTINE ElemK(ep, Ke) TYPE(ElemPropType), INTENT(IN) :: eP !< Element Property REAL(FEKi), INTENT(OUT) :: Ke(12, 12) - if (ep%eType==idMemberBeam) then + if (ep%eType==idMemberBeamCirc) then CALL ElemK_Beam( eP%Area, eP%Length, eP%Ixx, eP%Iyy, eP%Jzz, eP%Shear, eP%Kappa_x, eP%Kappa_y, eP%YoungE, eP%ShearG, eP%DirCos, Ke) else if (ep%eType==idMemberCable) then @@ -2291,7 +2301,7 @@ SUBROUTINE ElemF(ep, gravity, Fg, Fo) REAL(ReKi), INTENT(IN) :: gravity !< acceleration of gravity REAL(FEKi), INTENT(OUT) :: Fg(12) REAL(FEKi), INTENT(OUT) :: Fo(12) - if (ep%eType==idMemberBeam) then + if (ep%eType==idMemberBeamCirc) then Fo(1:12)=0.0_FEKi else if (ep%eType==idMemberCable) then CALL ElemF_Cable(ep%T0, ep%DirCos, Fo) diff --git a/modules/subdyn/src/SubDyn.f90 b/modules/subdyn/src/SubDyn.f90 index 82e1b5ec5c..57eb8d67b9 100644 --- a/modules/subdyn/src/SubDyn.f90 +++ b/modules/subdyn/src/SubDyn.f90 @@ -1191,8 +1191,8 @@ SUBROUTINE SD_Input(SDInputFile, Init, p, ErrStat,ErrMsg) IF (Check( p%NMembers < 1 , 'NMembers must be > 0')) return -!------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table if circular-tubular elements ------------------------ -CALL ReadCom ( UnIn, SDInputFile, ' Member X-Section Property Data 1/2 ',ErrStat2, ErrMsg2, UnEc ); if(Failed()) return +!------------------ MEMBER CROSS-SECTION PROPERTY data 1/2 [isotropic material for now: use this table if circular-tubular elements ------------------------ +CALL ReadCom ( UnIn, SDInputFile, ' Member CROSS-Section Property Data 1/2 ',ErrStat2, ErrMsg2, UnEc ); if(Failed()) return CALL ReadIVar ( UnIn, SDInputFile, Init%NPropSetsB, 'NPropSets', 'Number of property sets',ErrStat2, ErrMsg2, UnEc ); if(Failed()) return CALL ReadCom ( UnIn, SDInputFile, 'Property Data 1/2 Header' ,ErrStat2, ErrMsg2, UnEc ); if(Failed()) return CALL ReadCom ( UnIn, SDInputFile, 'Property Data 1/2 Units ' ,ErrStat2, ErrMsg2, UnEc ); if(Failed()) return @@ -1203,8 +1203,8 @@ SUBROUTINE SD_Input(SDInputFile, Init, p, ErrStat,ErrMsg) ENDDO IF (Check( Init%NPropSetsB < 1 , 'NPropSets must be >0')) return -!------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below) ------------------------ -CALL ReadCom ( UnIn, SDInputFile, 'Member X-Section Property Data 2/2 ' ,ErrStat2, ErrMsg2, UnEc ); if(Failed()) return +!------------------ MEMBER CROSS-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below) ------------------------ +CALL ReadCom ( UnIn, SDInputFile, 'Member CROSS-Section Property Data 2/2 ' ,ErrStat2, ErrMsg2, UnEc ); if(Failed()) return CALL ReadIVar ( UnIn, SDInputFile, Init%NPropSetsX, 'NXPropSets', 'Number of non-circular property sets',ErrStat2, ErrMsg2, UnEc ); if(Failed()) return CALL ReadCom ( UnIn, SDInputFile, 'Property Data 2/2 Header' ,ErrStat2, ErrMsg2, UnEc ); if(Failed()) return CALL ReadCom ( UnIn, SDInputFile, 'Property Data 2/2 Unit ' ,ErrStat2, ErrMsg2, UnEc ); if(Failed()) return @@ -3758,7 +3758,7 @@ SUBROUTINE OutSummary(Init, p, m, InitInput, CBparams, Modes, Omega, Omega_Gy, E mLength=MemberLength(Init%Members(i,1),Init,ErrStat,ErrMsg) ! TODO double check mass and length IF (ErrStat .EQ. ErrID_None) THEN mType = Init%Members(I, iMType) ! - if (mType==idMemberBeam) then + if (mType==idMemberBeamCirc) then iProp(1) = FINDLOCI(Init%PropSetsB(:,1), propIDs(1)) iProp(2) = FINDLOCI(Init%PropSetsB(:,1), propIDs(2)) mMass= BeamMass(Init%PropSetsB(iProp(1),4),Init%PropSetsB(iProp(1),5),Init%PropSetsB(iProp(1),6), & @@ -3776,6 +3776,12 @@ SUBROUTINE OutSummary(Init, p, m, InitInput, CBparams, Modes, Omega, Omega_Gy, E mMass= Init%PropSetsR(iProp(1),2) * mLength ! rho [kg/m] * L WRITE(UnSum, '("#",I9,I10,I10,I10,I10,ES15.6E2,ES15.6E2, A3,2(I6),A)') Init%Members(i,1:3),propIDs(1),propIDs(2),& mMass,mLength,' ',(Init%MemberNodes(i, j), j = 1, 2), ' # Rigid link' + else if (mType==idMemberBeamArb) then + iProp(1) = FINDLOCI(Init%PropSetsX(:,1), propIDs(1)) + iProp(2) = FINDLOCI(Init%PropSetsX(:,1), propIDs(2)) + mMass= -1 ! TODO compute mass for arbitrary beams + WRITE(UnSum, '("#",I9,I10,I10,I10,I10,ES15.6E2,ES15.6E2, A3,'//Num2LStr(Init%NDiv + 1 )//'(I6))') Init%Members(i,1:3),propIDs(1),propIDs(2),& + mMass, mLength,' ',(Init%MemberNodes(i, j), j = 1, Init%NDiv+1) else WRITE(UnSum, '(A)') '#TODO, member unknown' endif diff --git a/modules/subdyn/src/SubDyn_Types.f90 b/modules/subdyn/src/SubDyn_Types.f90 index f3362db95c..df7648535f 100644 --- a/modules/subdyn/src/SubDyn_Types.f90 +++ b/modules/subdyn/src/SubDyn_Types.f90 @@ -1708,6 +1708,7 @@ SUBROUTINE SD_CopyElemPropType( SrcElemPropTypeData, DstElemPropTypeData, CtrlCo DstElemPropTypeData%Jzz = SrcElemPropTypeData%Jzz DstElemPropTypeData%Shear = SrcElemPropTypeData%Shear DstElemPropTypeData%Kappa_x = SrcElemPropTypeData%Kappa_x + DstElemPropTypeData%Kappa_y = SrcElemPropTypeData%Kappa_y DstElemPropTypeData%YoungE = SrcElemPropTypeData%YoungE DstElemPropTypeData%ShearG = SrcElemPropTypeData%ShearG DstElemPropTypeData%D = SrcElemPropTypeData%D @@ -1781,7 +1782,8 @@ SUBROUTINE SD_PackElemPropType( ReKiBuf, DbKiBuf, IntKiBuf, Indata, ErrStat, Err Re_BufSz = Re_BufSz + 1 ! Iyy Re_BufSz = Re_BufSz + 1 ! Jzz Int_BufSz = Int_BufSz + 1 ! Shear - Re_BufSz = Re_BufSz + 1 ! Kappa + Re_BufSz = Re_BufSz + 1 ! Kappa_x + Re_BufSz = Re_BufSz + 1 ! Kappa_y Re_BufSz = Re_BufSz + 1 ! YoungE Re_BufSz = Re_BufSz + 1 ! ShearG Re_BufSz = Re_BufSz + SIZE(InData%D) ! D @@ -1830,6 +1832,8 @@ SUBROUTINE SD_PackElemPropType( ReKiBuf, DbKiBuf, IntKiBuf, Indata, ErrStat, Err Int_Xferred = Int_Xferred + 1 ReKiBuf(Re_Xferred) = InData%Kappa_x Re_Xferred = Re_Xferred + 1 + ReKiBuf(Re_Xferred) = InData%Kappa_y + Re_Xferred = Re_Xferred + 1 ReKiBuf(Re_Xferred) = InData%YoungE Re_Xferred = Re_Xferred + 1 ReKiBuf(Re_Xferred) = InData%ShearG @@ -1894,6 +1898,8 @@ SUBROUTINE SD_UnPackElemPropType( ReKiBuf, DbKiBuf, IntKiBuf, Outdata, ErrStat, Int_Xferred = Int_Xferred + 1 OutData%Kappa_x = ReKiBuf(Re_Xferred) Re_Xferred = Re_Xferred + 1 + OutData%Kappa_y = ReKiBuf(Re_Xferred) + Re_Xferred = Re_Xferred + 1 OutData%YoungE = ReKiBuf(Re_Xferred) Re_Xferred = Re_Xferred + 1 OutData%ShearG = ReKiBuf(Re_Xferred) @@ -3691,7 +3697,7 @@ SUBROUTINE SD_PackInitType( ReKiBuf, DbKiBuf, IntKiBuf, Indata, ErrStat, ErrMsg, Int_BufSz = Int_BufSz + 1 ! COSMs allocated yes/no IF ( ALLOCATED(InData%COSMs) ) THEN Int_BufSz = Int_BufSz + 2*2 ! COSMs upper/lower bounds for each dimension - Re_BufSz = Re_BufSz + SIZE(InData%COSMs) ! COSMs + Db_BufSz = Db_BufSz + SIZE(InData%COSMs) ! COSMs END IF Int_BufSz = Int_BufSz + 1 ! CMass allocated yes/no IF ( ALLOCATED(InData%CMass) ) THEN @@ -3979,8 +3985,8 @@ SUBROUTINE SD_PackInitType( ReKiBuf, DbKiBuf, IntKiBuf, Indata, ErrStat, ErrMsg, DO i2 = LBOUND(InData%COSMs,2), UBOUND(InData%COSMs,2) DO i1 = LBOUND(InData%COSMs,1), UBOUND(InData%COSMs,1) - ReKiBuf(Re_Xferred) = InData%COSMs(i1,i2) - Re_Xferred = Re_Xferred + 1 + DbKiBuf(Db_Xferred) = InData%COSMs(i1,i2) + Db_Xferred = Db_Xferred + 1 END DO END DO END IF @@ -4599,8 +4605,8 @@ SUBROUTINE SD_UnPackInitType( ReKiBuf, DbKiBuf, IntKiBuf, Outdata, ErrStat, ErrM END IF DO i2 = LBOUND(OutData%COSMs,2), UBOUND(OutData%COSMs,2) DO i1 = LBOUND(OutData%COSMs,1), UBOUND(OutData%COSMs,1) - OutData%COSMs(i1,i2) = ReKiBuf(Re_Xferred) - Re_Xferred = Re_Xferred + 1 + OutData%COSMs(i1,i2) = REAL(DbKiBuf(Db_Xferred), R8Ki) + Db_Xferred = Db_Xferred + 1 END DO END DO END IF From 40b619cee1ca1cbd6f44d80123b4cb88259e86ea Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 14 Apr 2023 16:01:48 -0600 Subject: [PATCH 15/20] SD: update of documentation --- .../subdyn/examples/OC4_Jacket_SD_Input.dat | 52 +++++++++---------- docs/source/user/subdyn/input_files.rst | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat b/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat index 3879fa9f39..43111b830f 100644 --- a/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat +++ b/docs/source/user/subdyn/examples/OC4_Jacket_SD_Input.dat @@ -1,19 +1,19 @@ ------------ SubDyn MultiMember Support Structure Input File ------------ +----------- SubDyn MultiMember Support Structure Input File --------------------------- OC4 'Jacket' SubStructure Input File. The grouted connection is simulated with an equivalent tubular beam of enhanced properties. RRD 10/15/2013 --------------------------- SIMULATION CONTROL --------------------------------- +-------------------------- SIMULATION CONTROL ----------------------------------------- False Echo - Echo input data to ".SD.ech" (flag) "DEFAULT" SDdeltaT - Local Integration Step. If "default", the glue-code integration step will be used. 3 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. True SttcSolve - Solve dynamics about static equilibrium point True GuyanLoadCorrection - Include extra moment from lever arm at interface and rotate FEM for floating. --------------------- FEA and CRAIG-BAMPTON PARAMETERS--------------------------- +-------------------- FEA and CRAIG-BAMPTON PARAMETERS --------------------------------- 3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] 2 NDiv - Number of sub-elements per member True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. 8 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. 1 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). 0 GuyanDampMod - Guyan damping {0=none, 1=Rayleigh Damping, 2=user specified 6x6 matrix} - 0.000, 0.000 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] + 0.000, 0.000 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] 6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2] 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 @@ -21,9 +21,9 @@ True CBMod - [T/F] If True perform C-B reduction, else full FE 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 ----- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)--- +---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File) -------- 64 NJoints - Number of joints (-) -JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff +JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff ![Coordinates of Member joints in SS-Coordinate System][JointType={1:cantilever, 2:universal joint, 3:revolute joint, 4:spherical joint}] (-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) 1 6.00000 6.00000 -45.50000 1 0.0 0.0 0.0 0.0 2 6.00000 6.00000 -45.00000 1 0.0 0.0 0.0 0.0 @@ -91,15 +91,15 @@ JointID JointXss JointYss JointZss Join 64 -6.00000 6.00000 -50.00100 1 0.0 0.0 0.0 0.0 ------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node --------------------- 4 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0]) -RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile [Global Coordinate System] - (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) +RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss SSIfile ![Global Coordinate System] + (-) (flag) (flag) (flag) (flag) (flag) (flag) (string) 61 1 1 1 1 1 1 "OC4_Jacket_SD_SSI.txt" 62 1 1 1 1 1 1 "OC4_Jacket_SD_SSI.txt" 63 1 1 1 1 1 1 "OC4_Jacket_SD_SSI.txt" 64 1 1 1 1 1 1 "OC4_Jacket_SD_SSI.txt" ------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) --------- 8 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs -IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss [Global Coordinate System] +IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss ![Global Coordinate System] (-) (flag) (flag) (flag) (flag) (flag) (flag) 24 1 1 1 1 1 1 28 1 1 1 1 1 1 @@ -109,9 +109,9 @@ IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss 54 1 1 1 1 1 1 55 1 1 1 1 1 1 56 1 1 1 1 1 1 ------------------------------------ MEMBERS -------------------------------------- - 112 NMembers - Number of frame members -MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID ![use COSMID=-1 for default calculation] +----------------------------------- MEMBERS ------------------------------------------- + 112 NMembers - Number of members (-) +MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID ![MType={1:beam circ., 2:cable, 3:rigid, 4:beam arb.}. COMSID={-1:none}] (-) (-) (-) (-) (-) (-) (-) 1 1 2 2 2 1 -1 2 2 3 2 2 1 -1 @@ -225,8 +225,8 @@ MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID ![u 110 61 57 6 6 1 -1 111 64 60 6 6 1 -1 112 63 59 6 6 1 -1 ------------------- MEMBER CROSS-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------ - 6 NPropSets - Number of structurally unique circular cross-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members) +------------------ CIRCULAR BEAM CROSS-SECTION PROPERTIES ----------------------------- + 6 NPropSets - Number of structurally unique circular cross-sections PropSetID YoungE ShearG MatDens XsecD XsecT (-) (N/m2) (N/m2) (kg/m3) (m) (m) 1 2.10000e+11 8.07690e+10 7850.00 0.800000 0.020000 @@ -235,32 +235,32 @@ PropSetID YoungE ShearG MatDens XsecD X 4 2.10000e+11 8.07690e+10 7850.00 1.200000 0.040000 5 2.10000e+11 8.07690e+10 3339.12 2.082000 0.491000 6 2.10000e+11 8.07690e+10 7850.00 2.082000 0.060000 ------------------- MEMBER CROSS-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------ +----------------- ARBITRARY BEAM CROSS-SECTION PROPERTIES ----------------------------- 0 NXPropSets - Number of structurally unique non-circular cross-sections (if 0 the following table is ignored) PropSetID YoungE ShearG MatDens XsecA XsecAsx XsecAsy XsecJxx XsecJyy XsecJ0 (-) (N/m2) (N/m2) (kg/m3) (m2) (m2) (m2) (m4) (m4) (m4) --------------------------- CABLE PROPERTIES ------------------------------------- +-------------------------- CABLE PROPERTIES ------------------------------------------- 0 NCablePropSets - Number of cable cable properties -PropSetID EA MatDens T0 - (-) (N) (kg/m) (N) ------------------------ RIGID LINK PROPERTIES ------------------------------------ +PropSetID EA MatDens T0 CtrlChannel + (-) (N) (kg/m) (N) (-) +----------------------- RIGID LINK PROPERTIES ----------------------------------------- 0 NRigidPropSets - Number of rigid link properties PropSetID MatDens - (-) (kg/m) ----------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------ + (-) (kg/m) +---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------------- 0 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33 (-) (-) (-) (-) (-) (-) (-) (-) (-) (-) ------------------------ JOINT ADDITIONAL CONCENTRATED MASSES-------------------------- 0 NCmass - Number of joints with concentrated masses; Global Coordinate System -CMJointID JMass JMXX JMYY JMZZ JMXY JMXZ JMYZ MCGX MCGY MCGZ +CMJointID JMass JMXX JMYY JMZZ JMXY JMXZ JMYZ MCGX MCGY MCGZ (-) (kg) (kg*m^2) (kg*m^2) (kg*m^2) (kg*m^2) (kg*m^2) (kg*m^2) (m) (m) (m) ----------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------ -True SumPrint - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. +---------------------------- OUTPUT: SUMMARY & OUTFILE -------------------------------- +True SumPrint - Output a Summary File (flag) 0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag) 0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag) False OutCOSM - Output cosine matrices with the selected output member forces (flag) -False OutAll - [T/F] Output all members' end forces +False OutAll - [T/F] Output all members' end forces 1 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files. True TabDelim - Generate a tab-delimited output in the .SD.out file 1 OutDec - Decimation of output in the .SD.out file @@ -268,7 +268,7 @@ True TabDelim - Generate a tab-delimited output in the "A11" OutSFmt - Output format for header strings in the .SD.out file ------------------------- MEMBER OUTPUT LIST ------------------------------------------ 8 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. -MemberID NOutCnt NodeCnt [NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. +MemberID NOutCnt NodeCnt ![NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well. (-) (-) (-) 22 1 3 30 1 3 diff --git a/docs/source/user/subdyn/input_files.rst b/docs/source/user/subdyn/input_files.rst index 7097f6513e..2af8ae4ccc 100644 --- a/docs/source/user/subdyn/input_files.rst +++ b/docs/source/user/subdyn/input_files.rst @@ -427,7 +427,7 @@ A member is one of the three following types (see :numref:`SD_FEM`): - Rigid link (*MType=3*) -**COSMID** refers to the IDs of the members’ cosine matrices for +**COSMID** refers to the IDs of the members' cosine matrices for noncircular members; the current release uses SubDyn's default direction cosine convention if it's not present or when COSMID values are -1. From 75613f66ceb60d70eb91c411a691cb09a4060447 Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 14 Apr 2023 16:02:01 -0600 Subject: [PATCH 16/20] SD: update of r-test --- reg_tests/r-test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reg_tests/r-test b/reg_tests/r-test index 1acc4a1318..5a2db9b93d 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit 1acc4a13182bcf48c3948ce24ea24acd5b0850eb +Subproject commit 5a2db9b93d26822eb3d834bcda086a4817043e3b From 068506eeea1b98514969f41f76e7071142a9408d Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 14 Apr 2023 16:22:36 -0600 Subject: [PATCH 17/20] SD:using r-test with new test of dircos --- reg_tests/r-test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reg_tests/r-test b/reg_tests/r-test index 5a2db9b93d..97acecc1dd 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit 5a2db9b93d26822eb3d834bcda086a4817043e3b +Subproject commit 97acecc1dd9ff692a04954e8be957c2a324cf6b0 From 0c66ad38da1bb463d01f538f6031b4eaee8eab98 Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 14 Apr 2023 16:39:08 -0600 Subject: [PATCH 18/20] SD: adding arbitrary section test (not run yet, waiiting for NDIV>1) --- modules/subdyn/src/SD_FEM.f90 | 40 ++++++++++++++++++++++++++++++++++- reg_tests/r-test | 2 +- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index 6a64a54e89..eecd4e108c 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -403,7 +403,7 @@ SUBROUTINE SD_ReIndex_CreateNodesAndElems(Init,p, ErrStat, ErrMsg) if (mType/=idMemberBeamCirc) then if (Init%Members(iMem, iMProp)/=Init%Members(iMem, iMProp+1)) then ! NOTE: for non circular beams, we could just check that E, rho, G are the same for both properties - call Fatal('Property IDs should be the same at both joint for non circular beams, rigid links, and cables. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) + call Fatal('Property IDs should be the same at both joints for arbitrary beams, rigid links, and cables. Check member with ID: '//TRIM(Num2LStr(Init%Members(iMem,1)))) return endif endif @@ -927,6 +927,25 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Rho = rho p%ElemProps(i)%D = (/D1, D2/) + print*,'p%ElemProps(i)%YoungE ',p%ElemProps(i)%YoungE + print*,'p%ElemProps(i)%ShearG ',p%ElemProps(i)%ShearG + print*,'p%ElemProps(i)%Rho ',p%ElemProps(i)%Rho + print*,'p%ElemProps(i)%Area ',p%ElemProps(i)%Area + + print*,'' + print*,'p%ElemProps(i)%Kappa_x',p%ElemProps(i)%Kappa_x*A + print*,'p%ElemProps(i)%Kappa_y',p%ElemProps(i)%Kappa_y*A + print*,'' + + print*,'p%ElemProps(i)%Ixx ',p%ElemProps(i)%Ixx + print*,'p%ElemProps(i)%Iyy ',p%ElemProps(i)%Iyy + print*,'p%ElemProps(i)%Jzz ',p%ElemProps(i)%Jzz + print*,'' + + print*,'p%ElemProps(i)%Shear ',p%ElemProps(i)%Shear + print*,'p%ElemProps(i)%D ',p%ElemProps(i)%D + + else if (eType==idMemberBeamArb) then p%ElemProps(i)%eType = 1 @@ -962,6 +981,25 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Rho = rho p%ElemProps(i)%D = (/D1, D2/) + print*,'p%ElemProps(i)%YoungE ',p%ElemProps(i)%YoungE + print*,'p%ElemProps(i)%ShearG ',p%ElemProps(i)%ShearG + print*,'p%ElemProps(i)%Rho ',p%ElemProps(i)%Rho + print*,'p%ElemProps(i)%Area ',p%ElemProps(i)%Area + + print*,'' + print*,'p%ElemProps(i)%Kappa_x',p%ElemProps(i)%Kappa_x*A + print*,'p%ElemProps(i)%Kappa_y',p%ElemProps(i)%Kappa_y*A + print*,'' + + print*,'p%ElemProps(i)%Ixx ',p%ElemProps(i)%Ixx + print*,'p%ElemProps(i)%Iyy ',p%ElemProps(i)%Iyy + print*,'p%ElemProps(i)%Jzz ',p%ElemProps(i)%Jzz + print*,'' + + print*,'p%ElemProps(i)%Shear ',p%ElemProps(i)%Shear + print*,'p%ElemProps(i)%D ',p%ElemProps(i)%D + + else if (eType==idMemberCable) then if (DEV_VERSION) then print*,'Member',I,'is a cable' diff --git a/reg_tests/r-test b/reg_tests/r-test index 97acecc1dd..665a58462d 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit 97acecc1dd9ff692a04954e8be957c2a324cf6b0 +Subproject commit 665a58462d94cc6d6168c8496f4547335fbe84b2 From 45fe8239f01f10f5f05c136c6f66fff2e0a9de24 Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 14 Apr 2023 16:46:27 -0600 Subject: [PATCH 19/20] SD: pointing to dev r-test --- reg_tests/r-test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reg_tests/r-test b/reg_tests/r-test index 665a58462d..2c2483b52c 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit 665a58462d94cc6d6168c8496f4547335fbe84b2 +Subproject commit 2c2483b52c028614a7666d624141a2b63a650bdf From b24e97cc90575f02069513f7725be6243543e86c Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 14 Apr 2023 16:53:12 -0600 Subject: [PATCH 20/20] SD: Removed print statement and count of BeamArb in ndiv --- modules/subdyn/src/SD_FEM.f90 | 40 +---------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/modules/subdyn/src/SD_FEM.f90 b/modules/subdyn/src/SD_FEM.f90 index eecd4e108c..4eae76de57 100644 --- a/modules/subdyn/src/SD_FEM.f90 +++ b/modules/subdyn/src/SD_FEM.f90 @@ -479,7 +479,7 @@ SUBROUTINE SD_Discrt(Init,p, ErrStat, ErrMsg) ENDIF ! Total number of nodes - Depends on division and number of nodes per element - p%nNodes = Init%NJoints + ( Init%NDiv - 1 )*(nMemberBeamCirc + nMemberBeamArb) + p%nNodes = Init%NJoints + ( Init%NDiv - 1 )*(nMemberBeamCirc) ! TODO add nMemberBeamArb when support for division provided ! check the number of interior modes IF ( p%nDOFM > 6*(p%nNodes - p%nNodes_I - p%nNodes_C) ) THEN @@ -927,25 +927,6 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Rho = rho p%ElemProps(i)%D = (/D1, D2/) - print*,'p%ElemProps(i)%YoungE ',p%ElemProps(i)%YoungE - print*,'p%ElemProps(i)%ShearG ',p%ElemProps(i)%ShearG - print*,'p%ElemProps(i)%Rho ',p%ElemProps(i)%Rho - print*,'p%ElemProps(i)%Area ',p%ElemProps(i)%Area - - print*,'' - print*,'p%ElemProps(i)%Kappa_x',p%ElemProps(i)%Kappa_x*A - print*,'p%ElemProps(i)%Kappa_y',p%ElemProps(i)%Kappa_y*A - print*,'' - - print*,'p%ElemProps(i)%Ixx ',p%ElemProps(i)%Ixx - print*,'p%ElemProps(i)%Iyy ',p%ElemProps(i)%Iyy - print*,'p%ElemProps(i)%Jzz ',p%ElemProps(i)%Jzz - print*,'' - - print*,'p%ElemProps(i)%Shear ',p%ElemProps(i)%Shear - print*,'p%ElemProps(i)%D ',p%ElemProps(i)%D - - else if (eType==idMemberBeamArb) then p%ElemProps(i)%eType = 1 @@ -981,25 +962,6 @@ SUBROUTINE SetElementProperties(Init, p, ErrStat, ErrMsg) p%ElemProps(i)%Rho = rho p%ElemProps(i)%D = (/D1, D2/) - print*,'p%ElemProps(i)%YoungE ',p%ElemProps(i)%YoungE - print*,'p%ElemProps(i)%ShearG ',p%ElemProps(i)%ShearG - print*,'p%ElemProps(i)%Rho ',p%ElemProps(i)%Rho - print*,'p%ElemProps(i)%Area ',p%ElemProps(i)%Area - - print*,'' - print*,'p%ElemProps(i)%Kappa_x',p%ElemProps(i)%Kappa_x*A - print*,'p%ElemProps(i)%Kappa_y',p%ElemProps(i)%Kappa_y*A - print*,'' - - print*,'p%ElemProps(i)%Ixx ',p%ElemProps(i)%Ixx - print*,'p%ElemProps(i)%Iyy ',p%ElemProps(i)%Iyy - print*,'p%ElemProps(i)%Jzz ',p%ElemProps(i)%Jzz - print*,'' - - print*,'p%ElemProps(i)%Shear ',p%ElemProps(i)%Shear - print*,'p%ElemProps(i)%D ',p%ElemProps(i)%D - - else if (eType==idMemberCable) then if (DEV_VERSION) then print*,'Member',I,'is a cable'