General Mechanical

General Mechanical

Topics relate to Mechanical Enterprise, Motion, Additive Print and more

Friction spring with APDL

    • Daniel Schirmer
      Subscriber

      Hello guys,

      I would like to integrate a friction spring into ANSYS Mechanical, which is not entirely untypical in industrial applications. The latter has the spring stiffness c1 (load) and spring stiffness c2 (unload), where: c1 > c2.

      Using a simple test model, I have already tried various variants in an APDL code block, including the non-linear spring element COMBIN39. Unfortunately, this also does not provide the desired deflection behaviour.

      To illustrate this, I have attached a picture in which the spring characteristic curve according to the manufacturer's data sheet is shown on the left and a possible characteristic curve of the ANSYS spring element COMBIN39 is shown on the right. Maybe someone here has an idea how to best implement the spring characteristic shown?

      Thanks for your help!

       

    • Bill Bulat
      Ansys Employee

      I once did something similar to what you described with COMBIN14, COMBIN40 and USRCAL,ULDBEG in a command object:

       

      I'm pretty sure you'll also need /CONFIG,NOELDB,0 (to override the /CONFIG,NOELDB,1 that Mechanical writes to ds.dat) and also solve with Distributed OFF:

       

      The above should make calculated results available in the MAPDL database at the end of each load step (which uldbeg.mac expects). The uldbeg.mac should then be able to modify the GAP real constant of COMBIN40 at the beginning of each load step:

      The idea (as I recall) is to have the GAP "chase" the relative displacements of the i & j nodes of the COMBIN40 in such a way that the gap always staying closed (or nearly so) so that when direction is reversed, a different spring stiffness acts. My example modified the torsional stiffness for nodal rotation. One COMBIN40 node was fixed, the other was a remote point that controlled nodes in the finite element mesh. The complete command object is pasted below (looks like I skip the Mechanical-written solve command in ds.dat, so you'll need another command object containing ":skip_WB_solve" (no quotes) under the solution branch of the tree):

      k=arg1      ! COMBIN14 K
      gap=arg2    ! COMBIN40 GAP
      k2=arg3     ! COMBIN40 K2
      nsteps=arg4
       
       
      *dim,gap_40,table,nsteps
       
      *get,nmax,node,,num,max
      *get,etmax,etyp,,num,max
       
      fini 
      /config,noeldb,0 
      /prep7 
       
      n,nmax+1,nx(bolt_shank_cut_remote_point),ny(bolt_shank_cut_remote_point),nz(bolt_shank_cut_remote_point)
      n,nmax+2,nx(nmax+1),ny(nmax+1),nz(nmax+1)
       
       
      et,etmax+1,14,,6 ! ROTZ COMBIN14
      r,etmax+1,k
      type,etmax+1 $real,etmax+1 $e,nmax+1,bolt_shank_cut_remote_point
       
       
      et,etmax+2,40,,,6 ! COMBIN40, ROTZ
      r,etmax+2,,,,gap,,k2 ! COMBIN40 GAP AND SPRING STIFFNESS
      type,etmax+2 $real,etmax+2 $e,nmax+2,bolt_shank_cut_remote_point
       
      d,nmax+1,rotz
      d,nmax+2,rotz
       
      finish 
       
       
      C*** USRCAL TO MOFIFY COMBIN40 GAP REAL CONSTANT
      *cre,uldbeg,mac
      *get,gap_i,rcon,etmax+2,4
      rotz2_i=rotz(bolt_shank_cut_remote_point)
      rmod,etmax+2,4,-max(rotz2_i,-gap_i)
      blah=-max(rotz2_i,-gap_i)
      *end
       
      /solu 
      usrcal,uldbeg
       
       
       
      /gopr 
      outr,all,all
       
      autots,off
      nsub,1
      neqit,5
      ncnv,0
      pred,off 
       
       
      save 
      /sys,copy file.db ..\..\.
       
      *do,i,1,nsteps
       /gopr
       time,6*i/nsteps
       solve
       gap_40(i,1)=blah
      *enddo
       
      *do,i,1,nsteps
       gap_40(i,0)=6*i/nsteps
      *enddo
       
      *stat,gap_40
       
      save 
      /sys,copy file.db ..\..\.
       
      *go,:skip_WB_solve
       
       
       
      I'd just send you the project, but we're not allowed to send files in the forum.
       
      The response (calculated rotation) to this applied moment:
       
       
       
      was this:
       
       
      Best,
       
      Bill

       

       

    • Daniel Schirmer
      Subscriber

      Thank you very much for your detailed feedback! I will check it.

Viewing 2 reply threads
  • You must be logged in to reply to this topic.