Author Topic: Diagonal solution  (Read 4774 times)

Alan

  • Jr. Member
  • **
  • Posts: 33
Diagonal solution
« on: July 01, 2020, 09:28:41 PM »
Dear All,

I'm trying to make a modify for the central difference method in dyna08.f and make it be able to solve a explicit problem(the boundary displacement is given but not acceleration). I can understand the time integration scheme easily. But I can't quite understand the system of equation of explicit. I don't know dr in pnodal.f represents what.  Additionally, the diagonal solution in psolve.f is difficult for me, could you give me some suggestion or reference about this diagonal solution?

Thanks for your help in advance.

Best.



Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1165
Re: Diagonal solution
« Reply #1 on: July 01, 2020, 11:30:09 PM »
This report may help you better understand how the dynamic time integrators are implemented in FEAP:

http://faculty.ce.berkeley.edu/sanjay/FEAP/ucb_semm_2010_07.pdf


RE pnodal.f dr is supposed to be the residual array.

Alan

  • Jr. Member
  • **
  • Posts: 33
Re: Diagonal solution
« Reply #2 on: July 02, 2020, 01:01:44 AM »
Dear Prof,

Is it enough to follow this file? According to my reading, this file only contains the time integration scheme, I don't know whether the explicit system of equation is correct because I find it's difficult to figure out the Diagonal solution(If dr means residual for the explicit), could you give me more suggestion about the explicit solver in Feap. 

Code: [Select]
Diagonal solution

          if(stype.eq.0) then

            aengy = 0.0d0
            do i = 0,neq-1
              if(hr(fp(1)+i) .ne. 0.0d0) then
                rsdi   = b(i+1)
                b(i+1) = b(i+1)/hr(fp(1)+i)
                aengy  = aengy + rsdi*b(i+1)
              endif
            end do

Thanks for your help in advance.

Best
« Last Edit: July 02, 2020, 01:35:54 AM by Alan »

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Diagonal solution
« Reply #3 on: July 02, 2020, 08:48:32 AM »
the explicit solver in feap is performed using the command FORM EXPL -- of course you need MASS DIAG first to have the mass matrix.  dr(*) will contain either the residual or after the diagonal solve the acceleration (or increment) to be used in the update in the dyna0x (which ever explicit is used).  You can follow the coding in pmacr1 in the [FORM, EXPL  option.

In general it is not wise to modify any of the feap standard command solutions in the pmacr*.f files.  Instead you should write your own umacr*.f module.

Alan

  • Jr. Member
  • **
  • Posts: 33
Re: Diagonal solution
« Reply #4 on: July 02, 2020, 05:38:27 PM »
Dear Prof,

Thanks for your help.

It helps me a lot really :)


Best