Author Topic: Some questions about the program of isw = 6  (Read 4768 times)

Alan

  • Jr. Member
  • **
  • Posts: 33
Some questions about the program of isw = 6
« on: November 16, 2020, 11:36:50 PM »
Dear Professor,

I read the program for a long time, but I still have the following questions, could you help me understand them, because I think it would help me write the explicit contact subprogram.

1.what's the purpose of the codes near 545 lines of pmacr1.f, I don't know what's the meaning of 'Do an update', I just see dt     = dtold, it means updating the quantity last time?
c     Do an update if necesasry

      if(niter.le.1) then
        dtsav  = dt
        dt     = dtold
        hflgu  = .true.
        h3flgu = .true.
        call formfe(np(40),np(26),np(26),np(26),
     &             .false.,.false.,.false.,.false.,6,1,numel,1)
        dt     = dtsav
      endif

2.I can't understand why is the acceleration calculated by M*delta_a=delta_R (delta_R is stored in hr(np(26)))which is coded in piacel.f. Because I have read the program in resid3d.f, found that delta_R =  F_ext - P_inter - M*a and then assemble them into the hr(np(26)),  so what's the meaning of the residual in explicit solution?
« Last Edit: November 17, 2020, 06:32:55 AM by Alan »

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Some questions about the program of isw = 6
« Reply #1 on: November 17, 2020, 09:26:48 AM »
1. If one has only done 1 iteration in a non-linear material model the values in the history variables may not be updated to reflect the current solution -- this step ensures they are -- note that no solution is done with the residual and it is not assembled since all the flags are false.

2. In the feap explicit solutions the acceleration is used as the primary dependent variable.  Thus the residual is computing increments to the acceleration.  The residual is always the same, no matter what the solution scheme - that is the equation you must solve to be zero.  Normally, one does need to do iterations in an explicit scheme -- thus the title "explicit".  However, some contact for the "explicit" solution may be "implicit" and require iterations.

markus_h

  • New Member
  • *
  • Posts: 7
Re: Some questions about the program of isw = 6
« Reply #2 on: May 26, 2021, 06:00:10 AM »
Dear Professor,

I also stumbled across the aforementioned section of code while debugging my simulation.
Since I have a similar question i hope it is ok to append to this thread.

I am wondering why dt is set to dtold in Line 602 of pmacr2.f?
In my case, this broke my usermaterial because dt was set to 0.0 for the time of the update.

Would it be safe to use the normal dt for the update by commenting out the lines which set dt to dtold?

Kind Regards

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Some questions about the program of isw = 6
« Reply #3 on: May 26, 2021, 12:39:04 PM »
It appears that this is a problem for many situations and should only be invoked if not the first time the command is given.

What happens if you change the statement to:

         if(niter.le.1 .and. nstep.gt.0) then