Dear Prof. Taylor,
after declaring all the variables and arrays I do need during my element the following code-snipet is coded by me:
! Store all relevant values for later calls
save
! Set all element-temperatures to zero with double-precision
tl = 0.0d0
! ===========================================================================================
! Set flags for analytical solution and debugging mode
! ===========================================================================================
! set debugging-mode for log-file
debug = .true.
! set output of ISW-task on standard-out
ISWdebug = .true.
if( ISWdebug ) then
write(*,*) ''
write(*,*) 'Element: ',n,' isw: ', isw
endif
! list which jump-mark corresponds to which isw-task (first entry corresponds to isw=1, etc.)
go to ( 1, 2, 3, 4, 5, 3 ), isw
5 return
As far as I know the save-statement should only store all the values assigned to the previously declared variables, after that I am initializing vanishing nodal temperatures (I want to code a purely mechanical element), after that I am initializing to boolean flags and I have coded an output on stdout which tells me which element-number and which ISW-task currently is processed. The main part concerning my problem are the last three lines, in which I am defining, that FEAP should jump to the jumpmarks assigned to the ISW-tasks (if ISW equals 1 it should jump to the first jumpmark '1', if ISW equals 2 FEAP should jump to the jumpmark '2', and so on). If I understand your message correctly FEAP should jump to the jumpmark 3 if ISW equals '6' (the last defined jumpmark in my list) and for every value greather than 6 FEAP should proceed with the code and reach the return-statement after jumpmark 5. So at ISW 26 it should reach this return-statement and exit the code. But obviously FEAP doesn't reassign the ISW-flag/-value to an other value than 26 and so the next time my code is called the previously described behaviour occurs another time and this without ever modifying 'ISW'. So it seems to me, that FEAP needs something to be done at ISW 26, but defining a jumpmark for this ISW (defining jumpmark 5 for every ISW in between 7 and 25) with a code at jumpmark 26 nalogous to the code-snippet of solid2d.f (calling 'pcorner2d()' ) doesn't change anything the same infinite loop occurs.
I have compiled the FEAPpv 3.1 with exact the same code (opened my code for FEAP 8.4 and saved it in the FEAPpv 3.1-user-subfolder) and the code works fine never trying to call ISW 26 (Starting with ISW 1-> 14 -> 12 -> 3). Thats why I am confused of the behaviour of FEAP 8.4, because I have coded the element with the user and programmer manual of FEAP 8.4 so if it works for FEAPpv 3.1 it should work also for FEAP 8.4 (but not necessarily vice versa).