22 int ns, nsims = TS->
nsims;
25 if (!TS->
rank)
if (sim[0].solver.write_residual) fclose((FILE*)TS->
ResidualFile);
27 #if defined(HAVE_CUDA) 28 if (sim[0].solver.use_gpu) {
29 if (!strcmp(sim[0].solver.time_scheme,
_RK_)) {
36 if (!strcmp(sim[0].solver.time_scheme,
_RK_)) {
39 for (i=0; i<params->
nstages; i++) free(TS->
U[i]); free(TS->
U);
45 }
else if (!strcmp(sim[0].solver.time_scheme,
_GLM_GEE_)) {
48 for (i=0; i<2*params->
r-1 ; i++) free(TS->
U[i]); free(TS->
U);
52 #if defined(HAVE_CUDA) 63 for (ns = 0; ns < nsims; ns++) {
Structure of variables/parameters and function pointers for time integration.
Contains function definitions for common array operations on GPU.
Structure defining a simulation.
Contains function declarations for time integration.
int TimeCleanup(void *ts)
double * gpu_BoundaryFlux
Structure containing the parameters for an explicit Runge-Kutta method.
Structure containing the parameters for the General Linear Methods with Global Error Estimators (GLM-...