I wrote a custom solver in usolve.f for the serial version of FEAP. I set 'solver = .false.' in a separate user macro.
The solver works fine, however, I've noticed that at each tangent call, iters() is called. However, for this particular problem, I know the connectivity and mesh remain the same. Therefore, the arrays jc, and ir, should rename constant. Is there a proper way for disabling subsequent calls to matrix allocation and subsequent iters calls?
I am currently running benchmarks for these GPU replacements for pform and usolve and while the total simulation time reported by the FEAP logfile is 16 seconds, my benchmark code reveals that my replacement subroutines only take 8 seconds. If possible, I'd like to minimize the other 8 seconds, and perhaps disabling the wasted reallocation should do the trick. The only solution commands I have in my input file are loop, time, next, and tang, so it is very minimal.
Thanks.