General Mechanical

General Mechanical

Topics related to Mechanical Enterprise, Motion, Additive Print and more.

Convergence problems nonlinear shell modell

    • Aspila
      Subscriber

      Hello everybody,

      I try to simulate flexural buckling of box-shaped steel columns and therefore modelled an shell structure for a nonlinear analysis in ANSYS APDL. It has initial stresses applied. The geometry and initial stress application seem to work out fine but when I try to solve the problem it does not converge. Even using more substeps seems not to help. I attached my model in this post.

      I suspect a problem with the settings for the nonlinear solution but can´t figure out, how to set things right so the model would converge.

      Thanks a lot for your suggestions!

      Aspila

    • Erik Kostson
      Ansys Employee
      Can you please paste the commands into your post, as ansys employees are not allowed to download attachments?

      In that way you include a larger group of people that might be able to help you


      Also let us know what is the purpose, ultimate load, you expect buckling before, ...?

      Thank you

      Erik
    • Aspila
      Subscriber
      Sure. I put the APDL-code below.
      My aim it is to get the ultimate load before flexural buckling appears.

      /prep7
      !Parameters
      *afun,rad!Einstellung auf Bogenmaß
      dicke=6!Blechdicke
      b1=120!Breite
      b=b1-dicke!Breite Mittellinienmodell
      h1=b1!H├Âhe
      h=b!H├Âhe Mittellinienmodell
      laenge=2770!geom. Länge der Stütze (L_cr-150mm)
      ne=laenge/10!Ebenenanzahl in z-Richtung
      pi=acos(-1)!Definition Pi
      el_x=16!Elementanzahl in x-Richtung
      el_y=16!Elementanzahl in y-Richtung
      geom=1000!Nenner der geom. Imperfektion
      ES=529!maximale Zugeigenspannung!!!!!!!!Modifizieren je nach fy
      Sigma_cr=70-21*dicke+dicke**2-(2900-290*(dicke-5))*(b1/dicke)**(-1)!maximale Druckeigenspannung (f├╝r dicke>5, sonst 3600 statt 290 einsetzen)
      *if,sigma_cr,lt,-200,then!RB, dass Druck-ES maximal -200N/mm┬▓ sein d├╝rfen
      DES=-200
      *else
      DES=Sigma_cr
      *endif

      !Material --> since it is mulitlinear plastic i did not include the MP and TB commands because there are many

      !Elements
      et,1,shell181
      sectype,,shell
      secdata,dicke
      keyopt,1,3,2
      keyopt,1,8,2
      keyopt,1,11,1
      et,2,mass21
      r,1,0.0000000001
      !et,3,mpc184
      !keyop,3,1,1
      !type,3

      !create Masternodes
      type,2!Masseelement
      k,1,b/2,h/2,-75
      n,1,b/2,h/2,-75
      e,1
      k,2,b/2,h/2,laenge+75
      n,2,b/2,h/2,laenge+75
      e,2

      !create Keypoints
      *do,i,0,laenge,laenge/ne!Schleife f├╝r Erstellung der geom. imp. Knoten Unterseite
      z=i
      z0=i*ne/laenge/ne
      y=laenge/geom*sin(pi*z0)!geometrische Imperfektion in Sinusfunktion mit L/1000 in St├╝tzenmitte
      *do,j,0,1,1!Unterschleife f├╝r x-Koordinate
      x=j*b
      k,m,x,y,z!Generierung der Knoten
      *enddo
      *enddo

      *do,i,0,laenge,laenge/ne!Schleife f├╝r Erstellung der geom. imp. Knoten Oberseite
      z=i
      z0=i*ne/laenge/ne
      y=laenge/geom*sin(pi*z0)+h
      *do,j,0,1,1
      x=j*b
      k,m,x,y,z!Generierung der Knoten
      *enddo
      *enddo
      type,1!Schalenenelement

      !Create areas
      k1=2*(ne+1)*0+3!Variable f├╝r Keypoint-Wahl
      !2(ne+1): Anzahl erstellte Knoten pro Blech
      !*0:Anzahl Bleche, an denen vor diesem Befehl Flächen erzeugt wurden
      !+3: erste 2 Knoten als Masterknoten erstellt --> Flächenerstellung startet bei Knoten 3
      *do,i,0,ne-1,1!unten
      a,k1,k1+1,k1+3,k1+2!Erstellung Fläche mit 4 Knoten in richtiger Reihenfolge (in math. Drehsinn)
      k1=k1+2!Neudefinition der Variable für nächsten Schleifendurchlauf
      *enddo
      k2=2*(ne+1)*1+3!Variable f├╝r Keypoint-Wahl
      *do,i,0,ne-1,1!oben
      a,k2,k2+1,k2+3,k2+2
      k2=k2+2
      *enddo
      k3=2*(ne+1)*0+3!Variable f├╝r Keypoint-Wahl
      *do,i,0,ne-1,1!Seite1
      a,k3,k3+2,k3+2*(ne+1)+2,k3+2*(ne+1)
      k3=k3+2
      *enddo
      k4=2*(ne+1)*0+4!Variable f├╝r Keypoint-Wahl
      *do,i,0,ne-1,1!Seite2
      a,k4,k4+2,k4+2*(ne+1)+2,k4+2*(ne+1)
      k4=k4+2
      *enddo

      !Divide lines for mesh size
      lsel,s,length,,b!Teilen der Linien
      lesize,all,,,el_x
      lsel,s,length,,h!Teilen der Linien
      lesize,all,,,el_y

      !Meshing
      smrtsize,10
      amesh,all

      !Connect Master with Slave
      nsel,s,loc,z,-75,0
      cerig,1,all,all!Constraint equation zwischen Master1 und erster QS-Ebene: Translationen
      allsel
      nsel,s,loc,z,laenge,laenge+75
      cerig,2,all,all!Constraint equation zwischen Master2 und letzter QS-Ebene: Translationen
      allsel

      !Start Solution**************************************************************************************************
      /solu
      antype,0!Festlegung Analysetyp statisch
      NLGEOM,ON
      PRED,ON
      eqslv,sparse!Festlegung des Solvers
      solcontrol,on
      nropt,unsym,,on!Newton-Raphson-Methode
      !lnsrch,off!F├╝r Newton-Raphson-Solver
      !neqit,40!maximale Iterationsanzahl pro Substep

      !DOF constraints
      D,1,ux!Node1(festes Auflager)
      D,1,uy
      D,1,uz
      D,1,roty
      D,1,rotz
      D,2,ux!Node2(bewegliches Auflager)
      D,2,uy
      D,2,roty
      D,2,rotz
      NSUBST,100,10000,50
      D,2,uz,-12!Translation on node 2

      !Apply initial stresses
      inistate,set,csys,-2!Inistate-Koordinatensystem auf Element-Koordinatensystem umgestellt
      inistate,set,dtyp,stre!Inistate-Datentyp auf Spannung eingestellt
      *if,-12*DES/4,gt,ES,then!Damit Zugeigenspannungen nicht zu hoch werden
      ES1=ES
      *else
      ES1=-12*DES/4
      *endif

      *if,ES1,eq,ES,then!Damit Spannungsgleichgewicht bleibt
      DES1=-4*ES/12
      *else
      DES1=DES
      *endif

      *do,i,0,4*ne-1,1!ES in z-Richtung f├╝r ├ñu├ƒerste Felder; so nur m├Âglich, wenn el_x = el_y!!!
      j=3+el_x*i!j = variierende Elementnummer des ersten Elements in einer Reihe
      inistate,defi,j,,,,ES1!ES-Definition an Element j in Gr├Â├ƒe ES in z-Richtung
      *enddo
      *do,i,1,4*ne,1
      j=2+el_x*i!j = variierende Elementnummer des letzen Elements in einer Reihe
      inistate,defi,j,,,,ES1
      *enddo
      *do,i,0,4*ne-1,1!ES in z-Richtung f├╝r zweit├ñu├ƒerste Felder; so nur m├Âglich, wenn el_x = el_y!!!
      j=4+el_x*i!j = variierende Elementnummer des zweiten Elements in einer Reihe
      inistate,defi,j,,,,ES1
      *enddo
      *do,i,1,4*ne,1!j = variierende Elementnummer des vorletzen Elements in einer Reihe
      j=1+el_x*i
      inistate,defi,j,,,,ES1
      *enddo
      *do,i,0,4*ne-1,1!Druck-ES in z-Richtung f├╝r mittlere Felder; so nur m├Âglich, wenn el_x = el_y!!!
      o=2+3+el_x*i!Erstes Element jeder Reihe, welches mit Druck belastet wird
      *do,j,0,el_x-4-1,1!nur m├Âglich wenn el_x = el_y
      inistate,defi,o+j,,,,DES1
      *enddo
      *enddo

      outres,all,all
      solve
      finish
    • Erik Kostson
      Ansys Employee
      Hi

      FIrst I would recommend to include an imperfection (noy only via the prestress), so say a half sway (sinus along beam).
      Also:
      What I would recommend is that you run first without prestress and only for 1 mm - just to see that it solves.
      (also change the orthotropic - you only need EX, PRXY for isotropic)

      If that runs then convergence comes from buckling.

      So you would like to use perhaps stabilization (see stabilization command), and/or transient with quasi static option (tintp,quas).

      ALso one can start taking away the plasticity to see what effect it has - if it is away and it is still not converging then it is due to the buckling.

      Finally I would recommend doing this mechncial not in apdl as it is much easier to troubleshoot.

      Erik

    • Aspila
      Subscriber
      I have no orthotophic behaviour in my material data. I put the material data below, so you can see. It should be linear elastic hardening plastic behaviour.
      The example without initial stess and with just 1mm deformation works fine. Even with initial stresses and small deformation it works.
      But if i want to apply bigger defomations, it will eventually fail, even before the maximum flexural buckling load capacity is reached.

      MPTEMP,1,0.0!Temperatur = 0.0
      MPDATA,EX,1,,210000! Definiere E-Modul
      MPDATA,EY,1,,210000! Definiere E-Modul
      MPDATA,EZ,1,,210000! Definiere E-Modul
      MPDATA,PRXY,1,,0.3! Definiere Querdehnungszahl
      MPDATA,PRYZ,1,,0.3! Definiere Querdehnungszahl
      MPDATA,PRXZ,1,,0.3! Definiere Querdehnungszahl

      TB,PLASTIC,1,1,27,MISO! Aktiviere TB,PLASTIC Dateneingabe
      TBTEMP,0.0! Temperatur = 0.0
      TBPT,DEFI,0.0000,529!Dehnung auf 0.0000 statt 0.0025
      TBPT,DEFI,0.0080,530
      TBPT,DEFI,0.0180,534
      TBPT,DEFI,0.0280,568
      TBPT,DEFI,0.0380,593
      TBPT,DEFI,0.0480,614
      TBPT,DEFI,0.0580,631
      TBPT,DEFI,0.0680,645
      TBPT,DEFI,0.0780,657
      TBPT,DEFI,0.0880,667
      TBPT,DEFI,0.0980,676
      TBPT,DEFI,0.1080,685
      TBPT,DEFI,0.1180,692
      TBPT,DEFI,0.1238,697
      TBPT,DEFI,0.1480,721
      TBPT,DEFI,0.1730,742
      TBPT,DEFI,0.1980,761
      TBPT,DEFI,0.2480,794
      TBPT,DEFI,0.2980,822
      TBPT,DEFI,0.3480,847
      TBPT,DEFI,0.3980,868
      TBPT,DEFI,0.4980,906
      TBPT,DEFI,0.5980,938
      TBPT,DEFI,0.6980,966
      TBPT,DEFI,0.7980,991
      TBPT,DEFI,0.8980,1013
      TBPT,DEFI,0.9980,1034
    • Erik Kostson
      Ansys Employee
      Hi

      As I said for isotropic we only need EX adn PRXY - EY and EZ , ... are not need.
      MPTEMP,1,0.0
      MPDATA,EX,1,,210000
      MPDATA,PRXY,1,,0.3

      See the points on how you could aid convergence:
      FIrst I would recommend to include an imperfection (not only via the prestress), so say a half sway (sinus along beam), or one buckling mode that you expect (there are many posts on these - see upgeom command). This is very important for a structure like this otherwise numerical noise (molinear iterations) will trigger buckling which we do not want.

      So you would like to use perhaps stabilization (see stabilization command in apdl manual), and/or transient with quasi static option (antype,4 and tintp,quas). That is the best one can do and that normally sorts this type of instability problems out.

      Also use two load steps, one with the prestress, and later followed by the buckling load.

      As a last resort try the implicit method (SEMIIMPLICIT command), and if that does not work also then use Explicit (LS-Dyna).
      Finally I would recommend doing this mechanical not in apdl as it is much easier to troubleshoot.

      Erik
    • Aspila
      Subscriber
      Thanks for your help!
      I deleted the unnecessary material data. I applied geometrical imperfection already with the shape of the model. I entered the keypoints for the areas to be meshed in a half sinus wave curvature.
      I will try out the stabilize option. Can you recommend a value for the energy-dissipation ratio for this problem? And would this value also be appicable to other modells with the same shape but other sizes?
      And how should i interpret the results, especially the applied normal force, since it seems to be higher?
      Aspila
    • Erik Kostson
      Ansys Employee
      Thats is great.

      I would say use a small value and increase it perhaps if needed.

      Below is a sample command with 0.0001 (low value)

      stabilize,reduce,energy,0.0001,no,0.2

      Also look into the semiimplcit method and command it is really powerful.

      Erik
    • Aspila
      Subscriber
      I tried similar geometries (just different lenght and/or heigth and width) and everything else was the same as my initially shown model. The interesting thing is, that it worked for some that i got to the point of flexural buckling where the required force for the deformation decreased. and in the results viewer at the displaced structure one could see a relevant bending. So the model itself seems to work somehow, at least with some geometrical parameters. Do you have a clue how to solve it, so that different parameters don┬┤t "crash" the model?
    • Aspila
      Subscriber
      I found a solution. But in a very different way. In my Model i used the CERIG-command to connect the master nodes with its slave nodes. But I found out that the CERIG-command could have issues when performing a nonlinear analysis. So I actually applied MPC184-elements between master and slave and now it seems to work just fine, even without STABILIZE.
      I want to thank you for your help and ideas!
      Aspila
    • Erik Kostson
      Ansys Employee
      Many thanks for letting us know.

      All the best.

      Erik.

      PS: CERIG seems not to be applicable to large deflection nonlinear analysis.
Viewing 10 reply threads
  • The topic ‘Convergence problems nonlinear shell modell’ is closed to new replies.