Dear FEAP programmers,
I am interested in including the BACK command in my user package for FEAP 8.4. Within the BACK subroutine autbac.f, there is a loop over the problem partitions. For each partition, the values of the displacement solution terms of the partition DOFs are 'backed up' using the velocities, in the subroutine update.f.
ub = u(i,n,2)*cc
j = eq(i,n)
c Compute values from current solution
if (j.gt.0) then
u(i,n,1) = u(i,n,1) - ub
u(i,n,2) = 0.0d0
u(i,n,3) = 0.0d0
c Compute values from forced inputs
else
du(neq-j) = 0.0d0
u(i,n,3) = 0.0d0
u(i,n,2) = 0.0d0
f(i,n,1) = f(i,n,2)
u(i,n,1) = f(i,n,2)
endif
This approach seems to be problematic for problem setups in which DOFs are part of multiple partitions, in which the displacement terms are backed up multiple times. For example, the solution process I am working with involves decoupled and monolithic solutions steps:
PARTition
1 1 1 0
0 0 0 1
1 1 1 1
One solution to this could be to simply loop over all nodes and their DOFs directly, without going through the partitions.
Is my understanding of this correct? What might be some non-obvious implications of changing the update procedure?
Best regards,
wklausler