FEAP User Forum
FEAP => Programming => Topic started by: Alan 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.
-
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.
-
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.
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
-
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.
-
Dear Prof,
Thanks for your help.
It helps me a lot really :)
Best