Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Ansys workbench-spring with variable stiffness

  1. Feb 12, 2014 #1
    Hello every body,
    I am simulating a 1 dof spring-mass model in ansys workbench. I need to change the stiffness of spring at every substep based on an "if condition". It means that, in every substep, if a specified condition is satisfied, the stiffness will be changed to a defined value.
    Also, I need to get spring force result in every substep.
    Any help will be soooo much appreciated.
    Looking forward to hearing back from you.
    Regards,
    Maral
     
  2. jcsd
  3. Feb 22, 2014 #2
    Hi Maral,

    step 1:

    u need to solve the Analysis for a load step

    Step 2:

    go to /post26 set the time at last load step and get the spring reaction force with "rforce" command

    Step 3:

    do what you got to do in sense of Compairing the reaction force with "if" command and use "emodif" command to modify the spring stiffness

    Step 4:

    go back to /solu and restart the analysis using antype,trans or harm,restart (it is important to restart the analysis, else the next load step will ignore your last load step results,...)


    i assume u want to model load dependent roller bearing stiffness, i think this method will work altough i have not tried it myself yet...


    Regards

    Behnam



    Sent from my iPad using Physics Forums
     
  4. Feb 22, 2014 #3
    Thank you behnam.
    The problem is that Restart command results in returning the stiffness value to its initial value after the if condition satisfies and the spring stiffness changes to the specified value(here zero).
    I add my code at the end of this message.
    I wonder if there is a way to solve this problem. I need to change the spring stiffness at a critical value of force and have the force matrix at all substep of all loadsteps in post processor.
    I would be very appreciated if you can help me.
    Best Regards
    *DO,SCF,.5,4,.5
    /prep7
    ! -------------------------- spring element ------------------------
    TYPE, 2
    MAT, 1
    REAL, 1
    ESYS, 0
    SECNUM,
    TSHAP,LINE
    !*
    /go
    !--------------------------- Element 141 ----------------------------
    *IF,COUNT,EQ,0,THEN
    FLST,2,2,1
    FITEM,2,70
    FITEM,2,34
    E,P51X
    *ELSEIF,CSP1,EQ,2,THEN
    ESEL,S, , , 141
    FLST,2,1,2,ORDE,1
    FITEM,2,141
    EMODIF,P51X,REAL,2,
    ESEL,all
    *ENDIF
    !--------------------------- Element 142 -----------------------------
    *IF,COUNT,EQ,0,THEN
    FLST,2,2,1
    FITEM,2,69
    FITEM,2,36
    E,P51X
    *ELSEIF,CSP2,EQ,2,THEN
    ESEL,S, , , 142
    FLST,2,1,2,ORDE,1
    FITEM,2,142
    EMODIF,P51X,REAL,2,
    ESEL,all
    *ENDIF
    ! ---------------------------- Element 143 ----------------------------
    *IF,COUNT,EQ,0,THEN
    FLST,2,2,1
    FITEM,2,71
    FITEM,2,32
    E,P51X
    *ELSEIF,CSP3,EQ,2,THEN
    ESEL,S, , , 143
    FLST,2,1,2,ORDE,1
    FITEM,2,143
    EMODIF,P51X,REAL,2,
    ESEL,all
    *ENDIF

    ! ewrite,file,txt,,1, ! writting elements properties
    FINISH
    ! ------------------------- End of preprocessor -------------------------

    !---------------------------------- Solve -------------------------------
    /SOL

    ANTYPE,0
    NLGEOM,1
    nropt,full ! it should be deactivated if edele command use instead of ekill
    NSUBST,20,0,0
    AUTOTS,0
    !OUTRES,ERASE
    !OUTRES,ALL,AL

    ! ------------------------------- Time step 1 ---------------------------
    *IF,COUNT,eq,0,THEN
    TIME,1
    *ENDIF
    !---------------------------- Other time steps --------------------------
    *IF,COUNT,ge,1,THEN
    parsave,all,mld
    ANTYPE,,RESTART
    parres,,mld
    ss=CSP2+1
    AAA=COUNT+1
    TIME, AAA
    *ENDIF
    COUNT=COUNT+1
    !------------------------- Applying boundary conditions -----------------
    FLST,2,21,1,ORDE,2
    FITEM,2,1
    FITEM,2,-21
    !*
    /GO
    D,P51X, , , , , ,ALL, , , , ,
    FLST,2,11,1,ORDE,2
    FITEM,2,64
    FITEM,2,-74
    !*
    /GO
    D,P51X, , , , , ,UY, , , , ,
    FLST,2,1,1,ORDE,1
    FITEM,2,99
    !*
    /GO
    F,P51X,FX,1*SCF

    ! /STATUS,SOLU
    SOLVE
    *status
    ! ------------------------------ End of Solution -------------------------

    /post1

    !-------------------------- Force in element 141 -------------------------
    ESEL,S, , , 141
    ETABLE,FSP141,SMISC,1
    *get,F141(COUNT),ELEM,141,ETAB,FSP141
    esel,all
    !-------------------------- Force in element 142 -------------------------
    ESEL,S, , , 142
    ETABLE,FSP142,SMISC,1
    *get,F142(COUNT),ELEM,142,ETAB,FSP142
    esel,all
    !-------------------------- Force in element 143 -------------------------
    ESEL,S, , , 143
    ETABLE,FSP143,SMISC,1
    *get,F143(COUNT),ELEM,143,ETAB,FSP143
    esel,all
    ! -------------------------- Checking conditions -------------------------
    *IF,CSP2,NE,2,THEN
    *IF,F142(COUNT),GT,2,THEN
    CSP2=2
    !ESEL,S, , , 142
    !FLST,2,1,2,ORDE,1
    !FITEM,2,142
    !EMODIF,P51X,REAL,2,
    *ENDIF
    *ENDIF
    FINISH
    /PREP7
    ewrite,file,txt,,1,
    FINISH
    *ENDDO
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Ansys workbench-spring with variable stiffness
Loading...