Dynamic simulation with large deflections

  1. Thomas Ricard

    We are trying to do a dynamic analysis of a tube. 

    The tube is 1m long.

    The tube is supported on node 1

    In initial conditions all velocities and accelerations are 0.

    We impose a 90° rotation to node 1 with the following time stepping 

    time (s)  angle (°)

    0   0

    0.5  90

    5.0  90

    The analysis runs over 100s.

    The other end of the tube is free. However we need a boundary conditions with 0 forces and moments to prevent singularity (this looks strange to me)

    The gebt dat file is attached. For the sake of the explanation I have made a 2 nodes and 1 element model. 


    We would like to plot the deformed shape at each time step.


    in the dat.out file each point is defined, at each time step, by the following block: 

     Point #:            1


       0.0000000E+00  0.0000000E+00  0.0000000E+00  

       0.0000000E+00  0.0000000E+00  0.0000000E+00  0.0000000E+00  6.0000000E-01  0.0000000E+00

       0.0000000E+00  0.0000000E+00 -4.9317633E+06  0.0000000E+00 -8.8964274E+07  0.0000000E+00


    Line 1: Undeformed position

    Line 2: Displacement and rotation of the point

    Line 3: forces and moments applied to the node

    At each step I amc omputing the current position as: 

    Current Position = {Line1[0]+Line2[0],Line1[1]+Line2[1],Line1[2]+Line2[2]}

    Is it correct?

    I would expect the displacements of the last node, at the last step of the analysis, to be close to: 

    dx= -(1-sin(90°))*TubeLength --> -1000mm

    dz = -(1-cos(90°))*TubeLength --> -1000mm

    As you can see below, at the last step the point 2 is not at all in this position (Angle around 76° instead of 90°)

    Step #         500
     Point #:            1
       0.0000000E+00  0.0000000E+00  0.0000000E+00
       0.0000000E+00  0.0000000E+00  0.0000000E+00  0.0000000E+00  1.5707963E+00  0.0000000E+00
      -1.6488640E+02  2.0352712E-13  4.7450664E+02  1.2962619E-10  6.8850666E+03  3.1618035E-11

     Point #:            2
       1.0000000E+03  0.0000000E+00  0.0000000E+00
      -7.6321026E+02  1.0099183E-14 -9.7155863E+02  1.2104303E-17  1.5710052E+00  1.5403554E-17
       0.0000000E+00  0.0000000E+00  0.0000000E+00  0.0000000E+00  0.0000000E+00  0.0000000E+00

    Could you please let me know if we can achieve what we are trying to do with gebt and tell us what we are missing. 

    I look forward to hearing from you. Thanks in advance for your support. 

  2. Qi Wang

    Hi Thomas,

    • " The other end of the tube is free. However we need a boundary conditions with 0 forces and moments to prevent singularity (this looks strange to me) ."

    Any numerical partial differential equation (PDE) solver needs boundary conditions to uniquely calcuate the unknows. For your case, you do need to provide the tip forces and moments, which are 0s, in the input file.

    • "Current Position = {Line1[0]+Line2[0],Line1[1]+Line2[1],Line1[2]+Line2[2]}

      Is it correct?


    I think you are right on calculating the node positions using these equations.

    • I think your time function definition is wrong. Please read the GEBT manual carefully, especially those on Page 8 and 9. It should look like:

    0    5    # simulation range: starting_time   ending_time

    1        #function number

    0      # function type

    0    5  # starting and ending time for time function 1

    0    0  # 0 degree at start

    0.5   pi/2    # 90 degree at 0.5s

    5     pi/2    # 90 degree at 5s



  3. Thomas Ricard


    Thanks for your answer. 

    here is the corrected data file with the angular position in radian instead of the ratio of the rotation defined in the boundary condition.

    NB. In the little script you sent you were missing the line for the number of points in the time function.

    0 5  # simulation range: starting_time   ending_time
    1 #function number
    0 # function type
    0 5  # starting and ending time for time function 1
    3 # Number of points in the time functions
    0 0 # 0 degree at start
    0.5 1.570796327  # 90 degree at 10s from strart
    5 1.570796327  # 90 degree at the end


    However, the final position is still not what I would expect. 

    As You coudl see on this video the stick does not end up vertical as exepcted.

    We would appreciate your advices.

    Thanks in advance





  4. Qi Wang


    I further cleaned up the input, see attached files. Here are my comments:

    1. Line 11: the location of NODE 2 was changed to "1  0  0" so that it is consistant with IS unit;
    2. Line 17: the prescribed value about a2 axis was given as 1.6569. It is noted that this should be given as Wiener-Milenkovic (WM) parameters but not rotation angle. The WM parameter can be calculated as p = 4*tan(phi/4), where "phi" is the angle in radian.
    3. The prescribed NODE 1 rotation is calculated as the production of prescribed value (Line 17) and time function (Line 18, along with the time function block). Therefore I reworote the time function block as well. The simulation range is set to [0,1]s and the prescribed rotation about a2 axis starts from 0s and end at 0.5s at 90 degree (pi/2).
    4. I also updated the ".ini" file and the calculations were described in that file for your reference. These initial value is to give a good guess to reduce the iterations needed in first several time steps.
    5. The output "theta" are also WM parameters. They can be converted two angles as: phi = 4*atan(theta/4).

    A bug was found in the GEBT source code. Please download the "GlobalDataFun.f90" file to replace the previous version and recomplie your code for now and we will update the download package on cdmHUB soon. I also attached the result from my simulation, including the axial (a1) and vertical (a3) displacements and rotations about a2.



  5. Thomas Ricard

    Qi Wang, Thanks a lot for your clear explanation and for spending some time correcting bug in the code to help this project. I have not the skills, at this stage to recompile gebt. I have asked the forum to help me on this topic. In the mean time if you could send me a new executable it would be me moving forward and test the approach you described. Thanks a lot Thomas 2017-10-20 8:48 GMT+02:00 Qi Wang @ cdmHUB - The Composites HUB <>: ---- Emailed forum response from
  6. Thomas Ricard


    Thanks a lot for the explanation and the bug fix in the code. I recompiled Gebt successfully and the model is now behaving more logically. 

    I will certainly have more questions as we will progress. 





  7. Thomas Ricard


    I juste realized the new version of the code (using the update GlobalDataFun.f90 file you sent me on Oct 20th) to address the bug on dynamic simulation does not run a classic getbt file (attached).

    Could you please tell me how to proceed. 

    Thanks in advance. 






  8. Qi Wang


    Can you please also attach the input file as well?


  9. Thomas Ricard


    Sorry. Here is the input file.

    Best regards



  10. Qi Wang


    If you search "Eigenvalue" in your results file (.out file), you will find all 8 eigenvalues calculated by GEBT.


  11. Thomas Ricard


    Sorry for the confusion. 

    The dat.out file I sent on Oct 30th was not related to a run made with this modified version of gebt.

    When I run this file with the modified version of gebt, no dat.out file get generated. I have some strange error message in the console (in attached zip file) and the dat.ech is not completed (in attached zip file).

    I hope you could help. 





  12. Qi Wang


    I think this is because of the GFortran"-fbounds-check". Since some solvers used in GEBT were implemented years ago, it may not follow the current compiling rule. Please download the attached "Makefile" and put it in your "bin" folder and then recompile GEBT code. Remember remove the old ".o" files (if you are using Windows, type"del *.o"). before your compling. I removed the "-fbounds-check" in line 9 and 11 in the makefile and it should work for your case.