From f4ca753f16d2385cee6a92a84a79fbac52021ad1 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 16 Jan 2026 16:35:02 -0500 Subject: [PATCH 01/32] Added ARKODE user-callable routine to retrieve the current stage index and the total number of method stages --- CHANGELOG.md | 4 ++ .../guide/source/Usage/User_callable.rst | 16 +++++ doc/shared/RecentChanges.rst | 4 ++ include/arkode/arkode.h | 1 + src/arkode/arkode.c | 1 + src/arkode/arkode_arkstep.c | 5 +- src/arkode/arkode_arkstep_impl.h | 1 + src/arkode/arkode_arkstep_io.c | 20 ++++++ src/arkode/arkode_erkstep.c | 11 ++- src/arkode/arkode_erkstep_impl.h | 2 + src/arkode/arkode_erkstep_io.c | 20 ++++++ src/arkode/arkode_impl.h | 3 + src/arkode/arkode_io.c | 32 +++++++++ src/arkode/arkode_lsrkstep.c | 71 +++++++++++++++---- src/arkode/arkode_lsrkstep_impl.h | 4 +- src/arkode/arkode_lsrkstep_io.c | 20 ++++++ src/arkode/arkode_mristep.c | 21 +++++- src/arkode/arkode_mristep_impl.h | 1 + src/arkode/arkode_mristep_io.c | 20 ++++++ src/arkode/arkode_splittingstep.c | 29 ++++++++ src/arkode/arkode_splittingstep_impl.h | 1 + src/arkode/arkode_sprkstep.c | 1 + src/arkode/arkode_sprkstep_impl.h | 1 + src/arkode/arkode_sprkstep_io.c | 29 ++++++++ 24 files changed, 300 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9064f5545d..3472604a22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and IDAS, respectively. Multiple minor updates were made to the ARKODE package. We removed an extraneous copy of the output vector when using ARKODE in `ARK_ONE_STEP` mode. We added the +function `ARKodeGetStageIndex` that returns the index of the stage currently +being processed, and the total number of stages in the method, for users who must +compute auxiliary quantities in their IVP right-hand side functions during some +stages and not others (e.g., in all but the first or last stage). We added the function `ARKodeAllocateInternalData` to ARKODE to enable stage-related data allocation before the first call to `ARKodeEvolve` (but after all other optional input routines have been called), to support users who measure memory diff --git a/doc/arkode/guide/source/Usage/User_callable.rst b/doc/arkode/guide/source/Usage/User_callable.rst index ee77cabff6..39d3f7d05d 100644 --- a/doc/arkode/guide/source/Usage/User_callable.rst +++ b/doc/arkode/guide/source/Usage/User_callable.rst @@ -3641,6 +3641,7 @@ Estimated local truncation error vector :c:func:`ARKodeGetEstLoca Number of constraint test failures :c:func:`ARKodeGetNumConstrFails` Retrieve a pointer for user data :c:func:`ARKodeGetUserData` Retrieve the accumulated temporal error estimate :c:func:`ARKodeGetAccumulatedError` +Current stage index, and total number of stages :c:func:`ARKodeGetStageIndex` ===================================================== ============================================ @@ -4117,6 +4118,21 @@ Retrieve the accumulated temporal error estimate :c:func:`ARKodeGetAccumul .. versionadded:: 6.2.0 +.. c:function:: int ARKodeGetStageIndex(void* arkode_mem, int* stage, int *max_stages) + + Returns the index of the current stage (0-based) and the total number of + stages in the method. + + :param arkode_mem: pointer to the ARKODE memory block. + :param stage: pointer to storage for the current stage index. + :param max_stages: pointer to storage for the number of stages in the method. + + :retval ARK_SUCCESS: the function exited successfully. + :retval ARK_MEM_NULL: ``arkode_mem`` was ``NULL``. + + .. versionadded:: x.y.z + + diff --git a/doc/shared/RecentChanges.rst b/doc/shared/RecentChanges.rst index 5d084070bb..2ffc91dc5c 100644 --- a/doc/shared/RecentChanges.rst +++ b/doc/shared/RecentChanges.rst @@ -10,6 +10,10 @@ and IDAS, respectively. Multiple minor updates were made to the ARKODE package. We removed an extraneous copy of the output vector when using ARKODE in ``ARK_ONE_STEP`` mode. We added the +function :c:func:`ARKodeGetStageIndex` that returns the index of the stage currently +being processed, and the total number of stages in the method, for users who must +compute auxiliary quantities in their IVP right-hand side functions during some +stages and not others (e.g., in all but the first or last stage). We added the function :c:func:`ARKodeAllocateInternalData` to ARKODE to enable stage-related data allocation before the first call to :c:func:`ARKodeEvolve` (but after all other optional input routines have been called), to support users who measure memory diff --git a/include/arkode/arkode.h b/include/arkode/arkode.h index 1bfa9b4dae..5ab9debf29 100644 --- a/include/arkode/arkode.h +++ b/include/arkode/arkode.h @@ -381,6 +381,7 @@ SUNDIALS_EXPORT int ARKodePrintAllStats(void* arkode_mem, FILE* outfile, SUNOutputFormat fmt); SUNDIALS_EXPORT char* ARKodeGetReturnFlagName(long int flag); SUNDIALS_EXPORT int ARKodeWriteParameters(void* arkode_mem, FILE* fp); +SUNDIALS_EXPORT int ARKodeGetStageIndex(void* arkode_mem, int* stage, int *max_stages); /* Optional output functions (temporal adaptivity) */ SUNDIALS_EXPORT int ARKodeGetNumExpSteps(void* arkode_mem, long int* expsteps); diff --git a/src/arkode/arkode.c b/src/arkode/arkode.c index 5fab50cb67..cba49ca359 100644 --- a/src/arkode/arkode.c +++ b/src/arkode/arkode.c @@ -1574,6 +1574,7 @@ ARKodeMem arkCreate(SUNContext sunctx) ark_mem->step_getnumnonlinsolviters = NULL; ark_mem->step_getnumnonlinsolvconvfails = NULL; ark_mem->step_getnonlinsolvstats = NULL; + ark_mem->step_getstageindex = NULL; ark_mem->step_setforcing = NULL; ark_mem->step_mem = NULL; ark_mem->step_supports_adaptive = SUNFALSE; diff --git a/src/arkode/arkode_arkstep.c b/src/arkode/arkode_arkstep.c index e4e7dc8855..8305cdfc44 100644 --- a/src/arkode/arkode_arkstep.c +++ b/src/arkode/arkode_arkstep.c @@ -143,6 +143,7 @@ void* ARKStepCreate(ARKRhsFn fe, ARKRhsFn fi, sunrealtype t0, N_Vector y0, ark_mem->step_getnumnonlinsolvconvfails = arkStep_GetNumNonlinSolvConvFails; ark_mem->step_getnonlinsolvstats = arkStep_GetNonlinSolvStats; ark_mem->step_setforcing = arkStep_SetInnerForcing; + ark_mem->step_getstageindex = arkStep_GetStageIndex; ark_mem->step_supports_adaptive = SUNTRUE; ark_mem->step_supports_implicit = SUNTRUE; ark_mem->step_supports_massmatrix = SUNTRUE; @@ -1711,8 +1712,10 @@ int arkStep_TakeStep_Z(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) *nflagPtr = ARK_SUCCESS; } - /* initialize the current solution */ + /* initialize the current solution and stage index */ + ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* call nonlinear solver setup if it exists */ if (step_mem->NLS) diff --git a/src/arkode/arkode_arkstep_impl.h b/src/arkode/arkode_arkstep_impl.h index 48a7aa39c2..3399bb9bb7 100644 --- a/src/arkode/arkode_arkstep_impl.h +++ b/src/arkode/arkode_arkstep_impl.h @@ -243,6 +243,7 @@ void arkStep_Free(ARKodeMem ark_mem); void arkStep_PrintMem(ARKodeMem ark_mem, FILE* outfile); int arkStep_SetInnerForcing(ARKodeMem ark_mem, sunrealtype tshift, sunrealtype tscale, N_Vector* f, int nvecs); +int arkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages); /* Internal utility routines */ int arkStep_AccessARKODEStepMem(void* arkode_mem, const char* fname, diff --git a/src/arkode/arkode_arkstep_io.c b/src/arkode/arkode_arkstep_io.c index 59e41a00d6..8df2359edd 100644 --- a/src/arkode/arkode_arkstep_io.c +++ b/src/arkode/arkode_arkstep_io.c @@ -1298,6 +1298,26 @@ int arkStep_GetNonlinSolvStats(ARKodeMem ark_mem, long int* nniters, return (ARK_SUCCESS); } +/*--------------------------------------------------------------- + arkStep_GetStageIndex: + + Returns the current stage index and number of stages + ---------------------------------------------------------------*/ +int arkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) +{ + ARKodeARKStepMem step_mem; + int retval; + + /* access ARKodeARKStepMem structure */ + retval = arkStep_AccessStepMem(ark_mem, __func__, &step_mem); + if (retval != ARK_SUCCESS) { return (retval); } + + *stage = step_mem->istage; + *max_stages = step_mem->stages; + + return (ARK_SUCCESS); +} + /*--------------------------------------------------------------- arkStep_PrintAllStats: diff --git a/src/arkode/arkode_erkstep.c b/src/arkode/arkode_erkstep.c index 4ef1ef5ce7..521f8b597a 100644 --- a/src/arkode/arkode_erkstep.c +++ b/src/arkode/arkode_erkstep.c @@ -109,6 +109,7 @@ void* ERKStepCreate(ARKRhsFn f, sunrealtype t0, N_Vector y0, SUNContext sunctx) ark_mem->step_getnumrhsevals = erkStep_GetNumRhsEvals; ark_mem->step_getestlocalerrors = erkStep_GetEstLocalErrors; ark_mem->step_setforcing = erkStep_SetInnerForcing; + ark_mem->step_getstageindex = erkStep_GetStageIndex; ark_mem->step_supports_adaptive = SUNTRUE; ark_mem->step_supports_relaxation = SUNTRUE; ark_mem->step_mem = (void*)step_mem; @@ -364,6 +365,7 @@ void erkStep_PrintMem(ARKodeMem ark_mem, FILE* outfile) /* output integer quantities */ fprintf(outfile, "ERKStep: q = %i\n", step_mem->q); fprintf(outfile, "ERKStep: p = %i\n", step_mem->p); + fprintf(outfile, "ERKStep: istage = %i\n", step_mem->istage); fprintf(outfile, "ERKStep: stages = %i\n", step_mem->stages); /* output long integer quantities */ @@ -770,6 +772,11 @@ int erkStep_TakeStep(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) cvals = step_mem->cvals; Xvecs = step_mem->Xvecs; + /* initialize the current solution and stage index */ + ark_mem->tcur = ark_mem->tn; + N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; + SUNLogInfo(ARK_LOGGER, "begin-stages-list", "stage = 0, tcur = " SUN_FORMAT_G, ark_mem->tcur); SUNLogExtraDebugVec(ARK_LOGGER, "stage", ark_mem->yn, "z_0(:) ="); @@ -783,7 +790,6 @@ int erkStep_TakeStep(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) if (!(ark_mem->fn_is_current)) { mode = (ark_mem->initsetup) ? ARK_FULLRHS_START : ARK_FULLRHS_END; - N_VScale(ONE, ark_mem->yn, ark_mem->ycur); retval = ark_mem->step_fullrhs(ark_mem, ark_mem->tn, ark_mem->ycur, ark_mem->fn, mode); if (retval) @@ -837,6 +843,9 @@ int erkStep_TakeStep(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) the first stage RHS is just the full RHS from the start of the step */ for (is = 1; is < step_mem->stages; is++) { + /* store current stage index */ + step_mem->istage = is; + /* Set current stage time(s) */ ark_mem->tcur = ark_mem->tn + step_mem->B->c[is] * ark_mem->h; diff --git a/src/arkode/arkode_erkstep_impl.h b/src/arkode/arkode_erkstep_impl.h index b1eb08b4d9..3fe0e5e16c 100644 --- a/src/arkode/arkode_erkstep_impl.h +++ b/src/arkode/arkode_erkstep_impl.h @@ -58,6 +58,7 @@ typedef struct ARKodeERKStepMemRec N_Vector* F; /* explicit RHS at each stage */ int q; /* method order */ int p; /* embedding order */ + int istage; /* current stage */ int stages; /* number of stages */ ARKodeButcherTable B; /* ERK Butcher table */ @@ -106,6 +107,7 @@ int erkStep_GetNumRhsEvals(ARKodeMem ark_mem, int partition_index, int erkStep_GetEstLocalErrors(ARKodeMem ark_mem, N_Vector ele); int erkStep_SetInnerForcing(ARKodeMem ark_mem, sunrealtype tshift, sunrealtype tscale, N_Vector* f, int nvecs); +int erkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages); /* Internal utility routines */ int erkStep_AccessARKODEStepMem(void* arkode_mem, const char* fname, diff --git a/src/arkode/arkode_erkstep_io.c b/src/arkode/arkode_erkstep_io.c index 87905d6570..9c765e388f 100644 --- a/src/arkode/arkode_erkstep_io.c +++ b/src/arkode/arkode_erkstep_io.c @@ -398,6 +398,26 @@ int erkStep_GetEstLocalErrors(ARKodeMem ark_mem, N_Vector ele) return (ARK_SUCCESS); } +/*--------------------------------------------------------------- + erkStep_GetStageIndex: + + Returns the current stage index and number of stages + ---------------------------------------------------------------*/ +int erkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) +{ + ARKodeERKStepMem step_mem; + int retval; + + /* access ARKodeARKStepMem structure */ + retval = erkStep_AccessStepMem(ark_mem, __func__, &step_mem); + if (retval != ARK_SUCCESS) { return (retval); } + + *stage = step_mem->istage; + *max_stages = step_mem->stages; + + return (ARK_SUCCESS); +} + /*--------------------------------------------------------------- erkStep_PrintAllStats: diff --git a/src/arkode/arkode_impl.h b/src/arkode/arkode_impl.h index f7c2dd4a5f..932f581599 100644 --- a/src/arkode/arkode_impl.h +++ b/src/arkode/arkode_impl.h @@ -230,6 +230,8 @@ typedef int (*ARKTimestepSetUseCompensatedSums)(ARKodeMem ark_mem, sunbooleantype onoff); typedef int (*ARKTimestepSetOptions)(ARKodeMem ark_mem, int* argidx, char* argv[], size_t offset, sunbooleantype* arg_used); +typedef int (*ARKTimestepGetStageIndex)(ARKodeMem ark_mem, int* stage, + int *max_stages); /* time stepper interface functions -- temporal adaptivity */ typedef int (*ARKTimestepGetEstLocalErrors)(ARKodeMem ark_mem, N_Vector ele); @@ -424,6 +426,7 @@ struct ARKodeMemRec ARKTimestepSetStepDirection step_setstepdirection; ARKTimestepSetUseCompensatedSums step_setusecompensatedsums; ARKTimestepSetOptions step_setoptions; + ARKTimestepGetStageIndex step_getstageindex; /* Time stepper module -- temporal adaptivity */ sunbooleantype step_supports_adaptive; diff --git a/src/arkode/arkode_io.c b/src/arkode/arkode_io.c index a504f2b1e8..0f329288c5 100644 --- a/src/arkode/arkode_io.c +++ b/src/arkode/arkode_io.c @@ -3186,6 +3186,38 @@ int ARKodeGetUserData(void* arkode_mem, void** user_data) return (ARK_SUCCESS); } +/*--------------------------------------------------------------- + ARKodeGetStageIndex: + + Returns the index of the current stage and the total number of + stages. If this is not supplied by the time-stepping module + then it returns (0,1), indicating that it is currently in the + first of only a single stage. + ---------------------------------------------------------------*/ +int ARKodeGetStageIndex(void* arkode_mem, int* stage, int *max_stages) +{ + ARKodeMem ark_mem; + if (arkode_mem == NULL) + { + arkProcessError(NULL, ARK_MEM_NULL, __LINE__, __func__, __FILE__, + MSG_ARK_NO_MEM); + return (ARK_MEM_NULL); + } + ark_mem = (ARKodeMem)arkode_mem; + + /* Call stepper routine to compute the state (if provided) */ + if (ark_mem->step_getstageindex) + { + return (ark_mem->step_getstageindex(ark_mem, stage, max_stages)); + } + else + { + *stage = 0; + *max_stages = 1; + return (ARK_SUCCESS); + } +} + /*----------------------------------------------------------------- ARKodePrintAllStats diff --git a/src/arkode/arkode_lsrkstep.c b/src/arkode/arkode_lsrkstep.c index 7e6e357d05..c196595907 100644 --- a/src/arkode/arkode_lsrkstep.c +++ b/src/arkode/arkode_lsrkstep.c @@ -180,6 +180,7 @@ void* lsrkStep_Create_Commons(ARKRhsFn rhs, sunrealtype t0, N_Vector y0, ark_mem->step_setdefaults = lsrkStep_SetDefaults; ark_mem->step_getnumrhsevals = lsrkStep_GetNumRhsEvals; ark_mem->step_getestlocalerrors = lsrkStep_GetEstLocalErrors; + ark_mem->step_getstageindex = lsrkStep_GetStageIndex; ark_mem->step_mem = (void*)step_mem; ark_mem->step_supports_adaptive = SUNTRUE; @@ -579,9 +580,11 @@ int lsrkStep_TakeStepRKC(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) sunrealtype* cvals = step_mem->cvals; N_Vector* Xvecs = step_mem->Xvecs; - /* initialize the current solution */ + /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; + step_mem->req_stages = step_mem->stage_max_limit; /* Compute dominant eigenvalue and update stats */ if (step_mem->dom_eig_update) @@ -714,6 +717,9 @@ int lsrkStep_TakeStepRKC(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) /* Evaluate stages j = 2,...,step_mem->req_stages */ for (int j = 2; j <= step_mem->req_stages; j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Evaluate RHS and store in tempv3 */ ark_mem->tcur = ark_mem->tn + ark_mem->h * thjm1; @@ -818,6 +824,7 @@ int lsrkStep_TakeStepRKC(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) SUNLogInfo(ARK_LOGGER, "begin-compute-embedding", ""); /* final stage processing */ + step_mem->istage = step_mem->req_stages; ark_mem->tcur = ark_mem->tn + ark_mem->h; /* apply user-supplied stage preprocessing function (if supplied) */ @@ -923,9 +930,11 @@ int lsrkStep_TakeStepRKL(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) sunrealtype* cvals = step_mem->cvals; N_Vector* Xvecs = step_mem->Xvecs; - /* Initialize the current solution */ + /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; + step_mem->req_stages = step_mem->stage_max_limit; /* Compute dominant eigenvalue and update stats */ if (step_mem->dom_eig_update) @@ -1048,6 +1057,9 @@ int lsrkStep_TakeStepRKL(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) /* Evaluate stages j = 2,...,step_mem->req_stages */ for (int j = 2; j <= step_mem->req_stages; j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Evaluate RHS and store in tempv3 */ ark_mem->tcur = ark_mem->tn + ark_mem->h * cjm1; @@ -1140,9 +1152,10 @@ int lsrkStep_TakeStepRKL(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) SUNLogInfo(ARK_LOGGER, "end-stages-list", "status = success"); SUNLogExtraDebugVec(ARK_LOGGER, "updated solution", ark_mem->ycur, "ycur(:) ="); + SUNLogInfo(ARK_LOGGER, "begin-compute-embedding", ""); /* final stage processing */ - SUNLogInfo(ARK_LOGGER, "begin-compute-embedding", ""); + step_mem->istage = step_mem->req_stages; ark_mem->tcur = ark_mem->tn + ark_mem->h; /* apply user-supplied stage preprocessing function (if supplied) */ @@ -1238,9 +1251,10 @@ int lsrkStep_TakeStepSSPs2(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr sunrealtype* cvals = step_mem->cvals; N_Vector* Xvecs = step_mem->Xvecs; - /* Initialize the current solution */ + /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* Initialize method coefficients */ const sunrealtype rs = (sunrealtype)step_mem->req_stages; @@ -1328,6 +1342,9 @@ int lsrkStep_TakeStepSSPs2(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr /* Evaluate stages j = 2,...,step_mem->req_stages - 1 */ for (int j = 2; j < step_mem->req_stages; j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Complete previous stage by evaluating RHS and storing it in tempv2 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hsm1inv; @@ -1383,6 +1400,7 @@ int lsrkStep_TakeStepSSPs2(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr } /* Complete the next-to-last stage by evaluating the RHS and storing it in tempv2 */ + step_mem->istage = step_mem->req_stages-1; ark_mem->tcur = ark_mem->tn + ark_mem->h; if (ark_mem->PreProcessRHS != NULL) { @@ -1487,9 +1505,10 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr sunrealtype* cvals = step_mem->cvals; N_Vector* Xvecs = step_mem->Xvecs; - /* Initialize the current solution */ + /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* Initialize method coefficients */ const sunrealtype rs = (sunrealtype)step_mem->req_stages; @@ -1563,6 +1582,9 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr /* Evaluate first stage group */ for (int j = 2; j <= ((in - 1) * (in - 2) / 2); j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Complete previous stage by evaluating RHS and storing it in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hrat; @@ -1624,6 +1646,9 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr /* Evaluate second stage group */ for (int j = ((in - 1) * (in - 2) / 2 + 1); j <= (in * (in + 1) / 2 - 1); j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Complete previous stage by evaluating RHS and storing it in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hrat; @@ -1680,6 +1705,7 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr } /* Complete the last stage from the second stage group */ + step_mem->istage = (in * (in + 1) / 2 - 1); ark_mem->tcur = ark_mem->tn + hrat * (rn * (rn + ONE) / TWO - ONE); /* apply user-supplied stage preprocessing function (if supplied) */ @@ -1747,6 +1773,9 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr /* Evaluate final stage group */ for (int j = (in * (in + 1) / 2 + 1); j <= step_mem->req_stages; j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Complete the previous stage */ ark_mem->tcur = ark_mem->tn + (j - in - 1) * hrat; @@ -1864,9 +1893,10 @@ int lsrkStep_TakeStepSSP43(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr sunrealtype* cvals = step_mem->cvals; N_Vector* Xvecs = step_mem->Xvecs; - /* Initialize the current solution */ + /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* Initialize method coefficients */ const sunrealtype rs = SUN_RCONST(4.0); @@ -1935,6 +1965,9 @@ int lsrkStep_TakeStepSSP43(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr } } + /* update stage index */ + step_mem->istage = 1; + /* apply user-supplied stage preprocessing function (if supplied) */ if (ark_mem->PreProcessRHS != NULL) { @@ -1985,6 +2018,9 @@ int lsrkStep_TakeStepSSP43(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr } } + /* update stage index */ + step_mem->istage = 2; + /* Evaluate stage RHS */ /* apply user-supplied stage preprocessing function (if supplied) */ @@ -2048,6 +2084,9 @@ int lsrkStep_TakeStepSSP43(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr } } + /* update stage index */ + step_mem->istage = 3; + /* Evaluate stage RHS */ /* apply user-supplied stage preprocessing function (if supplied) */ @@ -2140,9 +2179,10 @@ int lsrkStep_TakeStepSSP104(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt sunrealtype* cvals = step_mem->cvals; N_Vector* Xvecs = step_mem->Xvecs; - /* Initialize the current solution */ + /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* Initialize method coefficients */ const sunrealtype hsixth = ark_mem->h / SIX; @@ -2215,6 +2255,9 @@ int lsrkStep_TakeStepSSP104(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt /* Evaluate stages j = 2,...,4 */ for (int j = 2; j <= 5; j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Complete previous stage by evaluating RHS and storing in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hsixth; @@ -2301,6 +2344,9 @@ int lsrkStep_TakeStepSSP104(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt /* Evaluate stages j = 6,...,9 */ for (int j = 6; j <= 9; j++) { + /* set stage index (0-based) */ + step_mem->istage = j-1; + /* Complete previous stage by evaluating RHS and storing in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 4) * hsixth; @@ -2361,7 +2407,10 @@ int lsrkStep_TakeStepSSP104(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt } } - /* Complete the 9th stage by evaluating RHS and storing in tempv3 */ + /* set stage index (0-based) */ + step_mem->istage = 9; + + /* Complete the last stage by evaluating RHS and storing in tempv3 */ ark_mem->tcur = ark_mem->tn + ark_mem->h; /* apply user-supplied stage preprocessing function (if supplied) */ @@ -2494,18 +2543,16 @@ void lsrkStep_PrintMem(ARKodeMem ark_mem, FILE* outfile) fprintf(outfile, "LSRKStep: q = %i\n", step_mem->q); fprintf(outfile, "LSRKStep: p = %i\n", step_mem->p); + fprintf(outfile, "LSRKStep: istage = %i\n", step_mem->istage); + fprintf(outfile, "LSRKStep: req_stages = %i\n", step_mem->req_stages); if (step_mem->is_SSP) { - fprintf(outfile, "LSRKStep: req_stages = %i\n", - step_mem->req_stages); fprintf(outfile, "LSRKStep: nfe = %li\n", step_mem->nfe); } else if (!step_mem->is_SSP) { /* output integer quantities */ - fprintf(outfile, "LSRKStep: req_stages = %i\n", - step_mem->req_stages); fprintf(outfile, "LSRKStep: dom_eig_nst = %li\n", step_mem->dom_eig_nst); fprintf(outfile, "LSRKStep: stage_max = %i\n", diff --git a/src/arkode/arkode_lsrkstep_impl.h b/src/arkode/arkode_lsrkstep_impl.h index 97675f600f..605eb8e152 100644 --- a/src/arkode/arkode_lsrkstep_impl.h +++ b/src/arkode/arkode_lsrkstep_impl.h @@ -139,7 +139,8 @@ typedef struct ARKodeLSRKStepMemRec int q; /* method order */ int p; /* embedding order */ - int req_stages; /* number of requested stages */ + int istage; /* current stage */ + int req_stages; /* number of stages in step */ ARKODE_LSRKMethodType LSRKmethod; @@ -209,6 +210,7 @@ void lsrkStep_PrintMem(ARKodeMem ark_mem, FILE* outfile); int lsrkStep_GetNumRhsEvals(ARKodeMem ark_mem, int partition_index, long int* rhs_evals); int lsrkStep_GetEstLocalErrors(ARKodeMem ark_mem, N_Vector ele); +int lsrkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages); /* Internal utility routines */ int lsrkStep_AccessARKODEStepMem(void* arkode_mem, const char* fname, diff --git a/src/arkode/arkode_lsrkstep_io.c b/src/arkode/arkode_lsrkstep_io.c index d5bd5fb3ce..aed94f1a6e 100644 --- a/src/arkode/arkode_lsrkstep_io.c +++ b/src/arkode/arkode_lsrkstep_io.c @@ -771,6 +771,26 @@ int lsrkStep_SetDefaults(ARKodeMem ark_mem) return ARK_SUCCESS; } +/*--------------------------------------------------------------- + lsrkStep_GetStageIndex: + + Returns the current stage index and number of stages + ---------------------------------------------------------------*/ +int lsrkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) +{ + ARKodeLSRKStepMem step_mem; + int retval; + + /* access ARKodeLSRKStepMem structure */ + retval = lsrkStep_AccessStepMem(ark_mem, __func__, &step_mem); + if (retval != ARK_SUCCESS) { return (retval); } + + *stage = step_mem->istage; + *max_stages = step_mem->req_stages; + + return (ARK_SUCCESS); +} + /*--------------------------------------------------------------- lsrkStep_PrintAllStats: diff --git a/src/arkode/arkode_mristep.c b/src/arkode/arkode_mristep.c index 5a7b03f26b..3dd5404e61 100644 --- a/src/arkode/arkode_mristep.c +++ b/src/arkode/arkode_mristep.c @@ -140,6 +140,7 @@ void* MRIStepCreate(ARKRhsFn fse, ARKRhsFn fsi, sunrealtype t0, N_Vector y0, ark_mem->step_getnumnonlinsolvconvfails = mriStep_GetNumNonlinSolvConvFails; ark_mem->step_getnonlinsolvstats = mriStep_GetNonlinSolvStats; ark_mem->step_setforcing = mriStep_SetInnerForcing; + ark_mem->step_getstageindex = mriStep_GetStageIndex; ark_mem->step_supports_adaptive = SUNTRUE; ark_mem->step_supports_implicit = SUNTRUE; ark_mem->step_mem = (void*)step_mem; @@ -1839,7 +1840,9 @@ int mriStep_TakeStepMRIGARK(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt (ark_mem->AccumErrorType != ARK_ACCUMERROR_NONE); /* initialize the current solution */ + ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* if MRI adaptivity is enabled: reset fast accumulated error, and send appropriate control parameter to the fast integrator */ @@ -1952,6 +1955,9 @@ int mriStep_TakeStepMRIGARK(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt /* Loop over remaining internal stages */ for (is = 1; is < step_mem->stages - 1; is++) { + /* Set current stage index (0-based) */ + step_mem->istage = is; + /* Set relevant stage times (including desired stage time for implicit solves) */ t0 = ark_mem->tn + step_mem->MRIC->c[is - 1] * ark_mem->h; tf = ark_mem->tcur = ark_mem->tn + step_mem->MRIC->c[is] * ark_mem->h; @@ -2139,7 +2145,8 @@ int mriStep_TakeStepMRIGARK(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt /* perform embedded stage (if needed) */ if (do_embedding) { - is = step_mem->stages; + /* Set current stage index */ + step_mem->istage = is = step_mem->stages; /* Copy ark_mem->ycur into ark_mem->tempv4, since it serves as the initial condition for both this embedding stage, and the subsequent final stage. */ @@ -2217,7 +2224,8 @@ int mriStep_TakeStepMRIGARK(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt /* Compute final stage (for evolved solution), along with error estimate */ { - is = step_mem->stages - 1; + /* Set current stage index */ + step_mem->istage = is = step_mem->stages - 1; /* Set relevant stage times (including desired stage time for implicit solves) */ t0 = ark_mem->tn + step_mem->MRIC->c[is - 1] * ark_mem->h; @@ -2388,7 +2396,9 @@ int mriStep_TakeStepMRISR(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) ytemp = ark_mem->tempv2; /* initialize the current solution */ + ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* if MRI adaptivity is enabled: reset fast accumulated error, and send appropriate control parameter to the fast integrator */ @@ -2502,6 +2512,9 @@ int mriStep_TakeStepMRISR(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) /* Loop over stages */ for (stage = 1; stage < max_stages; stage++) { + /* Set current stage index */ + step_mem->istage = stage; + /* Determine if this is an "embedding" or "solution" stage */ solution = (stage == step_mem->stages - 1); embedding = (stage == step_mem->stages); @@ -2870,7 +2883,9 @@ int mriStep_TakeStepMERK(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) t0 = ark_mem->tn; /* initialize the current solution */ + ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; /* if MRI adaptivity is enabled: reset fast accumulated error, and send appropriate control parameter to the fast integrator */ @@ -2990,7 +3005,7 @@ int mriStep_TakeStepMERK(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) { /* Get stage index from group; skip to the next group if we've reached the end of this one */ - stage = step_mem->MRIC->group[ig][is]; + step_mem->istage = stage = step_mem->MRIC->group[ig][is]; if (stage < 0) { break; } nextstage = -1; if (stage < step_mem->stages) diff --git a/src/arkode/arkode_mristep_impl.h b/src/arkode/arkode_mristep_impl.h index 482fe51c18..db8a80b3ca 100644 --- a/src/arkode/arkode_mristep_impl.h +++ b/src/arkode/arkode_mristep_impl.h @@ -269,6 +269,7 @@ int mriStep_GetNumNonlinSolvIters(ARKodeMem ark_mem, long int* nniters); int mriStep_GetNumNonlinSolvConvFails(ARKodeMem ark_mem, long int* nnfails); int mriStep_GetNonlinSolvStats(ARKodeMem ark_mem, long int* nniters, long int* nnfails); +int mriStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages); int mriStep_PrintAllStats(ARKodeMem ark_mem, FILE* outfile, SUNOutputFormat fmt); int mriStep_WriteParameters(ARKodeMem ark_mem, FILE* fp); int mriStep_Reset(ARKodeMem ark_mem, sunrealtype tR, N_Vector yR); diff --git a/src/arkode/arkode_mristep_io.c b/src/arkode/arkode_mristep_io.c index b1cc54a624..acb3f72822 100644 --- a/src/arkode/arkode_mristep_io.c +++ b/src/arkode/arkode_mristep_io.c @@ -828,6 +828,26 @@ int mriStep_GetNonlinSolvStats(ARKodeMem ark_mem, long int* nniters, return (ARK_SUCCESS); } +/*--------------------------------------------------------------- + mriStep_GetStageIndex: + + Returns the current stage index and number of stages + ---------------------------------------------------------------*/ +int mriStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) +{ + ARKodeMRIStepMem step_mem; + int retval; + + /* access ARKodeMRIStepMem structure */ + retval = mriStep_AccessStepMem(ark_mem, __func__, &step_mem); + if (retval != ARK_SUCCESS) { return (retval); } + + *stage = step_mem->istage; + *max_stages = step_mem->stages; + + return (ARK_SUCCESS); +} + /*--------------------------------------------------------------- mriStep_PrintAllStats: diff --git a/src/arkode/arkode_splittingstep.c b/src/arkode/arkode_splittingstep.c index 11936b4826..e5c146b29e 100644 --- a/src/arkode/arkode_splittingstep.c +++ b/src/arkode/arkode_splittingstep.c @@ -312,7 +312,9 @@ static int splittingStep_TakeStep(ARKodeMem ark_mem, sunrealtype* dsmPtr, SUNLogInfo(ARK_LOGGER, "begin-sequential-methods-list", "sequential method = 0"); + ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); + step_mem->istage = 0; retval = splittingStep_SequentialMethod(ark_mem, step_mem, 0, ark_mem->ycur); SUNLogExtraDebugVec(ARK_LOGGER, "sequential state", ark_mem->ycur, "y_seq(:) ="); @@ -332,6 +334,7 @@ static int splittingStep_TakeStep(ARKodeMem ark_mem, sunrealtype* dsmPtr, for (int i = 1; i < coefficients->sequential_methods; i++) { + step_mem->istage = i; SUNLogInfo(ARK_LOGGER, "begin-sequential-methods-list", "sequential method = %i", i); @@ -424,6 +427,7 @@ static void splittingStep_PrintMem(ARKodeMem ark_mem, FILE* outfile) if (retval != ARK_SUCCESS) { return; } /* output integer quantities */ + fprintf(outfile, "SplittingStep: istage = %i\n", step_mem->istage); fprintf(outfile, "SplittingStep: partitions = %i\n", step_mem->partitions); fprintf(outfile, "SplittingStep: order = %i\n", step_mem->order); @@ -456,6 +460,30 @@ static int splittingStep_SetOrder(ARKodeMem ark_mem, int order) return ARK_SUCCESS; } +/*--------------------------------------------------------------- + Returns the current stage index and number of stages + ---------------------------------------------------------------*/ +int splittingStep_GetStageIndex(ARKodeMem ark_mem, int* istage, int* num_stages) +{ + ARKodeSplittingStepMem step_mem; + int retval = splittingStep_AccessStepMem(ark_mem, __func__, &step_mem); + if (retval != ARK_SUCCESS) { return (retval); } + + /* if coefficients structure is not yet available, return defaults */ + if (step_mem->coefficients == NULL) + { + *istage = 0; + *num_stages = 1; + } + else + { + *istage = step_mem->istage; + *num_stages = step_mem->coefficients->sequential_methods; + } + + return (ARK_SUCCESS); +} + /*------------------------------------------------------------------------------ Routine to set SplittingStep options ----------------------------------------------------------------------------*/ @@ -662,6 +690,7 @@ void* SplittingStepCreate(SUNStepper* steppers, int partitions, sunrealtype t0, ark_mem->step_setoptions = splittingStep_SetOptions; ark_mem->step_setdefaults = splittingStep_SetDefaults; ark_mem->step_setorder = splittingStep_SetOrder; + ark_mem->step_getstageindex = splittingStep_GetStageIndex; ark_mem->step_mem = (void*)step_mem; /* Set default values for ARKStep optional inputs */ diff --git a/src/arkode/arkode_splittingstep_impl.h b/src/arkode/arkode_splittingstep_impl.h index fe50b79d9e..55cd1eea8a 100644 --- a/src/arkode/arkode_splittingstep_impl.h +++ b/src/arkode/arkode_splittingstep_impl.h @@ -28,6 +28,7 @@ typedef struct ARKodeSplittingStepMemRec SplittingStepCoefficients coefficients; long int* n_stepper_evolves; + int istage; int partitions; int order; }* ARKodeSplittingStepMem; diff --git a/src/arkode/arkode_sprkstep.c b/src/arkode/arkode_sprkstep.c index cb4ab1fd2b..a36514deb6 100644 --- a/src/arkode/arkode_sprkstep.c +++ b/src/arkode/arkode_sprkstep.c @@ -123,6 +123,7 @@ void* SPRKStepCreate(ARKRhsFn f1, ARKRhsFn f2, sunrealtype t0, N_Vector y0, ark_mem->step_setdefaults = sprkStep_SetDefaults; ark_mem->step_setorder = sprkStep_SetOrder; ark_mem->step_getnumrhsevals = sprkStep_GetNumRhsEvals; + ark_mem->step_getstageindex = sprkStep_GetStageIndex; ark_mem->step_mem = (void*)step_mem; /* Set default values for optional inputs */ diff --git a/src/arkode/arkode_sprkstep_impl.h b/src/arkode/arkode_sprkstep_impl.h index 5a0c8b2ea9..d5ff69312b 100644 --- a/src/arkode/arkode_sprkstep_impl.h +++ b/src/arkode/arkode_sprkstep_impl.h @@ -91,6 +91,7 @@ void sprkStep_Free(ARKodeMem ark_mem); void sprkStep_PrintMem(ARKodeMem ark_mem, FILE* outfile); int sprkStep_GetNumRhsEvals(ARKodeMem ark_mem, int partition_index, long int* rhs_evals); +int sprkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages); /* Internal utility routines */ int sprkStep_AccessARKODEStepMem(void* arkode_mem, const char* fname, diff --git a/src/arkode/arkode_sprkstep_io.c b/src/arkode/arkode_sprkstep_io.c index 8d1fd840a3..3f5a919106 100644 --- a/src/arkode/arkode_sprkstep_io.c +++ b/src/arkode/arkode_sprkstep_io.c @@ -275,6 +275,35 @@ int sprkStep_SetOrder(ARKodeMem ark_mem, int ord) return (ARK_SUCCESS); } +/*--------------------------------------------------------------- + sprkStep_GetStageIndex: + + Returns the current stage index and number of stages + ---------------------------------------------------------------*/ +int sprkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) +{ + ARKodeSPRKStepMem step_mem; + int retval; + + /* access ARKodeSPRKStepMem structure */ + retval = sprkStep_AccessStepMem(ark_mem, __func__, &step_mem); + if (retval != ARK_SUCCESS) { return (retval); } + + /* if table is not yet set, return defaults */ + if (step_mem->method == NULL) + { + *stage = 0; + *max_stages = 1; + } + else + { + *stage = step_mem->istage; + *max_stages = step_mem->method->stages; + } + + return (ARK_SUCCESS); +} + /*--------------------------------------------------------------- sprkStep_PrintAllStats: From cfd35c79a798c245462c2486ecd5003cfcdd4d86 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Sat, 17 Jan 2026 18:53:25 -0500 Subject: [PATCH 02/32] Formatting --- include/arkode/arkode.h | 3 ++- src/arkode/arkode_arkstep_io.c | 2 +- src/arkode/arkode_erkstep.c | 2 +- src/arkode/arkode_erkstep_io.c | 2 +- src/arkode/arkode_impl.h | 2 +- src/arkode/arkode_io.c | 4 ++-- src/arkode/arkode_lsrkstep.c | 30 +++++++++++++++--------------- src/arkode/arkode_lsrkstep_io.c | 2 +- src/arkode/arkode_mristep_io.c | 2 +- src/arkode/arkode_splittingstep.c | 4 ++-- src/arkode/arkode_sprkstep_io.c | 4 ++-- 11 files changed, 29 insertions(+), 28 deletions(-) diff --git a/include/arkode/arkode.h b/include/arkode/arkode.h index 5ab9debf29..03310147ec 100644 --- a/include/arkode/arkode.h +++ b/include/arkode/arkode.h @@ -381,7 +381,8 @@ SUNDIALS_EXPORT int ARKodePrintAllStats(void* arkode_mem, FILE* outfile, SUNOutputFormat fmt); SUNDIALS_EXPORT char* ARKodeGetReturnFlagName(long int flag); SUNDIALS_EXPORT int ARKodeWriteParameters(void* arkode_mem, FILE* fp); -SUNDIALS_EXPORT int ARKodeGetStageIndex(void* arkode_mem, int* stage, int *max_stages); +SUNDIALS_EXPORT int ARKodeGetStageIndex(void* arkode_mem, int* stage, + int* max_stages); /* Optional output functions (temporal adaptivity) */ SUNDIALS_EXPORT int ARKodeGetNumExpSteps(void* arkode_mem, long int* expsteps); diff --git a/src/arkode/arkode_arkstep_io.c b/src/arkode/arkode_arkstep_io.c index 8df2359edd..f4f88657b7 100644 --- a/src/arkode/arkode_arkstep_io.c +++ b/src/arkode/arkode_arkstep_io.c @@ -1312,7 +1312,7 @@ int arkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) retval = arkStep_AccessStepMem(ark_mem, __func__, &step_mem); if (retval != ARK_SUCCESS) { return (retval); } - *stage = step_mem->istage; + *stage = step_mem->istage; *max_stages = step_mem->stages; return (ARK_SUCCESS); diff --git a/src/arkode/arkode_erkstep.c b/src/arkode/arkode_erkstep.c index 4649969e0c..ad0a55ae4c 100644 --- a/src/arkode/arkode_erkstep.c +++ b/src/arkode/arkode_erkstep.c @@ -789,7 +789,7 @@ int erkStep_TakeStep(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) if (!(ark_mem->fn_is_current)) { - mode = (ark_mem->initsetup) ? ARK_FULLRHS_START : ARK_FULLRHS_END; + mode = (ark_mem->initsetup) ? ARK_FULLRHS_START : ARK_FULLRHS_END; retval = ark_mem->step_fullrhs(ark_mem, ark_mem->tn, ark_mem->ycur, ark_mem->fn, mode); if (retval) diff --git a/src/arkode/arkode_erkstep_io.c b/src/arkode/arkode_erkstep_io.c index 9c765e388f..e2be81ecb3 100644 --- a/src/arkode/arkode_erkstep_io.c +++ b/src/arkode/arkode_erkstep_io.c @@ -412,7 +412,7 @@ int erkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) retval = erkStep_AccessStepMem(ark_mem, __func__, &step_mem); if (retval != ARK_SUCCESS) { return (retval); } - *stage = step_mem->istage; + *stage = step_mem->istage; *max_stages = step_mem->stages; return (ARK_SUCCESS); diff --git a/src/arkode/arkode_impl.h b/src/arkode/arkode_impl.h index 932f581599..0df57d92c2 100644 --- a/src/arkode/arkode_impl.h +++ b/src/arkode/arkode_impl.h @@ -231,7 +231,7 @@ typedef int (*ARKTimestepSetUseCompensatedSums)(ARKodeMem ark_mem, typedef int (*ARKTimestepSetOptions)(ARKodeMem ark_mem, int* argidx, char* argv[], size_t offset, sunbooleantype* arg_used); typedef int (*ARKTimestepGetStageIndex)(ARKodeMem ark_mem, int* stage, - int *max_stages); + int* max_stages); /* time stepper interface functions -- temporal adaptivity */ typedef int (*ARKTimestepGetEstLocalErrors)(ARKodeMem ark_mem, N_Vector ele); diff --git a/src/arkode/arkode_io.c b/src/arkode/arkode_io.c index 0f329288c5..551cad0ab4 100644 --- a/src/arkode/arkode_io.c +++ b/src/arkode/arkode_io.c @@ -3194,7 +3194,7 @@ int ARKodeGetUserData(void* arkode_mem, void** user_data) then it returns (0,1), indicating that it is currently in the first of only a single stage. ---------------------------------------------------------------*/ -int ARKodeGetStageIndex(void* arkode_mem, int* stage, int *max_stages) +int ARKodeGetStageIndex(void* arkode_mem, int* stage, int* max_stages) { ARKodeMem ark_mem; if (arkode_mem == NULL) @@ -3212,7 +3212,7 @@ int ARKodeGetStageIndex(void* arkode_mem, int* stage, int *max_stages) } else { - *stage = 0; + *stage = 0; *max_stages = 1; return (ARK_SUCCESS); } diff --git a/src/arkode/arkode_lsrkstep.c b/src/arkode/arkode_lsrkstep.c index c196595907..6e0837aaf4 100644 --- a/src/arkode/arkode_lsrkstep.c +++ b/src/arkode/arkode_lsrkstep.c @@ -583,7 +583,7 @@ int lsrkStep_TakeStepRKC(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); - step_mem->istage = 0; + step_mem->istage = 0; step_mem->req_stages = step_mem->stage_max_limit; /* Compute dominant eigenvalue and update stats */ @@ -718,7 +718,7 @@ int lsrkStep_TakeStepRKC(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) for (int j = 2; j <= step_mem->req_stages; j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Evaluate RHS and store in tempv3 */ ark_mem->tcur = ark_mem->tn + ark_mem->h * thjm1; @@ -825,7 +825,7 @@ int lsrkStep_TakeStepRKC(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) /* final stage processing */ step_mem->istage = step_mem->req_stages; - ark_mem->tcur = ark_mem->tn + ark_mem->h; + ark_mem->tcur = ark_mem->tn + ark_mem->h; /* apply user-supplied stage preprocessing function (if supplied) */ if (ark_mem->PreProcessRHS != NULL) @@ -933,7 +933,7 @@ int lsrkStep_TakeStepRKL(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) /* Initialize the current solution and stage index */ ark_mem->tcur = ark_mem->tn; N_VScale(ONE, ark_mem->yn, ark_mem->ycur); - step_mem->istage = 0; + step_mem->istage = 0; step_mem->req_stages = step_mem->stage_max_limit; /* Compute dominant eigenvalue and update stats */ @@ -1058,7 +1058,7 @@ int lsrkStep_TakeStepRKL(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) for (int j = 2; j <= step_mem->req_stages; j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Evaluate RHS and store in tempv3 */ ark_mem->tcur = ark_mem->tn + ark_mem->h * cjm1; @@ -1156,7 +1156,7 @@ int lsrkStep_TakeStepRKL(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) /* final stage processing */ step_mem->istage = step_mem->req_stages; - ark_mem->tcur = ark_mem->tn + ark_mem->h; + ark_mem->tcur = ark_mem->tn + ark_mem->h; /* apply user-supplied stage preprocessing function (if supplied) */ if (ark_mem->PreProcessRHS != NULL) @@ -1343,7 +1343,7 @@ int lsrkStep_TakeStepSSPs2(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr for (int j = 2; j < step_mem->req_stages; j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Complete previous stage by evaluating RHS and storing it in tempv2 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hsm1inv; @@ -1400,8 +1400,8 @@ int lsrkStep_TakeStepSSPs2(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr } /* Complete the next-to-last stage by evaluating the RHS and storing it in tempv2 */ - step_mem->istage = step_mem->req_stages-1; - ark_mem->tcur = ark_mem->tn + ark_mem->h; + step_mem->istage = step_mem->req_stages - 1; + ark_mem->tcur = ark_mem->tn + ark_mem->h; if (ark_mem->PreProcessRHS != NULL) { retval = ark_mem->PreProcessRHS(ark_mem->tcur, ark_mem->ycur, @@ -1583,7 +1583,7 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr for (int j = 2; j <= ((in - 1) * (in - 2) / 2); j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Complete previous stage by evaluating RHS and storing it in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hrat; @@ -1647,7 +1647,7 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr for (int j = ((in - 1) * (in - 2) / 2 + 1); j <= (in * (in + 1) / 2 - 1); j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Complete previous stage by evaluating RHS and storing it in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hrat; @@ -1706,7 +1706,7 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr /* Complete the last stage from the second stage group */ step_mem->istage = (in * (in + 1) / 2 - 1); - ark_mem->tcur = ark_mem->tn + hrat * (rn * (rn + ONE) / TWO - ONE); + ark_mem->tcur = ark_mem->tn + hrat * (rn * (rn + ONE) / TWO - ONE); /* apply user-supplied stage preprocessing function (if supplied) */ if (ark_mem->PreProcessRHS != NULL) @@ -1774,7 +1774,7 @@ int lsrkStep_TakeStepSSPs3(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr for (int j = (in * (in + 1) / 2 + 1); j <= step_mem->req_stages; j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Complete the previous stage */ ark_mem->tcur = ark_mem->tn + (j - in - 1) * hrat; @@ -2256,7 +2256,7 @@ int lsrkStep_TakeStepSSP104(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt for (int j = 2; j <= 5; j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Complete previous stage by evaluating RHS and storing in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 1) * hsixth; @@ -2345,7 +2345,7 @@ int lsrkStep_TakeStepSSP104(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPt for (int j = 6; j <= 9; j++) { /* set stage index (0-based) */ - step_mem->istage = j-1; + step_mem->istage = j - 1; /* Complete previous stage by evaluating RHS and storing in tempv3 */ ark_mem->tcur = ark_mem->tn + (j - 4) * hsixth; diff --git a/src/arkode/arkode_lsrkstep_io.c b/src/arkode/arkode_lsrkstep_io.c index aed94f1a6e..4c9f31f958 100644 --- a/src/arkode/arkode_lsrkstep_io.c +++ b/src/arkode/arkode_lsrkstep_io.c @@ -785,7 +785,7 @@ int lsrkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) retval = lsrkStep_AccessStepMem(ark_mem, __func__, &step_mem); if (retval != ARK_SUCCESS) { return (retval); } - *stage = step_mem->istage; + *stage = step_mem->istage; *max_stages = step_mem->req_stages; return (ARK_SUCCESS); diff --git a/src/arkode/arkode_mristep_io.c b/src/arkode/arkode_mristep_io.c index acb3f72822..34f9b6f905 100644 --- a/src/arkode/arkode_mristep_io.c +++ b/src/arkode/arkode_mristep_io.c @@ -842,7 +842,7 @@ int mriStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) retval = mriStep_AccessStepMem(ark_mem, __func__, &step_mem); if (retval != ARK_SUCCESS) { return (retval); } - *stage = step_mem->istage; + *stage = step_mem->istage; *max_stages = step_mem->stages; return (ARK_SUCCESS); diff --git a/src/arkode/arkode_splittingstep.c b/src/arkode/arkode_splittingstep.c index e5c146b29e..02b7cc722a 100644 --- a/src/arkode/arkode_splittingstep.c +++ b/src/arkode/arkode_splittingstep.c @@ -472,12 +472,12 @@ int splittingStep_GetStageIndex(ARKodeMem ark_mem, int* istage, int* num_stages) /* if coefficients structure is not yet available, return defaults */ if (step_mem->coefficients == NULL) { - *istage = 0; + *istage = 0; *num_stages = 1; } else { - *istage = step_mem->istage; + *istage = step_mem->istage; *num_stages = step_mem->coefficients->sequential_methods; } diff --git a/src/arkode/arkode_sprkstep_io.c b/src/arkode/arkode_sprkstep_io.c index 3f5a919106..8f9106a8ad 100644 --- a/src/arkode/arkode_sprkstep_io.c +++ b/src/arkode/arkode_sprkstep_io.c @@ -292,12 +292,12 @@ int sprkStep_GetStageIndex(ARKodeMem ark_mem, int* stage, int* max_stages) /* if table is not yet set, return defaults */ if (step_mem->method == NULL) { - *stage = 0; + *stage = 0; *max_stages = 1; } else { - *stage = step_mem->istage; + *stage = step_mem->istage; *max_stages = step_mem->method->stages; } From f11fc2d031bfb1fc12bb027a861d0c7af65ff2c8 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Mon, 19 Jan 2026 23:29:31 -0500 Subject: [PATCH 03/32] Swig --- src/arkode/fmod_int32/farkode_mod.c | 16 ++++++++++++++ src/arkode/fmod_int32/farkode_mod.f90 | 30 +++++++++++++++++++++++++++ src/arkode/fmod_int64/farkode_mod.c | 16 ++++++++++++++ src/arkode/fmod_int64/farkode_mod.f90 | 30 +++++++++++++++++++++++++++ 4 files changed, 92 insertions(+) diff --git a/src/arkode/fmod_int32/farkode_mod.c b/src/arkode/fmod_int32/farkode_mod.c index 62a30445d8..0eaa9703d6 100644 --- a/src/arkode/fmod_int32/farkode_mod.c +++ b/src/arkode/fmod_int32/farkode_mod.c @@ -1561,6 +1561,22 @@ SWIGEXPORT int _wrap_FARKodeWriteParameters(void *farg1, void *farg2) { } +SWIGEXPORT int _wrap_FARKodeGetStageIndex(void *farg1, int *farg2, int *farg3) { + int fresult ; + void *arg1 = (void *) 0 ; + int *arg2 = (int *) 0 ; + int *arg3 = (int *) 0 ; + int result; + + arg1 = (void *)(farg1); + arg2 = (int *)(farg2); + arg3 = (int *)(farg3); + result = (int)ARKodeGetStageIndex(arg1,arg2,arg3); + fresult = (int)(result); + return fresult; +} + + SWIGEXPORT int _wrap_FARKodeGetNumExpSteps(void *farg1, long *farg2) { int fresult ; void *arg1 = (void *) 0 ; diff --git a/src/arkode/fmod_int32/farkode_mod.f90 b/src/arkode/fmod_int32/farkode_mod.f90 index 77ef9123e0..51985e481b 100644 --- a/src/arkode/fmod_int32/farkode_mod.f90 +++ b/src/arkode/fmod_int32/farkode_mod.f90 @@ -213,6 +213,7 @@ module farkode_mod public :: FARKodePrintAllStats public :: FARKodeGetReturnFlagName public :: FARKodeWriteParameters + public :: FARKodeGetStageIndex public :: FARKodeGetNumExpSteps public :: FARKodeGetNumAccSteps public :: FARKodeGetNumErrTestFails @@ -1299,6 +1300,16 @@ function swigc_FARKodeWriteParameters(farg1, farg2) & integer(C_INT) :: fresult end function +function swigc_FARKodeGetStageIndex(farg1, farg2, farg3) & +bind(C, name="_wrap_FARKodeGetStageIndex") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +type(C_PTR), value :: farg3 +integer(C_INT) :: fresult +end function + function swigc_FARKodeGetNumExpSteps(farg1, farg2) & bind(C, name="_wrap_FARKodeGetNumExpSteps") & result(fresult) @@ -4014,6 +4025,25 @@ function FARKodeWriteParameters(arkode_mem, fp) & swig_result = fresult end function +function FARKodeGetStageIndex(arkode_mem, stage, max_stages) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +type(C_PTR) :: arkode_mem +integer(C_INT), dimension(*), target, intent(inout) :: stage +integer(C_INT), dimension(*), target, intent(inout) :: max_stages +integer(C_INT) :: fresult +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 +type(C_PTR) :: farg3 + +farg1 = arkode_mem +farg2 = c_loc(stage(1)) +farg3 = c_loc(max_stages(1)) +fresult = swigc_FARKodeGetStageIndex(farg1, farg2, farg3) +swig_result = fresult +end function + function FARKodeGetNumExpSteps(arkode_mem, expsteps) & result(swig_result) use, intrinsic :: ISO_C_BINDING diff --git a/src/arkode/fmod_int64/farkode_mod.c b/src/arkode/fmod_int64/farkode_mod.c index 33370377a7..b59a4cdf35 100644 --- a/src/arkode/fmod_int64/farkode_mod.c +++ b/src/arkode/fmod_int64/farkode_mod.c @@ -1561,6 +1561,22 @@ SWIGEXPORT int _wrap_FARKodeWriteParameters(void *farg1, void *farg2) { } +SWIGEXPORT int _wrap_FARKodeGetStageIndex(void *farg1, int *farg2, int *farg3) { + int fresult ; + void *arg1 = (void *) 0 ; + int *arg2 = (int *) 0 ; + int *arg3 = (int *) 0 ; + int result; + + arg1 = (void *)(farg1); + arg2 = (int *)(farg2); + arg3 = (int *)(farg3); + result = (int)ARKodeGetStageIndex(arg1,arg2,arg3); + fresult = (int)(result); + return fresult; +} + + SWIGEXPORT int _wrap_FARKodeGetNumExpSteps(void *farg1, long *farg2) { int fresult ; void *arg1 = (void *) 0 ; diff --git a/src/arkode/fmod_int64/farkode_mod.f90 b/src/arkode/fmod_int64/farkode_mod.f90 index cdc14241a6..622e4970ee 100644 --- a/src/arkode/fmod_int64/farkode_mod.f90 +++ b/src/arkode/fmod_int64/farkode_mod.f90 @@ -213,6 +213,7 @@ module farkode_mod public :: FARKodePrintAllStats public :: FARKodeGetReturnFlagName public :: FARKodeWriteParameters + public :: FARKodeGetStageIndex public :: FARKodeGetNumExpSteps public :: FARKodeGetNumAccSteps public :: FARKodeGetNumErrTestFails @@ -1299,6 +1300,16 @@ function swigc_FARKodeWriteParameters(farg1, farg2) & integer(C_INT) :: fresult end function +function swigc_FARKodeGetStageIndex(farg1, farg2, farg3) & +bind(C, name="_wrap_FARKodeGetStageIndex") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +type(C_PTR), value :: farg3 +integer(C_INT) :: fresult +end function + function swigc_FARKodeGetNumExpSteps(farg1, farg2) & bind(C, name="_wrap_FARKodeGetNumExpSteps") & result(fresult) @@ -4014,6 +4025,25 @@ function FARKodeWriteParameters(arkode_mem, fp) & swig_result = fresult end function +function FARKodeGetStageIndex(arkode_mem, stage, max_stages) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +type(C_PTR) :: arkode_mem +integer(C_INT), dimension(*), target, intent(inout) :: stage +integer(C_INT), dimension(*), target, intent(inout) :: max_stages +integer(C_INT) :: fresult +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 +type(C_PTR) :: farg3 + +farg1 = arkode_mem +farg2 = c_loc(stage(1)) +farg3 = c_loc(max_stages(1)) +fresult = swigc_FARKodeGetStageIndex(farg1, farg2, farg3) +swig_result = fresult +end function + function FARKodeGetNumExpSteps(arkode_mem, expsteps) & result(swig_result) use, intrinsic :: ISO_C_BINDING From 8932ad20e1002fd92cb72e596e32c3c4e594ba0a Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 20 Jan 2026 08:13:58 -0500 Subject: [PATCH 04/32] Updated logging output files to account for fixes from PR --- .../test_logging_arkode_arkstep_lvl3_2_0.out | 2 +- .../test_logging_arkode_arkstep_lvl4_2_0.out | 110 +++++++++--------- .../test_logging_arkode_arkstep_lvl5_2_0.out | 110 +++++++++--------- .../test_logging_arkode_erkstep_lvl3.out | 2 +- .../test_logging_arkode_erkstep_lvl4.out | 2 +- .../test_logging_arkode_erkstep_lvl5.out | 2 +- 6 files changed, 114 insertions(+), 114 deletions(-) diff --git a/test/unit_tests/logging/test_logging_arkode_arkstep_lvl3_2_0.out b/test/unit_tests/logging/test_logging_arkode_arkstep_lvl3_2_0.out index 8fce8828db..297b941643 100644 --- a/test/unit_tests/logging/test_logging_arkode_arkstep_lvl3_2_0.out +++ b/test/unit_tests/logging/test_logging_arkode_arkstep_lvl3_2_0.out @@ -151,7 +151,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = failed solve, nflag = 4 [INFO][rank 0][ARKodeEvolve][end-step-attempt] status = failed step, kflag = 3 [INFO][rank 0][ARKodeEvolve][begin-step-attempt] step = 2, tn = 0.000102986025609508, h = 0.00872354880550418 -[INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 0, implicit = 0, tcur = 0.0349971812476262 +[INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 0, implicit = 0, tcur = 0.000102986025609508 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success [INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 1, implicit = 1, tcur = 0.00225770258056904 [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 diff --git a/test/unit_tests/logging/test_logging_arkode_arkstep_lvl4_2_0.out b/test/unit_tests/logging/test_logging_arkode_arkstep_lvl4_2_0.out index 6a03795e08..c10d4470d8 100644 --- a/test/unit_tests/logging/test_logging_arkode_arkstep_lvl4_2_0.out +++ b/test/unit_tests/logging/test_logging_arkode_arkstep_lvl4_2_0.out @@ -11,7 +11,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 2.368628977311079e-07 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 2.36862897731108e-07 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 1 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -19,7 +19,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.04444466957300736 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.0444446695730074 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 1 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -27,7 +27,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.02805399819163158 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.0280539981916316 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 1 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -35,7 +35,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.001406013957715032 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.00140601395771503 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 1 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -43,10 +43,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.1224890674762599 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.12248906747626 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.902425639273363e-06 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.90242563927336e-06 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 2 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -54,10 +54,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.2499781580918246 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.249978158091825 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 3.882514578718288e-06 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 3.88251457871829e-06 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 2 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -75,10 +75,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 49.82271729976932 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 49.8227172997693 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.2956232485070396 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.29562324850704 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 2 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -86,13 +86,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5179.025878904596 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5179.0258789046 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 27.29066232027397 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 27.290662320274 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.2366478153542284 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.236647815354228 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -100,13 +100,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3287.043206145228 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3287.04320614523 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 17.35218233001884 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 17.3521823300188 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.1504990065556158 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.150499006555616 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -114,13 +114,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 183.4805349869565 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 183.480534986956 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.949510444094288 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.008151952120696986 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00815195212069699 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -128,13 +128,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 14082.12983346261 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 14082.1298334626 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 73.58832716354519 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 73.5883271635452 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.6375336463716402 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.63753364637164 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -142,28 +142,28 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 28418.29689990445 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 28418.2968999044 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 147.0786804551797 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 147.07868045518 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 1.274537671846175 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 1.27453767184617 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = failed max iterations [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = failed, retval = 902, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = failed solve, nflag = 4 [INFO][rank 0][ARKodeEvolve][end-step-attempt] status = failed step, kflag = 3 [INFO][rank 0][ARKodeEvolve][begin-step-attempt] step = 2, tn = 0.000102986025609508, h = 0.00872354880550418 -[INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 0, implicit = 0, tcur = 0.0349971812476262 +[INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 0, implicit = 0, tcur = 0.000102986025609508 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success [INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 1, implicit = 1, tcur = 0.00225770258056904 [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 10.58935120480511 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 10.5893512048051 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.01407057164511679 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.0140705716451168 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 2 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -171,10 +171,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 337.1424764168714 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 337.142476416871 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.4439882604012199 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.44398826040122 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.000960893019833006 @@ -185,7 +185,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 215.7735373359566 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 215.773537335957 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.28421082324341 @@ -196,10 +196,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 13.26229169917964 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 13.2622916991796 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.01738724621164174 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.0173872462116417 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 2 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -207,13 +207,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 908.7281152253486 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 908.728115225349 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.195654290450199 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.1956542904502 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.002587105575138711 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00258710557513871 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -221,13 +221,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1835.650895677526 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1835.65089567753 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.413982829863592 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.41398282986359 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.005223580298499187 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00522358029849919 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -245,13 +245,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 897.5749133370384 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 897.574913337038 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.180074794486456 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.18007479448646 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.002550777110156022 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00255077711015602 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -262,10 +262,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1848.85296187574 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.429372959128611 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.42937295912861 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.005251431903621707 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00525143190362171 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -273,13 +273,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1417.296763477091 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1417.29676347709 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.862895008578912 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.86289500857891 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.004026924078246891 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00402692407824689 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -287,13 +287,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 282.7028212917262 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 282.702821291726 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.3717837407954644 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.371783740795464 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.0008035691046095763 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.000803569104609576 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -301,13 +301,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3414.225866099896 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3414.2258660999 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 4.480817707236493 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 4.48081770723649 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.009685454223700348 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00968545422370035 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success @@ -315,13 +315,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5409.236485116237 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5409.23648511624 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 7.089262220679211 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 7.08926222067921 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.01532391809845227 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.0153239180984523 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [INFO][rank 0][arkStep_Nls][end-nonlinear-solve] status = success, iters = 3 [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = success diff --git a/test/unit_tests/logging/test_logging_arkode_arkstep_lvl5_2_0.out b/test/unit_tests/logging/test_logging_arkode_arkstep_lvl5_2_0.out index 0b56cd2a4f..9c5f86ccdc 100644 --- a/test/unit_tests/logging/test_logging_arkode_arkstep_lvl5_2_0.out +++ b/test/unit_tests/logging/test_logging_arkode_arkstep_lvl5_2_0.out @@ -26,7 +26,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 2.368628977311079e-07 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 2.36862897731108e-07 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = 2.358974779413975e-13 @@ -52,7 +52,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.04444466957300736 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.0444446695730074 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.914859318478439e-10 @@ -78,7 +78,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.02805399819163158 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.0280539981916316 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.208092473957022e-10 @@ -104,7 +104,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.001406013957715032 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.00140601395771503 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -6.206706558584390e-12 @@ -130,10 +130,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.1224890674762599 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.12248906747626 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.902425639273363e-06 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.90242563927336e-06 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -5.307088621598873e-10 @@ -159,10 +159,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.2499781580918246 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 0.249978158091825 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 3.882514578718288e-06 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 3.88251457871829e-06 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.082482978900431e-09 @@ -210,10 +210,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 49.82271729976932 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 49.8227172997693 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.2956232485070396 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.29562324850704 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = 8.849978747663506e-06 @@ -239,13 +239,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5179.025878904596 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5179.0258789046 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 27.29066232027397 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 27.290662320274 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.2366478153542284 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.236647815354228 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.159790807607275e-05 @@ -271,13 +271,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3287.043206145228 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3287.04320614523 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 17.35218233001884 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 17.3521823300188 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.1504990065556158 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.150499006555616 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -5.119582425676298e-06 @@ -303,13 +303,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 183.4805349869565 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 183.480534986956 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.949510444094288 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.008151952120696986 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00815195212069699 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -6.152611898849060e-06 @@ -335,13 +335,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 14082.12983346261 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 14082.1298334626 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 73.58832716354519 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 73.5883271635452 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.6375336463716402 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.63753364637164 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -7.277552643022212e-05 @@ -367,13 +367,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 28418.29689990445 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 28418.2968999044 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 147.0786804551797 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 147.07868045518 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 1.274537671846175 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 1.27453767184617 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = failed max iterations [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.250496878192964e-04 @@ -382,7 +382,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_TakeStep_Z][end-stages-list] status = failed solve, nflag = 4 [INFO][rank 0][ARKodeEvolve][end-step-attempt] status = failed step, kflag = 3 [INFO][rank 0][ARKodeEvolve][begin-step-attempt] step = 2, tn = 0.000102986025609508, h = 0.00872354880550418 -[INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 0, implicit = 0, tcur = 0.0349971812476262 +[INFO][rank 0][arkStep_TakeStep_Z][begin-stages-list] stage = 0, implicit = 0, tcur = 0.000102986025609508 [DEBUG][rank 0][arkStep_TakeStep_Z][explicit stage] z_0(:) = 1.224744870309106e+00 1.732050195224277e+00 @@ -403,10 +403,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 10.58935120480511 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 10.5893512048051 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.01407057164511679 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.0140705716451168 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = 9.754363006809573e-08 @@ -432,10 +432,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 337.1424764168714 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 337.142476416871 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.4439882604012199 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.44398826040122 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.000960893019833006 @@ -464,7 +464,7 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 215.7735373359566 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 215.773537335957 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.28421082324341 @@ -493,10 +493,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 13.26229169917964 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 13.2622916991796 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.01738724621164174 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.0173872462116417 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.419827347970335e-07 @@ -522,13 +522,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 908.7281152253486 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 908.728115225349 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.195654290450199 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.1956542904502 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.002587105575138711 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00258710557513871 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -4.111601314188560e-06 @@ -554,13 +554,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1835.650895677526 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1835.65089567753 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.413982829863592 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.41398282986359 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.005223580298499187 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00522358029849919 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -7.950371969264979e-06 @@ -608,13 +608,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 897.5749133370384 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 897.574913337038 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.180074794486456 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.18007479448646 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.002550777110156022 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00255077711015602 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -3.740554085189258e-06 @@ -643,10 +643,10 @@ Using fixed-point nonlinear solver [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1848.85296187574 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.429372959128611 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 2.42937295912861 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.005251431903621707 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00525143190362171 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -7.837552977595153e-06 @@ -672,13 +672,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1417.296763477091 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 1417.29676347709 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.862895008578912 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 1.86289500857891 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.004026924078246891 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00402692407824689 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -5.993980462758778e-06 @@ -704,13 +704,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 282.7028212917262 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 282.702821291726 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.3717837407954644 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 0.371783740795464 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.0008035691046095763 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.000803569104609576 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.306434064417920e-06 @@ -736,13 +736,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3414.225866099896 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 3414.2258660999 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 4.480817707236493 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 4.48081770723649 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.009685454223700348 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.00968545422370035 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -1.498318595181932e-05 @@ -768,13 +768,13 @@ Using fixed-point nonlinear solver [INFO][rank 0][arkStep_Nls][begin-nonlinear-solve] tol = 0.1 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-solver] solver = Fixed-Point [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5409.236485116237 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 1, update-norm = 5409.23648511624 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 7.089262220679211 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 2, update-norm = 7.08926222067921 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = continue [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][begin-iterations-list] -[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.01532391809845227 +[INFO][rank 0][SUNNonlinSolSolve_FixedPoint][nonlinear-iterate] cur-iter = 3, update-norm = 0.0153239180984523 [INFO][rank 0][SUNNonlinSolSolve_FixedPoint][end-iterations-list] status = success [DEBUG][rank 0][arkStep_Nls][correction] zcor(:) = -2.348389429454253e-05 diff --git a/test/unit_tests/logging/test_logging_arkode_erkstep_lvl3.out b/test/unit_tests/logging/test_logging_arkode_erkstep_lvl3.out index e9b7f61632..60dc9b1b5e 100644 --- a/test/unit_tests/logging/test_logging_arkode_erkstep_lvl3.out +++ b/test/unit_tests/logging/test_logging_arkode_erkstep_lvl3.out @@ -32,7 +32,7 @@ Start ERKStep Logging test [INFO][rank 0][erkStep_TakeStep][end-compute-solution] status = success [INFO][rank 0][ARKodeEvolve][end-step-attempt] status = failed error test, dsm = 1.00314609906058, kflag = 5 [INFO][rank 0][ARKodeEvolve][begin-step-attempt] step = 2, tn = 0.000102986025609508, h = 0.015960659313935 -[INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 0, tcur = 0.0162375294442678 +[INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 0, tcur = 0.000102986025609508 [INFO][rank 0][erkStep_TakeStep][end-stages-list] status = success [INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 1, tcur = 0.0064872497511835 [INFO][rank 0][erkStep_TakeStep][end-stages-list] status = success diff --git a/test/unit_tests/logging/test_logging_arkode_erkstep_lvl4.out b/test/unit_tests/logging/test_logging_arkode_erkstep_lvl4.out index e091e74b77..a21a5aebaa 100644 --- a/test/unit_tests/logging/test_logging_arkode_erkstep_lvl4.out +++ b/test/unit_tests/logging/test_logging_arkode_erkstep_lvl4.out @@ -38,7 +38,7 @@ Start ERKStep Logging test [DEBUG][rank 0][arkAdapt][new-step-eta] eta = 0.989222867966487 [INFO][rank 0][ARKodeEvolve][end-step-attempt] status = failed error test, dsm = 1.00314609906058, kflag = 5 [INFO][rank 0][ARKodeEvolve][begin-step-attempt] step = 2, tn = 0.000102986025609508, h = 0.015960659313935 -[INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 0, tcur = 0.0162375294442678 +[INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 0, tcur = 0.000102986025609508 [INFO][rank 0][erkStep_TakeStep][end-stages-list] status = success [INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 1, tcur = 0.0064872497511835 [INFO][rank 0][erkStep_TakeStep][end-stages-list] status = success diff --git a/test/unit_tests/logging/test_logging_arkode_erkstep_lvl5.out b/test/unit_tests/logging/test_logging_arkode_erkstep_lvl5.out index 280041af97..7af00ffdd5 100644 --- a/test/unit_tests/logging/test_logging_arkode_erkstep_lvl5.out +++ b/test/unit_tests/logging/test_logging_arkode_erkstep_lvl5.out @@ -80,7 +80,7 @@ Start ERKStep Logging test [DEBUG][rank 0][arkAdapt][new-step-eta] eta = 0.989222867966487 [INFO][rank 0][ARKodeEvolve][end-step-attempt] status = failed error test, dsm = 1.00314609906058, kflag = 5 [INFO][rank 0][ARKodeEvolve][begin-step-attempt] step = 2, tn = 0.000102986025609508, h = 0.015960659313935 -[INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 0, tcur = 0.0162375294442678 +[INFO][rank 0][erkStep_TakeStep][begin-stages-list] stage = 0, tcur = 0.000102986025609508 [DEBUG][rank 0][erkStep_TakeStep][stage] z_0(:) = 1.224744870309106e+00 1.732050195224277e+00 From 5894f8c2595e791149a80edcc21188bd5bca814c Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 20 Jan 2026 08:18:38 -0500 Subject: [PATCH 05/32] Updated answers submodule commit --- test/answers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/answers b/test/answers index 5ab7c953ad..4c270c9a6f 160000 --- a/test/answers +++ b/test/answers @@ -1 +1 @@ -Subproject commit 5ab7c953ad8c7831ea85e5711519baf79e94c9be +Subproject commit 4c270c9a6fd01894e5b7629dc6d6ccd82cf71513 From b1be627cd50d2b74d84c1b9080bb1b0b0a467fe0 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 20 Jan 2026 08:21:32 -0500 Subject: [PATCH 06/32] Added missing 'static' --- src/arkode/arkode_splittingstep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arkode/arkode_splittingstep.c b/src/arkode/arkode_splittingstep.c index 02b7cc722a..155b6f954d 100644 --- a/src/arkode/arkode_splittingstep.c +++ b/src/arkode/arkode_splittingstep.c @@ -463,7 +463,7 @@ static int splittingStep_SetOrder(ARKodeMem ark_mem, int order) /*--------------------------------------------------------------- Returns the current stage index and number of stages ---------------------------------------------------------------*/ -int splittingStep_GetStageIndex(ARKodeMem ark_mem, int* istage, int* num_stages) +static int splittingStep_GetStageIndex(ARKodeMem ark_mem, int* istage, int* num_stages) { ARKodeSplittingStepMem step_mem; int retval = splittingStep_AccessStepMem(ark_mem, __func__, &step_mem); From 1fe5e364000718ff1ef2b15d889811639d2956c3 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 20 Jan 2026 08:29:26 -0500 Subject: [PATCH 07/32] Formatting --- src/arkode/arkode_splittingstep.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/arkode/arkode_splittingstep.c b/src/arkode/arkode_splittingstep.c index 155b6f954d..28dea7b132 100644 --- a/src/arkode/arkode_splittingstep.c +++ b/src/arkode/arkode_splittingstep.c @@ -463,7 +463,8 @@ static int splittingStep_SetOrder(ARKodeMem ark_mem, int order) /*--------------------------------------------------------------- Returns the current stage index and number of stages ---------------------------------------------------------------*/ -static int splittingStep_GetStageIndex(ARKodeMem ark_mem, int* istage, int* num_stages) +static int splittingStep_GetStageIndex(ARKodeMem ark_mem, int* istage, + int* num_stages) { ARKodeSplittingStepMem step_mem; int retval = splittingStep_AccessStepMem(ark_mem, __func__, &step_mem); From a8554e4841092c7aa8a33a234633f3fde261d618 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 20 Jan 2026 08:43:02 -0500 Subject: [PATCH 08/32] Fixed answer files branch (the one I created did not include changes from the last upstream PR) --- test/answers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/answers b/test/answers index 4c270c9a6f..fe51f357f9 160000 --- a/test/answers +++ b/test/answers @@ -1 +1 @@ -Subproject commit 4c270c9a6fd01894e5b7629dc6d6ccd82cf71513 +Subproject commit fe51f357f9e862635369baaa0f9c9a7ad4138f4e From 443474736a5eb43c1e2a551941a85e9eae482f99 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 20 Jan 2026 09:14:37 -0500 Subject: [PATCH 09/32] Updated answers submodule commit --- test/answers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/answers b/test/answers index fe51f357f9..4e43dcb45e 160000 --- a/test/answers +++ b/test/answers @@ -1 +1 @@ -Subproject commit fe51f357f9e862635369baaa0f9c9a7ad4138f4e +Subproject commit 4e43dcb45e7d51e3224bfea93106c766bcc6d82c From 187c03e44de6ca9ee4631ebe13d5b43f7e11558d Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 20 Jan 2026 11:24:47 -0500 Subject: [PATCH 10/32] Updated answers submodule commit --- test/answers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/answers b/test/answers index 4e43dcb45e..f5814f2adc 160000 --- a/test/answers +++ b/test/answers @@ -1 +1 @@ -Subproject commit 4e43dcb45e7d51e3224bfea93106c766bcc6d82c +Subproject commit f5814f2adcd0af4b4437d5f23b0ec49a73c24246 From 2eff56a379416eace5582b9793e79419c946413a Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 27 Jan 2026 09:26:30 -0500 Subject: [PATCH 11/32] Added Get routines to return the last saved time and state, (tn,yn), reached by ARKODE, as these may differ from (tcur,ycur) that are available using ARKodeGetCurrentX --- .../guide/source/Usage/User_callable.rst | 34 ++++++++++++ include/arkode/arkode.h | 3 ++ src/arkode/arkode_io.c | 40 ++++++++++++++ src/arkode/fmod_int32/farkode_mod.c | 28 ++++++++++ src/arkode/fmod_int32/farkode_mod.f90 | 52 +++++++++++++++++++ src/arkode/fmod_int64/farkode_mod.c | 28 ++++++++++ src/arkode/fmod_int64/farkode_mod.f90 | 52 +++++++++++++++++++ 7 files changed, 237 insertions(+) diff --git a/doc/arkode/guide/source/Usage/User_callable.rst b/doc/arkode/guide/source/Usage/User_callable.rst index 39d3f7d05d..4679e75af4 100644 --- a/doc/arkode/guide/source/Usage/User_callable.rst +++ b/doc/arkode/guide/source/Usage/User_callable.rst @@ -3622,6 +3622,8 @@ Actual initial time step size used :c:func:`ARKodeGetActualI Step size used for the last successful step :c:func:`ARKodeGetLastStep` Step size to be attempted on the next step :c:func:`ARKodeGetCurrentStep` Integration direction, e.g., forward or backward :c:func:`ARKodeGetStepDirection` +Last saved time reached by the solver :c:func:`ARKodeGetLastTime` +Last saved solution reached by the solver :c:func:`ARKodeGetLastState` Current internal time reached by the solver :c:func:`ARKodeGetCurrentTime` Current internal solution reached by the solver :c:func:`ARKodeGetCurrentState` Current :math:`\gamma` value used by the solver :c:func:`ARKodeGetCurrentGamma` @@ -3745,6 +3747,38 @@ Current stage index, and total number of stages :c:func:`ARKodeGetStageIn .. versionadded:: 6.2.0 +.. c:function:: int ARKodeGetLastTime(void* arkode_mem, sunrealtype* tn) + + Returns the last saved time reached by the solver. + + :param arkode_mem: pointer to the ARKODE memory block. + :param tn: last saved time reached. + + :retval ARK_SUCCESS: the function exited successfully. + :retval ARK_MEM_NULL: ``arkode_mem`` was ``NULL``. + + .. versionadded:: x.y.z + + +.. c:function:: int ARKodeGetLastState(void *arkode_mem, N_Vector *yn) + + Returns the last saved solution reached by the solver. + + :param arkode_mem: pointer to the ARKODE memory block. + :param yn: last saved solution. + + :retval ARK_SUCCESS: the function exited successfully. + :retval ARK_MEM_NULL: ``arkode_mem`` was ``NULL``. + + .. note:: + + Users should exercise extreme caution when using this function, + as altering values of *yn* may lead to undesirable behavior, depending + on the particular use case and on when this routine is called. + + .. versionadded:: x.y.z + + .. c:function:: int ARKodeGetCurrentTime(void* arkode_mem, sunrealtype* tcur) Returns the current internal time reached by the solver. diff --git a/include/arkode/arkode.h b/include/arkode/arkode.h index bf3bfcda13..2de917a47a 100644 --- a/include/arkode/arkode.h +++ b/include/arkode/arkode.h @@ -406,6 +406,9 @@ SUNDIALS_EXPORT int ARKodeGetAccumulatedError(void* arkode_mem, /* Optional output functions (implicit solver) */ SUNDIALS_EXPORT int ARKodeGetNumLinSolvSetups(void* arkode_mem, long int* nlinsetups); +SUNDIALS_EXPORT int ARKodeGetLastTime(void* arkode_mem, sunrealtype* tn); +SUNDIALS_EXPORT int ARKodeGetLastState(void* arkode_mem, + N_Vector* state); // nb::rv_policy::reference SUNDIALS_EXPORT int ARKodeGetCurrentTime(void* arkode_mem, sunrealtype* tcur); SUNDIALS_EXPORT int ARKodeGetCurrentState(void* arkode_mem, N_Vector* state); // nb::rv_policy::reference diff --git a/src/arkode/arkode_io.c b/src/arkode/arkode_io.c index 4e7c859692..8e5d203531 100644 --- a/src/arkode/arkode_io.c +++ b/src/arkode/arkode_io.c @@ -2569,6 +2569,46 @@ int ARKodeGetEstLocalErrors(void* arkode_mem, N_Vector ele) } } +/*--------------------------------------------------------------- + ARKodeGetLastTime: + + Returns the last saved value of the independent variable + ---------------------------------------------------------------*/ +int ARKodeGetLastTime(void* arkode_mem, sunrealtype* tn) +{ + ARKodeMem ark_mem; + if (arkode_mem == NULL) + { + arkProcessError(NULL, ARK_MEM_NULL, __LINE__, __func__, __FILE__, + MSG_ARK_NO_MEM); + return (ARK_MEM_NULL); + } + ark_mem = (ARKodeMem)arkode_mem; + + *tcur = ark_mem->tn; + return (ARK_SUCCESS); +} + +/*--------------------------------------------------------------- + ARKodeGetLastState: + + Returns the last saved time step solution. + ---------------------------------------------------------------*/ +int ARKodeGetLasState(void* arkode_mem, N_Vector* state) +{ + ARKodeMem ark_mem; + if (arkode_mem == NULL) + { + arkProcessError(NULL, ARK_MEM_NULL, __LINE__, __func__, __FILE__, + MSG_ARK_NO_MEM); + return (ARK_MEM_NULL); + } + ark_mem = (ARKodeMem)arkode_mem; + + *state = ark_mem->yn; + return (ARK_SUCCESS); +} + /*--------------------------------------------------------------- ARKodeGetCurrentTime: diff --git a/src/arkode/fmod_int32/farkode_mod.c b/src/arkode/fmod_int32/farkode_mod.c index 0eaa9703d6..034215a894 100644 --- a/src/arkode/fmod_int32/farkode_mod.c +++ b/src/arkode/fmod_int32/farkode_mod.c @@ -1725,6 +1725,34 @@ SWIGEXPORT int _wrap_FARKodeGetNumLinSolvSetups(void *farg1, long *farg2) { } +SWIGEXPORT int _wrap_FARKodeGetLastTime(void *farg1, double *farg2) { + int fresult ; + void *arg1 = (void *) 0 ; + sunrealtype *arg2 = (sunrealtype *) 0 ; + int result; + + arg1 = (void *)(farg1); + arg2 = (sunrealtype *)(farg2); + result = (int)ARKodeGetLastTime(arg1,arg2); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_FARKodeGetLastState(void *farg1, void *farg2) { + int fresult ; + void *arg1 = (void *) 0 ; + N_Vector *arg2 = (N_Vector *) 0 ; + int result; + + arg1 = (void *)(farg1); + arg2 = (N_Vector *)(farg2); + result = (int)ARKodeGetLastState(arg1,arg2); + fresult = (int)(result); + return fresult; +} + + SWIGEXPORT int _wrap_FARKodeGetCurrentTime(void *farg1, double *farg2) { int fresult ; void *arg1 = (void *) 0 ; diff --git a/src/arkode/fmod_int32/farkode_mod.f90 b/src/arkode/fmod_int32/farkode_mod.f90 index 3f6a1b744c..75d7d7dfbb 100644 --- a/src/arkode/fmod_int32/farkode_mod.f90 +++ b/src/arkode/fmod_int32/farkode_mod.f90 @@ -224,6 +224,8 @@ module farkode_mod public :: FARKodeGetStepStats public :: FARKodeGetAccumulatedError public :: FARKodeGetNumLinSolvSetups + public :: FARKodeGetLastTime + public :: FARKodeGetLastState public :: FARKodeGetCurrentTime public :: FARKodeGetCurrentState public :: FARKodeGetCurrentGamma @@ -1404,6 +1406,24 @@ function swigc_FARKodeGetNumLinSolvSetups(farg1, farg2) & integer(C_INT) :: fresult end function +function swigc_FARKodeGetLastTime(farg1, farg2) & +bind(C, name="_wrap_FARKodeGetLastTime") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_FARKodeGetLastState(farg1, farg2) & +bind(C, name="_wrap_FARKodeGetLastState") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +integer(C_INT) :: fresult +end function + function swigc_FARKodeGetCurrentTime(farg1, farg2) & bind(C, name="_wrap_FARKodeGetCurrentTime") & result(fresult) @@ -4216,6 +4236,38 @@ function FARKodeGetNumLinSolvSetups(arkode_mem, nlinsetups) & swig_result = fresult end function +function FARKodeGetLastTime(arkode_mem, tn) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +type(C_PTR) :: arkode_mem +real(C_DOUBLE), dimension(*), target, intent(inout) :: tn +integer(C_INT) :: fresult +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 + +farg1 = arkode_mem +farg2 = c_loc(tn(1)) +fresult = swigc_FARKodeGetLastTime(farg1, farg2) +swig_result = fresult +end function + +function FARKodeGetLastState(arkode_mem, state) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +type(C_PTR) :: arkode_mem +type(C_PTR) :: state +integer(C_INT) :: fresult +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 + +farg1 = arkode_mem +farg2 = state +fresult = swigc_FARKodeGetLastState(farg1, farg2) +swig_result = fresult +end function + function FARKodeGetCurrentTime(arkode_mem, tcur) & result(swig_result) use, intrinsic :: ISO_C_BINDING diff --git a/src/arkode/fmod_int64/farkode_mod.c b/src/arkode/fmod_int64/farkode_mod.c index b59a4cdf35..8d7d28e238 100644 --- a/src/arkode/fmod_int64/farkode_mod.c +++ b/src/arkode/fmod_int64/farkode_mod.c @@ -1725,6 +1725,34 @@ SWIGEXPORT int _wrap_FARKodeGetNumLinSolvSetups(void *farg1, long *farg2) { } +SWIGEXPORT int _wrap_FARKodeGetLastTime(void *farg1, double *farg2) { + int fresult ; + void *arg1 = (void *) 0 ; + sunrealtype *arg2 = (sunrealtype *) 0 ; + int result; + + arg1 = (void *)(farg1); + arg2 = (sunrealtype *)(farg2); + result = (int)ARKodeGetLastTime(arg1,arg2); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_FARKodeGetLastState(void *farg1, void *farg2) { + int fresult ; + void *arg1 = (void *) 0 ; + N_Vector *arg2 = (N_Vector *) 0 ; + int result; + + arg1 = (void *)(farg1); + arg2 = (N_Vector *)(farg2); + result = (int)ARKodeGetLastState(arg1,arg2); + fresult = (int)(result); + return fresult; +} + + SWIGEXPORT int _wrap_FARKodeGetCurrentTime(void *farg1, double *farg2) { int fresult ; void *arg1 = (void *) 0 ; diff --git a/src/arkode/fmod_int64/farkode_mod.f90 b/src/arkode/fmod_int64/farkode_mod.f90 index 34674d979c..6900824bb5 100644 --- a/src/arkode/fmod_int64/farkode_mod.f90 +++ b/src/arkode/fmod_int64/farkode_mod.f90 @@ -224,6 +224,8 @@ module farkode_mod public :: FARKodeGetStepStats public :: FARKodeGetAccumulatedError public :: FARKodeGetNumLinSolvSetups + public :: FARKodeGetLastTime + public :: FARKodeGetLastState public :: FARKodeGetCurrentTime public :: FARKodeGetCurrentState public :: FARKodeGetCurrentGamma @@ -1404,6 +1406,24 @@ function swigc_FARKodeGetNumLinSolvSetups(farg1, farg2) & integer(C_INT) :: fresult end function +function swigc_FARKodeGetLastTime(farg1, farg2) & +bind(C, name="_wrap_FARKodeGetLastTime") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_FARKodeGetLastState(farg1, farg2) & +bind(C, name="_wrap_FARKodeGetLastState") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +integer(C_INT) :: fresult +end function + function swigc_FARKodeGetCurrentTime(farg1, farg2) & bind(C, name="_wrap_FARKodeGetCurrentTime") & result(fresult) @@ -4216,6 +4236,38 @@ function FARKodeGetNumLinSolvSetups(arkode_mem, nlinsetups) & swig_result = fresult end function +function FARKodeGetLastTime(arkode_mem, tn) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +type(C_PTR) :: arkode_mem +real(C_DOUBLE), dimension(*), target, intent(inout) :: tn +integer(C_INT) :: fresult +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 + +farg1 = arkode_mem +farg2 = c_loc(tn(1)) +fresult = swigc_FARKodeGetLastTime(farg1, farg2) +swig_result = fresult +end function + +function FARKodeGetLastState(arkode_mem, state) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +type(C_PTR) :: arkode_mem +type(C_PTR) :: state +integer(C_INT) :: fresult +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 + +farg1 = arkode_mem +farg2 = state +fresult = swigc_FARKodeGetLastState(farg1, farg2) +swig_result = fresult +end function + function FARKodeGetCurrentTime(arkode_mem, tcur) & result(swig_result) use, intrinsic :: ISO_C_BINDING From 872b50ab48c6a7ad94a05e054bd18786c6130a11 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 27 Jan 2026 09:27:14 -0500 Subject: [PATCH 12/32] Formatting --- src/arkode/arkode_erkstep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arkode/arkode_erkstep.c b/src/arkode/arkode_erkstep.c index f1239e728b..f3e8d39f65 100644 --- a/src/arkode/arkode_erkstep.c +++ b/src/arkode/arkode_erkstep.c @@ -787,7 +787,7 @@ int erkStep_TakeStep(ARKodeMem ark_mem, sunrealtype* dsmPtr, int* nflagPtr) if (!(ark_mem->fn_is_current)) { - mode = (ark_mem->initsetup) ? ARK_FULLRHS_START : ARK_FULLRHS_END; + mode = (ark_mem->initsetup) ? ARK_FULLRHS_START : ARK_FULLRHS_END; retval = ark_mem->step_fullrhs(ark_mem, ark_mem->tn, ark_mem->ycur, ark_mem->fn, mode); if (retval) From 050272fda2f8ef4ae12750bd7818618550fea190 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Wed, 28 Jan 2026 16:01:45 -0500 Subject: [PATCH 13/32] Added unit tests for ARKodeGetLastTime, ARKodeGetCurrentTime, ARKodeGetStageIndex, ARKodeSetPreprocessStepFn, ARKodeSetPostprocessStepFn, ARKodeSetProcessStepFailFn, ARKodeSetPreprocessRHSFn, and ARKodeSetPostprocessStageFn --- src/arkode/arkode_io.c | 6 +- .../arkode/CXX_serial/CMakeLists.txt | 22 +- .../CXX_serial/ark_test_stageinfo_arkstep.cpp | 184 ++++++++++++ .../CXX_serial/ark_test_stageinfo_erkstep.cpp | 145 ++++++++++ .../ark_test_stageinfo_forcingstep.cpp | 176 ++++++++++++ .../ark_test_stageinfo_lsrkstep.cpp | 178 ++++++++++++ .../CXX_serial/ark_test_stageinfo_mristep.cpp | 263 ++++++++++++++++++ .../ark_test_stageinfo_splittingstep.cpp | 176 ++++++++++++ .../ark_test_stageinfo_sprkstep.cpp | 134 +++++++++ .../arkode/CXX_serial/stageinfo.hpp | 142 ++++++++++ 10 files changed, 1422 insertions(+), 4 deletions(-) create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp create mode 100644 test/unit_tests/arkode/CXX_serial/stageinfo.hpp diff --git a/src/arkode/arkode_io.c b/src/arkode/arkode_io.c index 16756879f3..c7c6808895 100644 --- a/src/arkode/arkode_io.c +++ b/src/arkode/arkode_io.c @@ -2585,7 +2585,7 @@ int ARKodeGetLastTime(void* arkode_mem, sunrealtype* tn) } ark_mem = (ARKodeMem)arkode_mem; - *tcur = ark_mem->tn; + *tn = ark_mem->tn; return (ARK_SUCCESS); } @@ -2594,7 +2594,7 @@ int ARKodeGetLastTime(void* arkode_mem, sunrealtype* tn) Returns the last saved time step solution. ---------------------------------------------------------------*/ -int ARKodeGetLasState(void* arkode_mem, N_Vector* state) +int ARKodeGetLastState(void* arkode_mem, N_Vector* yn) { ARKodeMem ark_mem; if (arkode_mem == NULL) @@ -2605,7 +2605,7 @@ int ARKodeGetLasState(void* arkode_mem, N_Vector* state) } ark_mem = (ARKodeMem)arkode_mem; - *state = ark_mem->yn; + *yn = ark_mem->yn; return (ARK_SUCCESS); } diff --git a/test/unit_tests/arkode/CXX_serial/CMakeLists.txt b/test/unit_tests/arkode/CXX_serial/CMakeLists.txt index 0d8484b569..121d6b5148 100644 --- a/test/unit_tests/arkode/CXX_serial/CMakeLists.txt +++ b/test/unit_tests/arkode/CXX_serial/CMakeLists.txt @@ -76,7 +76,27 @@ set(unit_tests "ark_test_prealloc_lsrkstep.cpp\;1\;" "ark_test_prealloc_mristep.cpp\;1\;" "ark_test_prealloc_splittingstep.cpp\;1\;" - "ark_test_prealloc_sprkstep.cpp\;1\;") + "ark_test_prealloc_sprkstep.cpp\;1\;" + "ark_test_stageinfo_arkstep.cpp\;0\;" # ERK + "ark_test_stageinfo_arkstep.cpp\;1\;" # DIRK + "ark_test_stageinfo_arkstep.cpp\;2\;" # ImEx + "ark_test_stageinfo_erkstep.cpp\;\;" + "ark_test_stageinfo_forcingstep.cpp\;\;" + "ark_test_stageinfo_lsrkstep.cpp\;0\;" # RKC + "ark_test_stageinfo_lsrkstep.cpp\;1\;" # RKL + "ark_test_stageinfo_lsrkstep.cpp\;2\;" # SSPs2 + "ark_test_stageinfo_lsrkstep.cpp\;3\;" # SSPs3 + "ark_test_stageinfo_lsrkstep.cpp\;4\;" # SSP43 + "ark_test_stageinfo_lsrkstep.cpp\;5\;" # SSP104 + "ark_test_stageinfo_mristep.cpp\;0\;" # MRIGARK Explicit + "ark_test_stageinfo_mristep.cpp\;1\;" # MRIGARK Implicit + "ark_test_stageinfo_mristep.cpp\;2\;" # MRIGARK ImEx + "ark_test_stageinfo_mristep.cpp\;3\;" # MRISR Explicit + "ark_test_stageinfo_mristep.cpp\;4\;" # MRISR Implicit + "ark_test_stageinfo_mristep.cpp\;5\;" # MRISR ImEx + "ark_test_stageinfo_mristep.cpp\;6\;" # MERK + "ark_test_stageinfo_splittingstep.cpp\;\;" + "ark_test_stageinfo_sprkstep.cpp\;\;") # Add the build and install targets for each test foreach(test_tuple ${unit_tests}) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp new file mode 100644 index 0000000000..1fc2e9e691 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -0,0 +1,184 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Test stage information and pre/postprocessing routines in ARKStep + * ---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +// Include desired integrators, vectors, linear solvers, and nonlinear solvers +#include "arkode/arkode_arkstep.h" +#include "nvector/nvector_serial.h" +#include "sundials/sundials_context.hpp" +#include "sundials/sundials_matrix.h" +#include "sunlinsol/sunlinsol_spgmr.h" + +#include "problems/kpr.hpp" +#include "utilities/check_return.hpp" + +using namespace std; +using namespace problems::kpr; + +// store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. +// This would normally be stored in user_data, but here we reuse problem +// defintions from other tests. +void* arkode_mem = nullptr; + +// Include the pre/post step and stage processing routines now that arkode_mem is defined +#include "stageinfo.hpp" + + +int main(int argc, char* argv[]) +{ + cout << "Start ARKStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Use ERK (0) or DIRK (1) otherwise use ImEx + int method_type = 0; + if (argc > 1) { method_type = stoi(argv[1]); } + + // Create initial condition + N_Vector y = N_VNew_Serial(2, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + sunrealtype utrue, vtrue; + int flag = true_sol(zero, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + sunrealtype* ydata = N_VGetArrayPointer(y); + ydata[0] = utrue; + ydata[1] = vtrue; + + // Create ARKStep memory structure + if (method_type == 0) + { + cout << "Using ERK method" << endl; + arkode_mem = ARKStepCreate(ode_rhs, nullptr, zero, y, sunctx); + if (check_ptr(arkode_mem, "ARKStepCreate")) { return 1; } + } + else if (method_type == 1) + { + cout << "Using DIRK method" << endl; + arkode_mem = ARKStepCreate(nullptr, ode_rhs, zero, y, sunctx); + if (check_ptr(arkode_mem, "ARKStepCreate")) { return 1; } + } + else + { + cout << "Using ImEx method" << endl; + arkode_mem = ARKStepCreate(ode_rhs_ex, ode_rhs_im, zero, y, sunctx); + if (check_ptr(arkode_mem, "ARKStepCreate")) { return 1; } + } + + flag = ARKodeSetUserData(arkode_mem, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + // Relative and absolute tolerances + const sunrealtype rtol = SUN_RCONST(1.0e-6); + const sunrealtype atol = SUN_RCONST(1.0e-10); + + flag = ARKodeSStolerances(arkode_mem, rtol, atol); + if (check_flag(flag, "ARKodeSStolerances")) { return 1; } + + SUNMatrix A = nullptr; + SUNLinearSolver LS = nullptr; + + if (method_type > 0) + { + cout << "Using Newton nonlinear solver" << endl; + cout << "Using GMRES iterative linear solver" << endl; + + LS = SUNLinSol_SPGMR(y, SUN_PREC_NONE, 0, sunctx); + if (check_ptr(LS, "SUNLinSol_SPGMR")) { return 1; } + + flag = ARKodeSetLinearSolver(arkode_mem, LS, A); + if (check_flag(flag, "ARKodeSetLinearSolver")) { return 1; } + } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = one; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + // Output initial contion + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << " t "; + cout << " u "; + cout << " v "; + cout << " u err "; + cout << " v err " << endl; + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) << abs(ydata[1] - vtrue) + << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKode")) { return 1; } + + flag = true_sol(tret, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) + << abs(ydata[1] - vtrue) << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + SUNMatDestroy(A); + SUNLinSolFree(LS); + ARKodeFree(&arkode_mem); + + cout << "End ARKStep StageInfo test" << endl; + + return 0; +} + +/*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp new file mode 100644 index 0000000000..db0d5f4b11 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -0,0 +1,145 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Test stage information and pre/postprocessing routines in ERKStep + * ---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +// Include desired integrators, vectors, linear solvers, and nonlinear solvers +#include "arkode/arkode_erkstep.h" +#include "nvector/nvector_serial.h" +#include "sundials/sundials_context.hpp" + +#include "problems/kpr.hpp" +#include "utilities/check_return.hpp" + +using namespace std; +using namespace problems::kpr; + +// store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. +// This would normally be stored in user_data, but here we reuse problem +// defintions from other tests. +void* arkode_mem = nullptr; + +// Include the pre/post step and stage processing routines now that arkode_mem is defined +#include "stageinfo.hpp" + + +int main(int argc, char* argv[]) +{ + cout << "Start ERKStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Create initial condition + N_Vector y = N_VNew_Serial(2, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + sunrealtype utrue, vtrue; + int flag = true_sol(zero, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + sunrealtype* ydata = N_VGetArrayPointer(y); + ydata[0] = utrue; + ydata[1] = vtrue; + + // Create ERKStep memory structure + arkode_mem = ERKStepCreate(ode_rhs, zero, y, sunctx); + if (check_ptr(arkode_mem, "ERKStepCreate")) { return 1; } + + flag = ARKodeSetUserData(arkode_mem, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + // Relative and absolute tolerances + const sunrealtype rtol = SUN_RCONST(1.0e-6); + const sunrealtype atol = SUN_RCONST(1.0e-10); + + flag = ARKodeSStolerances(arkode_mem, rtol, atol); + if (check_flag(flag, "ARKodeSStolerances")) { return 1; } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = one; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + // Output initial contion + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << " t "; + cout << " u "; + cout << " v "; + cout << " u err "; + cout << " v err " << endl; + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) << abs(ydata[1] - vtrue) + << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKodeEvolve")) { return 1; } + + flag = true_sol(tret, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) + << abs(ydata[1] - vtrue) << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + ARKodeFree(&arkode_mem); + + cout << "End ERKStep StageInfo test" << endl; + + return 0; +} + +/*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp new file mode 100644 index 0000000000..1358759130 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -0,0 +1,176 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Test stage information and pre/postprocessing routines in ForcingStep + * ---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +// Include desired integrators and vectors +#include "arkode/arkode_erkstep.h" +#include "arkode/arkode_forcingstep.h" +#include "nvector/nvector_serial.h" +#include "sundials/sundials_context.hpp" + +#include "problems/estep.hpp" +#include "utilities/check_return.hpp" + +using namespace std; +using namespace problems::estep; + +// store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. +// This would normally be stored in user_data, but here we reuse problem +// defintions from other tests. +void* arkode_mem = nullptr; + +// Include the pre/post step and stage processing routines now that arkode_mem is defined +#include "stageinfo.hpp" + + +int main(int argc, char* argv[]) +{ + cout << "Start ForcingStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Step sizes: overall, partition 1, partition 2 + sunrealtype dt = SUN_RCONST(0.001); + sunrealtype dt_1 = dt / 2; + sunrealtype dt_2 = dt / 4; + + // Create initial condition + N_Vector y = N_VNew_Serial(1, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + int flag = initial_condition(y); + if (check_flag(flag, "initial_condition")) { return 1; } + + // Create partition 1 integrator + void* stepper_1 = ERKStepCreate(ode_rhs_1, zero, y, sunctx); + if (check_ptr(stepper_1, "ERKStepCreate")) { return 1; } + + flag = ARKodeSetUserData(stepper_1, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + flag = ARKodeSetFixedStep(stepper_1, dt_1); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Create partition 1 integrator + void* stepper_2 = ERKStepCreate(ode_rhs_2, zero, y, sunctx); + if (check_ptr(stepper_2, "ERKStepCreate")) { return 1; } + + flag = ARKodeSetFixedStep(stepper_2, dt_2); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Create the overall integrator + SUNStepper steppers[2]; + + flag = ARKodeCreateSUNStepper(stepper_1, &steppers[0]); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + flag = ARKodeCreateSUNStepper(stepper_2, &steppers[1]); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + arkode_mem = ForcingStepCreate(steppers[0], steppers[1], zero, y, sunctx); + if (check_ptr(arkode_mem, "ForcingStepCreate")) { return 1; } + + flag = ARKodeSetFixedStep(arkode_mem, dt); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // True solution vector + N_Vector yt = N_VClone(y); + + flag = true_solution(zero, problem_data, yt); + if (check_flag(flag, "true_solution")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = one; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + const int width = numeric_limits::digits10 + 8; + + // Output initial contion + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << setw(width) << " t"; + cout << setw(width) << " y"; + cout << setw(width) << " y err" << endl; + for (int i = 0; i < 3 * width; i++) { cout << "-"; } + cout << endl; + + sunrealtype* y_data = N_VGetArrayPointer(y); + sunrealtype* yt_data = N_VGetArrayPointer(yt); + + cout << setw(width) << tret << setw(width) << y_data[0] << setw(width) + << abs(y_data[0] - yt_data[0]) << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKodeEvolve")) { return 1; } + + flag = true_solution(tret, problem_data, yt); + if (check_flag(flag, "true_solution")) { return 1; } + + cout << setw(width) << tret << setw(width) << y_data[0] << setw(width) + << abs(y_data[0] - yt_data[0]) << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 3 * width; i++) { cout << "-"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + N_VDestroy(yt); + ARKodeFree(&arkode_mem); + ARKodeFree(&stepper_1); + ARKodeFree(&stepper_2); + SUNStepper_Destroy(&steppers[0]); + SUNStepper_Destroy(&steppers[1]); + + cout << "End ForcingStep StageInfo test" << endl; + + return 0; +} + +/*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp new file mode 100644 index 0000000000..d9147986de --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -0,0 +1,178 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Test stage information and pre/postprocessing routines in LSRKStep + * ---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +// Include desired integrators, vectors, linear solvers, and nonlinear solvers +#include "arkode/arkode_lsrkstep.h" +#include "nvector/nvector_serial.h" + +#include "problems/prv.hpp" +#include "sundials/sundials_nvector.h" +#include "utilities/check_return.hpp" + +using namespace std; +using namespace problems::prv; + +// store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. +// This would normally be stored in user_data, but here we reuse problem +// defintions from other tests. +void* arkode_mem = nullptr; + +// Include the pre/post step and stage processing routines now that arkode_mem is defined +#include "stageinfo.hpp" + + +int main(int argc, char* argv[]) +{ + cout << "Start LSRKStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Use RKC (0), RKL (1), SSPs2 (2), SSPs3 (3), SSP43 (4), SSP104 (5) + int method = 0; + if (argc > 1) { method = stoi(argv[1]); } + + // Create initial condition + N_Vector y = N_VNew_Serial(1, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + N_VConst(true_solution(zero), y); + + // Create LSRKStep memory structure + if (method < 2) { arkode_mem = LSRKStepCreateSTS(ode_rhs, zero, y, sunctx); } + else { arkode_mem = LSRKStepCreateSSP(ode_rhs, zero, y, sunctx); } + if (check_ptr(arkode_mem, "LSRKStepCreate")) { return 1; } + + // Select method + int flag; + if (method == 0) + { + flag = LSRKStepSetSTSMethodByName(arkode_mem, "ARKODE_LSRK_RKC_2"); + } + else if (method == 1) + { + flag = LSRKStepSetSTSMethodByName(arkode_mem, "ARKODE_LSRK_RKL_2"); + } + else if (method == 2) + { + flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_S_2"); + } + else if (method == 3) + { + flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_S_3"); + } + else if (method == 4) + { + flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_S_3"); + if (flag == 0) { flag = LSRKStepSetNumSSPStages(arkode_mem, 4); } + } + else if (method == 5) + { + flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_10_4"); + } + else + { + cerr << "Invalid method option\n"; + return 1; + } + if (check_flag(flag, "LSRKStepSetMethodByName")) { return 1; } + + flag = ARKodeSetUserData(arkode_mem, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + // Relative and absolute tolerances + const sunrealtype rtol = SUN_RCONST(1.0e-6); + const sunrealtype atol = SUN_RCONST(1.0e-10); + + flag = ARKodeSStolerances(arkode_mem, rtol, atol); + if (check_flag(flag, "ARKodeSStolerances")) { return 1; } + + // Specify dominant eigenvalue function + flag = LSRKStepSetDomEigFn(arkode_mem, ode_dom_eig); + if (check_flag(flag, "LSRKStepSetDomEigFn")) { return 1; } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = one; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + const int width = numeric_limits::digits10 + 8; + + // Output initial contion + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << setw(width) << " t"; + cout << setw(width) << " y"; + cout << setw(width) << " y err" << endl; + for (int i = 0; i < 3 * width; i++) { cout << "-"; } + cout << endl; + + sunrealtype* y_data = N_VGetArrayPointer(y); + + cout << setw(width) << tret << setw(width) << y_data[0] << setw(width) + << abs(y_data[0] - true_solution(tret)) << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKodeEvolve")) { return 1; } + + cout << setw(width) << tret << setw(width) << y_data[0] << setw(width) + << abs(y_data[0] - true_solution(tret)) << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 3 * width; i++) { cout << "-"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + ARKodeFree(&arkode_mem); + + cout << "End LSRKStep StageInfo test" << endl; + + return 0; +} + +/*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp new file mode 100644 index 0000000000..b2753ce5ad --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -0,0 +1,263 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Test stage information and pre/postprocessing routines in MRIStep + * ---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +// Include desired integrators, vectors, linear solvers, and nonlinear solvers +#include "arkode/arkode.h" +#include "arkode/arkode_arkstep.h" +#include "arkode/arkode_mristep.h" +#include "nvector/nvector_serial.h" +#include "sundials/sundials_context.hpp" +#include "sundials/sundials_iterative.h" +#include "sundials/sundials_matrix.h" +#include "sunlinsol/sunlinsol_spgmr.h" + +#include "problems/kpr.hpp" +#include "utilities/check_return.hpp" + +using namespace std; +using namespace problems::kpr; + +// store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. +// This would normally be stored in user_data, but here we reuse problem +// defintions from other tests. +void* arkode_mem = nullptr; + +// Include the pre/post step and stage processing routines now that arkode_mem is defined +#include "stageinfo.hpp" + + +int main(int argc, char* argv[]) +{ + cout << "Start MRIStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Method to use: + // 0 = Ex-MRI-GARK + // 1 = Im-MRI-GARK + // 2 = ImEx-MRI-GARK + // 3 = Ex-MRI-SR + // 4 = Im-MRI-SR + // 5 = ImEx-MRI-SR + // 6 = MERK + int method_type = 0; + if (argc > 1) { method_type = stoi(argv[1]); } + + // Create initial condition + N_Vector y = N_VNew_Serial(2, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + sunrealtype utrue, vtrue; + int flag = true_sol(zero, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + sunrealtype* ydata = N_VGetArrayPointer(y); + ydata[0] = utrue; + ydata[1] = vtrue; + + // Create fast stepper + void* inner_arkode_mem = ARKStepCreate(ode_rhs_ff, nullptr, zero, y, sunctx); + if (check_ptr(inner_arkode_mem, "ARKStepCreate")) { return 1; } + + flag = ARKodeSetUserData(inner_arkode_mem, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + // Relative and absolute tolerances + const sunrealtype inner_rtol = SUN_RCONST(1.0e-6); + const sunrealtype inner_atol = SUN_RCONST(1.0e-10); + + flag = ARKodeSStolerances(inner_arkode_mem, inner_rtol, inner_atol); + if (check_flag(flag, "ARKodeSStolerances")) { return 1; } + + MRIStepInnerStepper stepper = nullptr; + flag = ARKStepCreateMRIStepInnerStepper(inner_arkode_mem, &stepper); + if (check_flag(flag, "ARKStepCreateMRIStepInnerStepper")) { return 1; } + + // Create MRIStep memory structure + if (method_type == 0) + { + cout << "Using Ex-MRI-GARK method" << endl; + arkode_mem = MRIStepCreate(ode_rhs_s, nullptr, zero, y, stepper, sunctx); + if (check_ptr(arkode_mem, "MRIStepCreate")) { return 1; } + } + else if (method_type == 1) + { + cout << "Using Im-MRI-GARK method" << endl; + arkode_mem = MRIStepCreate(nullptr, ode_rhs_s, zero, y, stepper, sunctx); + if (check_ptr(arkode_mem, "MRIStepCreate")) { return 1; } + } + else if (method_type == 2) + { + cout << "Using ImEx-MRI-GARK method" << endl; + arkode_mem = MRIStepCreate(ode_rhs_se, ode_rhs_si, zero, y, stepper, sunctx); + if (check_ptr(arkode_mem, "MRIStepCreate")) { return 1; } + } + else if (method_type == 3) + { + cout << "Using Ex-MRI-SR method" << endl; + arkode_mem = MRIStepCreate(ode_rhs_s, nullptr, zero, y, stepper, sunctx); + if (check_ptr(arkode_mem, "MRIStepCreate")) { return 1; } + } + else if (method_type == 4) + { + cout << "Using Im-MRI-SR method" << endl; + arkode_mem = MRIStepCreate(nullptr, ode_rhs_s, zero, y, stepper, sunctx); + if (check_ptr(arkode_mem, "MRIStepCreate")) { return 1; } + } + else if (method_type == 5) + { + cout << "Using ImEx-MRI-SR method" << endl; + arkode_mem = MRIStepCreate(ode_rhs_se, ode_rhs_si, zero, y, stepper, sunctx); + if (check_ptr(arkode_mem, "MRIStepCreate")) { return 1; } + } + else if (method_type == 6) + { + cout << "Using MERK method" << endl; + arkode_mem = MRIStepCreate(ode_rhs_s, nullptr, zero, y, stepper, sunctx); + if (check_ptr(arkode_mem, "MRIStepCreate")) { return 1; } + } + else + { + cerr << "ERROR: Invalid method type option " << method_type; + return 1; + } + + // Set MRI-SR or MERK method + MRIStepCoupling C = nullptr; + if (method_type == 3 || method_type == 4 || method_type == 5) + { + C = MRIStepCoupling_LoadTable(ARKODE_IMEX_MRI_SR32); + if (check_ptr(C, "MRIStepCoupling_LoadTable")) { return 1; } + } + else if (method_type == 6) + { + C = MRIStepCoupling_LoadTable(ARKODE_MERK32); + if (check_ptr(C, "MRIStepCoupling_LoadTable")) { return 1; } + } + + if (C) + { + flag = MRIStepSetCoupling(arkode_mem, C); + if (check_flag(flag, "MRIStepSetCoupling")) { return 1; } + MRIStepCoupling_Free(C); + } + + flag = ARKodeSetUserData(arkode_mem, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + // Relative and absolute tolerances + const sunrealtype rtol = SUN_RCONST(1.0e-6); + const sunrealtype atol = SUN_RCONST(1.0e-10); + + flag = ARKodeSStolerances(arkode_mem, rtol, atol); + if (check_flag(flag, "ARKodeSStolerances")) { return 1; } + + SUNMatrix A = nullptr; + SUNLinearSolver LS = nullptr; + + if (method_type == 1 || method_type == 2 || method_type == 4 || method_type == 5) + { + cout << "Using Newton nonlinear solver" << endl; + cout << "Using GMRES iterative linear solver" << endl; + + LS = SUNLinSol_SPGMR(y, SUN_PREC_NONE, 0, sunctx); + if (check_ptr(LS, "SUNLinSol_SPGMR")) { return 1; } + + flag = ARKodeSetLinearSolver(arkode_mem, LS, A); + if (check_flag(flag, "ARKodeSetLinearSolver")) { return 1; } + } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = one; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + // Output initial contion + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << " t "; + cout << " u "; + cout << " v "; + cout << " u err "; + cout << " v err " << endl; + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) << abs(ydata[1] - vtrue) + << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKode")) { return 1; } + + flag = true_sol(tret, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) + << abs(ydata[1] - vtrue) << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + SUNMatDestroy(A); + SUNLinSolFree(LS); + MRIStepInnerStepper_Free(&stepper); + ARKodeFree(&inner_arkode_mem); + ARKodeFree(&arkode_mem); + + cout << "End MRIStep StageInfo test" << endl; + + return 0; +} + +/*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp new file mode 100644 index 0000000000..731e1883be --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -0,0 +1,176 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Test stage information and pre/postprocessing routines in SplittingStep + * ---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +// Include desired integrators and vectors +#include "arkode/arkode_erkstep.h" +#include "arkode/arkode_splittingstep.h" +#include "nvector/nvector_serial.h" +#include "sundials/sundials_context.hpp" + +#include "problems/estep.hpp" +#include "utilities/check_return.hpp" + +using namespace std; +using namespace problems::estep; + +// store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. +// This would normally be stored in user_data, but here we reuse problem +// defintions from other tests. +void* arkode_mem = nullptr; + +// Include the pre/post step and stage processing routines now that arkode_mem is defined +#include "stageinfo.hpp" + + +int main(int argc, char* argv[]) +{ + cout << "Start SplittingStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Step sizes: overall, partition 1, partition 2 + sunrealtype dt = SUN_RCONST(0.001); + sunrealtype dt_1 = dt / 2; + sunrealtype dt_2 = dt / 4; + + // Create initial condition + N_Vector y = N_VNew_Serial(1, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + int flag = initial_condition(y); + if (check_flag(flag, "initial_condition")) { return 1; } + + // Create partition 1 integrator + void* stepper_1 = ERKStepCreate(ode_rhs_1, zero, y, sunctx); + if (check_ptr(stepper_1, "ERKStepCreate")) { return 1; } + + flag = ARKodeSetUserData(stepper_1, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + flag = ARKodeSetFixedStep(stepper_1, dt_1); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Create partition 1 integrator + void* stepper_2 = ERKStepCreate(ode_rhs_2, zero, y, sunctx); + if (check_ptr(stepper_2, "ERKStepCreate")) { return 1; } + + flag = ARKodeSetFixedStep(stepper_2, dt_2); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Create the overall integrator + SUNStepper steppers[2]; + + flag = ARKodeCreateSUNStepper(stepper_1, &steppers[0]); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + flag = ARKodeCreateSUNStepper(stepper_2, &steppers[1]); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + arkode_mem = SplittingStepCreate(steppers, 2, zero, y, sunctx); + if (check_ptr(arkode_mem, "SplittingStepCreate")) { return 1; } + + flag = ARKodeSetFixedStep(arkode_mem, dt); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // True solution vector + N_Vector yt = N_VClone(y); + + flag = true_solution(zero, problem_data, yt); + if (check_flag(flag, "true_solution")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = one; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + const int width = numeric_limits::digits10 + 8; + + // Output initial contion + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << setw(width) << " t"; + cout << setw(width) << " y"; + cout << setw(width) << " y err" << endl; + for (int i = 0; i < 3 * width; i++) { cout << "-"; } + cout << endl; + + sunrealtype* y_data = N_VGetArrayPointer(y); + sunrealtype* yt_data = N_VGetArrayPointer(yt); + + cout << setw(width) << tret << setw(width) << y_data[0] << setw(width) + << abs(y_data[0] - yt_data[0]) << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKodeEvolve")) { return 1; } + + flag = true_solution(tret, problem_data, yt); + if (check_flag(flag, "true_solution")) { return 1; } + + cout << setw(width) << tret << setw(width) << y_data[0] << setw(width) + << abs(y_data[0] - yt_data[0]) << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 3 * width; i++) { cout << "-"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + N_VDestroy(yt); + ARKodeFree(&arkode_mem); + ARKodeFree(&stepper_1); + ARKodeFree(&stepper_2); + SUNStepper_Destroy(&steppers[0]); + SUNStepper_Destroy(&steppers[1]); + + cout << "End SplittingStep StageInfo test" << endl; + + return 0; +} + +/*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp new file mode 100644 index 0000000000..edc9b75bc0 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -0,0 +1,134 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Test stage information and pre/postprocessing routines in SPRKStep + * ---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +// Include desired integrators, vectors, linear solvers, and nonlinear solvers +#include "arkode/arkode_sprkstep.h" +#include "nvector/nvector_serial.h" +#include "sundials/sundials_context.hpp" + +#include "problems/kepler.hpp" +#include "utilities/check_return.hpp" + +using namespace std; +using namespace problems::kepler; + +// store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. +// This would normally be stored in user_data, but here we reuse problem +// defintions from other tests. +void* arkode_mem = nullptr; + +// Include the pre/post step and stage processing routines now that arkode_mem is defined +#include "stageinfo.hpp" + + +int main(int argc, char* argv[]) +{ + cout << "Start SPRKStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Create initial condition + N_Vector y = N_VNew_Serial(4, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + int flag = initial_condition(y, eccentricity); + if (check_flag(flag, "initial_condition")) { return 1; } + + // Create SPRKStep memory structure + arkode_mem = SPRKStepCreate(ode_rhs_force, ode_rhs_velocity, zero, y, + sunctx); + if (check_ptr(arkode_mem, "SPKStepCreate")) { return 1; } + + // Step size + const sunrealtype dt = SUN_RCONST(0.001); + flag = ARKodeSetFixedStep(arkode_mem, dt); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = dt; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + // Output initial contion + sunrealtype* ydata = N_VGetArrayPointer(y); + if (check_ptr(y, "N_VGetArrayPointer")) { return 1; } + + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << " t "; + cout << " q1 "; + cout << " q2 "; + cout << " q3 "; + cout << " q4 " << endl; + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << ydata[2] << setw(25) << ydata[3] << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKodeEvolve")) { return 1; } + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << ydata[2] << setw(25) << ydata[3] << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + ARKodeFree(&arkode_mem); + + cout << "End SPRKStep StageInfo test" << endl; + + return 0; +} + +/*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/stageinfo.hpp b/test/unit_tests/arkode/CXX_serial/stageinfo.hpp new file mode 100644 index 0000000000..96014da32c --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/stageinfo.hpp @@ -0,0 +1,142 @@ +/* ----------------------------------------------------------------------------- + * Programmer(s): Daniel R. Reynolds @ UMBC + * ----------------------------------------------------------------------------- + * SUNDIALS Copyright Start + * Copyright (c) 2025-2026, Lawrence Livermore National Security, + * University of Maryland Baltimore County, and the SUNDIALS contributors. + * Copyright (c) 2013-2025, Lawrence Livermore National Security + * and Southern Methodist University. + * Copyright (c) 2002-2013, Lawrence Livermore National Security. + * All rights reserved. + * + * See the top-level LICENSE and NOTICE files for details. + * + * SPDX-License-Identifier: BSD-3-Clause + * SUNDIALS Copyright End + * ----------------------------------------------------------------------------- + * Utility routines for various "ark_test_stageinfo" unit tests. + * ---------------------------------------------------------------------------*/ + +#ifndef STAGEINFO_HPP_ +#define STAGEINFO_HPP_ + +#include "arkode/arkode.h" +#include "sundials/sundials_math.h" + +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) + << t << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) << "||y||_2 = " + << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + return 0; +} + + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) + << t << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) << "||y||_2 = " + << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + return 0; +} + + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " << std::setprecision(2) + << t << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) << "||y||_2 = " + << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + return 0; +} + + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn << " , tcur = " + << tcur << "), " << std::setprecision(10) << "||y||_2 = " + << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + return 0; +} + + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn << " , tcur = " + << tcur << "), " << std::setprecision(10) << "||y||_2 = " + << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + return 0; +} + +#endif // STAGEINFO_HPP_ From f43fffc7a23fa3e3bc42f382443ae920238df127 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Thu, 29 Jan 2026 12:20:52 -0500 Subject: [PATCH 14/32] Formatting --- .../CXX_serial/ark_test_stageinfo_arkstep.cpp | 1 - .../CXX_serial/ark_test_stageinfo_erkstep.cpp | 1 - .../ark_test_stageinfo_forcingstep.cpp | 1 - .../ark_test_stageinfo_lsrkstep.cpp | 1 - .../CXX_serial/ark_test_stageinfo_mristep.cpp | 1 - .../ark_test_stageinfo_splittingstep.cpp | 1 - .../ark_test_stageinfo_sprkstep.cpp | 4 +- .../arkode/CXX_serial/stageinfo.hpp | 48 ++++++++++--------- 8 files changed, 26 insertions(+), 32 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp index 1fc2e9e691..098097859c 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -45,7 +45,6 @@ void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined #include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start ARKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp index db0d5f4b11..ee00bded48 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -43,7 +43,6 @@ void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined #include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start ERKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp index 1358759130..9300613873 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -44,7 +44,6 @@ void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined #include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start ForcingStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index d9147986de..438f80fa12 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -43,7 +43,6 @@ void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined #include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start LSRKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index b2753ce5ad..2c51d1876b 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -48,7 +48,6 @@ void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined #include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start MRIStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp index 731e1883be..2a29241a78 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -44,7 +44,6 @@ void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined #include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start SplittingStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp index edc9b75bc0..569a464c1e 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -43,7 +43,6 @@ void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined #include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start SPRKStep StageInfo test" << endl; @@ -59,8 +58,7 @@ int main(int argc, char* argv[]) if (check_flag(flag, "initial_condition")) { return 1; } // Create SPRKStep memory structure - arkode_mem = SPRKStepCreate(ode_rhs_force, ode_rhs_velocity, zero, y, - sunctx); + arkode_mem = SPRKStepCreate(ode_rhs_force, ode_rhs_velocity, zero, y, sunctx); if (check_ptr(arkode_mem, "SPKStepCreate")) { return 1; } // Step size diff --git a/test/unit_tests/arkode/CXX_serial/stageinfo.hpp b/test/unit_tests/arkode/CXX_serial/stageinfo.hpp index 96014da32c..8898ad8a71 100644 --- a/test/unit_tests/arkode/CXX_serial/stageinfo.hpp +++ b/test/unit_tests/arkode/CXX_serial/stageinfo.hpp @@ -36,14 +36,14 @@ int preprocess_step(sunrealtype t, N_Vector y, void* user_data) std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; return -1; } - std::cout << " [Pre-step processing at t = " << std::setprecision(2) - << t << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) << "||y||_2 = " - << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; return 0; } - int postprocess_step(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; @@ -57,14 +57,14 @@ int postprocess_step(sunrealtype t, N_Vector y, void* user_data) std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; return -1; } - std::cout << " [Post-step processing at t = " << std::setprecision(2) - << t << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) << "||y||_2 = " - << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; return 0; } - int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; @@ -78,14 +78,14 @@ int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; return -1; } - std::cout << " [Post-step failure processing at t = " << std::setprecision(2) - << t << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) << "||y||_2 = " - << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; return 0; } - int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) { int stage, max_stages; @@ -106,13 +106,13 @@ int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) return -1; } std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn << " , tcur = " - << tcur << "), " << std::setprecision(10) << "||y||_2 = " - << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; return 0; } - int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) { int stage, max_stages; @@ -132,10 +132,12 @@ int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) std::cerr << "Error in ARKodeGetStageIndex" << std::endl; return -1; } - std::cout << " [Post-stage processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn << " , tcur = " - << tcur << "), " << std::setprecision(10) << "||y||_2 = " - << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl << std::flush; + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; return 0; } From 86d5eaf143acea55a99c50e49d39306e21d6a9db Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Thu, 29 Jan 2026 15:12:52 -0500 Subject: [PATCH 15/32] Fixed floating-point differences in .out files for Jenkins; added missing .out files for 'stageinfo' unit tests --- .../C_parallel/ark_diurnal_kry_bbd_p.out | 104 +-- .../arkode/C_parallel/ark_diurnal_kry_p.out | 53 +- .../arkode/C_parhyp/ark_diurnal_kry_ph.out | 53 +- .../arkode/C_serial/ark_KrylovDemo_prec.out | 652 +++++++++--------- .../arkode/C_serial/ark_KrylovDemo_prec_1.out | 652 +++++++++--------- .../arkode/C_serial/ark_KrylovDemo_prec_2.out | 652 +++++++++--------- .../ark_test_prealloc_arkstep_1.out | 12 +- .../ark_test_prealloc_erkstep_1.out | 12 +- .../ark_test_prealloc_lsrkstep_1.out | 6 +- .../ark_test_prealloc_sprkstep_1.out | 6 +- .../ark_test_stageinfo_arkstep_0.out | 60 ++ .../ark_test_stageinfo_arkstep_1.out | 79 +++ .../ark_test_stageinfo_arkstep_2.out | 87 +++ .../CXX_serial/ark_test_stageinfo_erkstep.out | 64 ++ .../ark_test_stageinfo_forcingstep.out | 28 + .../ark_test_stageinfo_lsrkstep_0.out | 44 ++ .../ark_test_stageinfo_lsrkstep_1.out | 44 ++ .../ark_test_stageinfo_lsrkstep_2.out | 87 +++ .../ark_test_stageinfo_lsrkstep_3.out | 81 +++ .../ark_test_stageinfo_lsrkstep_4.out | 51 ++ .../ark_test_stageinfo_lsrkstep_5.out | 90 +++ .../ark_test_stageinfo_mristep_0.out | 60 ++ .../ark_test_stageinfo_mristep_1.out | 89 +++ .../ark_test_stageinfo_mristep_2.out | 85 +++ .../ark_test_stageinfo_mristep_3.out | 72 ++ .../ark_test_stageinfo_mristep_4.out | 85 +++ .../ark_test_stageinfo_mristep_5.out | 85 +++ .../ark_test_stageinfo_mristep_6.out | 64 ++ .../ark_test_stageinfo_splittingstep.out | 28 + .../ark_test_stageinfo_sprkstep.out | 64 ++ 30 files changed, 2447 insertions(+), 1102 deletions(-) create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.out create mode 100644 test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.out diff --git a/examples/arkode/C_parallel/ark_diurnal_kry_bbd_p.out b/examples/arkode/C_parallel/ark_diurnal_kry_bbd_p.out index a30074040d..a73795f274 100644 --- a/examples/arkode/C_parallel/ark_diurnal_kry_bbd_p.out +++ b/examples/arkode/C_parallel/ark_diurnal_kry_bbd_p.out @@ -8,57 +8,57 @@ Preconditioner type is: jpre = SUN_PREC_LEFT t = 7.20e+03 no. steps = 70 stepsize = 1.17e+02 -At bottom left: c1, c2 = 1.047e+04 2.527e+11 -At top right: c1, c2 = 1.118e+04 2.700e+11 +At bottom left: c1, c2 = 1.047e+04 2.527e+11 +At top right: c1, c2 = 1.118e+04 2.700e+11 t = 1.44e+04 no. steps = 97 stepsize = 5.42e+02 -At bottom left: c1, c2 = 6.659e+06 2.582e+11 -At top right: c1, c2 = 7.301e+06 2.833e+11 +At bottom left: c1, c2 = 6.659e+06 2.582e+11 +At top right: c1, c2 = 7.301e+06 2.833e+11 t = 2.16e+04 no. steps = 115 stepsize = 6.88e+02 -At bottom left: c1, c2 = 2.665e+07 2.993e+11 -At top right: c1, c2 = 2.931e+07 3.313e+11 +At bottom left: c1, c2 = 2.665e+07 2.993e+11 +At top right: c1, c2 = 2.931e+07 3.313e+11 t = 2.88e+04 no. steps = 133 stepsize = 2.55e+02 -At bottom left: c1, c2 = 8.702e+06 3.380e+11 -At top right: c1, c2 = 9.650e+06 3.751e+11 +At bottom left: c1, c2 = 8.702e+06 3.380e+11 +At top right: c1, c2 = 9.650e+06 3.751e+11 t = 3.60e+04 no. steps = 161 stepsize = 7.55e+01 -At bottom left: c1, c2 = 1.404e+04 3.387e+11 -At top right: c1, c2 = 1.561e+04 3.765e+11 +At bottom left: c1, c2 = 1.404e+04 3.387e+11 +At top right: c1, c2 = 1.561e+04 3.765e+11 t = 4.32e+04 no. steps = 201 stepsize = 1.77e+03 -At bottom left: c1, c2 = -1.994e-07 3.382e+11 -At top right: c1, c2 = 4.533e-06 3.804e+11 +At bottom left: c1, c2 = -1.994e-07 3.382e+11 +At top right: c1, c2 = 4.533e-06 3.804e+11 t = 5.04e+04 no. steps = 206 stepsize = 7.73e+02 -At bottom left: c1, c2 = -2.848e-08 3.358e+11 -At top right: c1, c2 = -1.542e-07 3.864e+11 +At bottom left: c1, c2 = -2.848e-08 3.358e+11 +At top right: c1, c2 = -1.542e-07 3.864e+11 t = 5.76e+04 no. steps = 210 stepsize = 1.55e+03 -At bottom left: c1, c2 = -8.395e-07 3.320e+11 -At top right: c1, c2 = -4.284e-07 3.909e+11 +At bottom left: c1, c2 = -8.395e-07 3.320e+11 +At top right: c1, c2 = -4.284e-07 3.909e+11 t = 6.48e+04 no. steps = 215 stepsize = 1.89e+03 -At bottom left: c1, c2 = 1.234e-08 3.313e+11 -At top right: c1, c2 = 9.230e-08 3.963e+11 +At bottom left: c1, c2 = 1.234e-08 3.313e+11 +At top right: c1, c2 = 9.230e-08 3.963e+11 t = 7.20e+04 no. steps = 218 stepsize = 2.21e+03 -At bottom left: c1, c2 = -4.001e-08 3.330e+11 -At top right: c1, c2 = -7.099e-06 4.039e+11 +At bottom left: c1, c2 = -4.001e-08 3.330e+11 +At top right: c1, c2 = -7.099e-06 4.039e+11 t = 7.92e+04 no. steps = 221 stepsize = 2.32e+03 -At bottom left: c1, c2 = 3.713e-08 3.334e+11 -At top right: c1, c2 = -3.992e-07 4.120e+11 +At bottom left: c1, c2 = 3.713e-08 3.334e+11 +At top right: c1, c2 = -3.992e-07 4.120e+11 t = 8.64e+04 no. steps = 224 stepsize = 2.47e+03 -At bottom left: c1, c2 = 3.734e-07 3.352e+11 -At top right: c1, c2 = 3.748e-07 4.163e+11 +At bottom left: c1, c2 = 3.734e-07 3.352e+11 +At top right: c1, c2 = 3.748e-07 4.163e+11 -Final Statistics: +Final Statistics: -lenrw = 4118 leniw = 291 +lenrw = 4118 leniw = 285 lenrwls = 2455 leniwls = 126 nst = 224 nfe = 0 nfe = 3315 nfels = 6886 @@ -77,57 +77,57 @@ In ARKBBDPRE: real/integer local work space sizes = 1300, 192 Preconditioner type is: jpre = SUN_PREC_RIGHT t = 7.20e+03 no. steps = 69 stepsize = 1.17e+02 -At bottom left: c1, c2 = 1.047e+04 2.527e+11 -At top right: c1, c2 = 1.118e+04 2.700e+11 +At bottom left: c1, c2 = 1.047e+04 2.527e+11 +At top right: c1, c2 = 1.118e+04 2.700e+11 t = 1.44e+04 no. steps = 96 stepsize = 5.40e+02 -At bottom left: c1, c2 = 6.659e+06 2.582e+11 -At top right: c1, c2 = 7.301e+06 2.833e+11 +At bottom left: c1, c2 = 6.659e+06 2.582e+11 +At top right: c1, c2 = 7.301e+06 2.833e+11 t = 2.16e+04 no. steps = 114 stepsize = 6.89e+02 -At bottom left: c1, c2 = 2.665e+07 2.993e+11 -At top right: c1, c2 = 2.931e+07 3.313e+11 +At bottom left: c1, c2 = 2.665e+07 2.993e+11 +At top right: c1, c2 = 2.931e+07 3.313e+11 t = 2.88e+04 no. steps = 131 stepsize = 1.93e+02 -At bottom left: c1, c2 = 8.702e+06 3.380e+11 -At top right: c1, c2 = 9.650e+06 3.751e+11 +At bottom left: c1, c2 = 8.702e+06 3.380e+11 +At top right: c1, c2 = 9.650e+06 3.751e+11 t = 3.60e+04 no. steps = 159 stepsize = 7.48e+01 -At bottom left: c1, c2 = 1.404e+04 3.387e+11 -At top right: c1, c2 = 1.561e+04 3.765e+11 +At bottom left: c1, c2 = 1.404e+04 3.387e+11 +At top right: c1, c2 = 1.561e+04 3.765e+11 t = 4.32e+04 no. steps = 199 stepsize = 1.75e+03 -At bottom left: c1, c2 = -1.508e-07 3.382e+11 -At top right: c1, c2 = -1.680e-07 3.804e+11 +At bottom left: c1, c2 = -1.508e-07 3.382e+11 +At top right: c1, c2 = -1.680e-07 3.804e+11 t = 5.04e+04 no. steps = 203 stepsize = 1.28e+03 -At bottom left: c1, c2 = 8.151e-09 3.358e+11 -At top right: c1, c2 = -1.358e-08 3.864e+11 +At bottom left: c1, c2 = 8.151e-09 3.358e+11 +At top right: c1, c2 = -1.358e-08 3.864e+11 t = 5.76e+04 no. steps = 208 stepsize = 9.65e+02 -At bottom left: c1, c2 = 5.968e-08 3.320e+11 -At top right: c1, c2 = 1.041e-08 3.909e+11 +At bottom left: c1, c2 = 5.968e-08 3.320e+11 +At top right: c1, c2 = 1.041e-08 3.909e+11 t = 6.48e+04 no. steps = 213 stepsize = 1.90e+03 -At bottom left: c1, c2 = -4.322e-09 3.313e+11 -At top right: c1, c2 = 4.258e-10 3.963e+11 +At bottom left: c1, c2 = -4.322e-09 3.313e+11 +At top right: c1, c2 = 4.258e-10 3.963e+11 t = 7.20e+04 no. steps = 216 stepsize = 2.21e+03 -At bottom left: c1, c2 = 1.431e-07 3.330e+11 -At top right: c1, c2 = 1.210e-06 4.039e+11 +At bottom left: c1, c2 = 1.431e-07 3.330e+11 +At top right: c1, c2 = 1.210e-06 4.039e+11 t = 7.92e+04 no. steps = 219 stepsize = 2.32e+03 -At bottom left: c1, c2 = 2.679e-08 3.334e+11 -At top right: c1, c2 = 1.594e-07 4.120e+11 +At bottom left: c1, c2 = 2.679e-08 3.334e+11 +At top right: c1, c2 = 1.594e-07 4.120e+11 t = 8.64e+04 no. steps = 222 stepsize = 2.47e+03 -At bottom left: c1, c2 = 6.003e-08 3.352e+11 -At top right: c1, c2 = -1.811e-07 4.163e+11 +At bottom left: c1, c2 = 6.003e-08 3.352e+11 +At top right: c1, c2 = -1.811e-07 4.163e+11 -Final Statistics: +Final Statistics: -lenrw = 4118 leniw = 297 +lenrw = 4118 leniw = 285 lenrwls = 2455 leniwls = 126 nst = 222 nfe = 0 nfe = 3244 nfels = 7604 diff --git a/examples/arkode/C_parallel/ark_diurnal_kry_p.out b/examples/arkode/C_parallel/ark_diurnal_kry_p.out index 62b62514e4..f1b4e6e840 100644 --- a/examples/arkode/C_parallel/ark_diurnal_kry_p.out +++ b/examples/arkode/C_parallel/ark_diurnal_kry_p.out @@ -2,57 +2,57 @@ 2-species diurnal advection-diffusion problem t = 7.20e+03 no. steps = 69 stepsize = 1.17e+02 -At bottom left: c1, c2 = 1.047e+04 2.527e+11 -At top right: c1, c2 = 1.118e+04 2.700e+11 +At bottom left: c1, c2 = 1.047e+04 2.527e+11 +At top right: c1, c2 = 1.118e+04 2.700e+11 t = 1.44e+04 no. steps = 96 stepsize = 5.41e+02 -At bottom left: c1, c2 = 6.659e+06 2.582e+11 -At top right: c1, c2 = 7.301e+06 2.833e+11 +At bottom left: c1, c2 = 6.659e+06 2.582e+11 +At top right: c1, c2 = 7.301e+06 2.833e+11 t = 2.16e+04 no. steps = 114 stepsize = 6.85e+02 -At bottom left: c1, c2 = 2.665e+07 2.993e+11 -At top right: c1, c2 = 2.931e+07 3.313e+11 +At bottom left: c1, c2 = 2.665e+07 2.993e+11 +At top right: c1, c2 = 2.931e+07 3.313e+11 t = 2.88e+04 no. steps = 128 stepsize = 2.01e+02 -At bottom left: c1, c2 = 8.702e+06 3.380e+11 -At top right: c1, c2 = 9.650e+06 3.751e+11 +At bottom left: c1, c2 = 8.702e+06 3.380e+11 +At top right: c1, c2 = 9.650e+06 3.751e+11 t = 3.60e+04 no. steps = 156 stepsize = 7.45e+01 -At bottom left: c1, c2 = 1.404e+04 3.387e+11 -At top right: c1, c2 = 1.561e+04 3.765e+11 +At bottom left: c1, c2 = 1.404e+04 3.387e+11 +At top right: c1, c2 = 1.561e+04 3.765e+11 t = 4.32e+04 no. steps = 196 stepsize = 1.75e+03 -At bottom left: c1, c2 = -4.884e-08 3.382e+11 -At top right: c1, c2 = -8.694e-07 3.804e+11 +At bottom left: c1, c2 = -4.884e-08 3.382e+11 +At top right: c1, c2 = -8.694e-07 3.804e+11 t = 5.04e+04 no. steps = 200 stepsize = 1.26e+03 -At bottom left: c1, c2 = -7.230e-09 3.358e+11 -At top right: c1, c2 = 3.094e-08 3.864e+11 +At bottom left: c1, c2 = -7.230e-09 3.358e+11 +At top right: c1, c2 = 3.094e-08 3.864e+11 t = 5.76e+04 no. steps = 205 stepsize = 1.08e+03 -At bottom left: c1, c2 = 4.422e-06 3.320e+11 -At top right: c1, c2 = -2.623e-05 3.909e+11 +At bottom left: c1, c2 = 4.422e-06 3.320e+11 +At top right: c1, c2 = -2.623e-05 3.909e+11 t = 6.48e+04 no. steps = 209 stepsize = 2.05e+03 -At bottom left: c1, c2 = 1.105e-08 3.313e+11 -At top right: c1, c2 = 7.165e-08 3.963e+11 +At bottom left: c1, c2 = 1.105e-08 3.313e+11 +At top right: c1, c2 = 7.165e-08 3.963e+11 t = 7.20e+04 no. steps = 213 stepsize = 2.13e+03 -At bottom left: c1, c2 = -4.810e-06 3.330e+11 -At top right: c1, c2 = -1.198e-04 4.039e+11 +At bottom left: c1, c2 = -4.810e-06 3.330e+11 +At top right: c1, c2 = -1.198e-04 4.039e+11 t = 7.92e+04 no. steps = 216 stepsize = 2.32e+03 -At bottom left: c1, c2 = 7.856e-08 3.334e+11 -At top right: c1, c2 = 6.407e-07 4.120e+11 +At bottom left: c1, c2 = 7.856e-08 3.334e+11 +At top right: c1, c2 = 6.407e-07 4.120e+11 t = 8.64e+04 no. steps = 219 stepsize = 2.47e+03 -At bottom left: c1, c2 = 1.878e-08 3.352e+11 -At top right: c1, c2 = 2.566e-08 4.163e+11 +At bottom left: c1, c2 = 1.878e-08 3.352e+11 +At top right: c1, c2 = 2.566e-08 4.163e+11 -Final Statistics: +Final Statistics: -lenrw = 3518 leniw = 267 +lenrw = 3518 leniw = 261 lenrwls = 2455 leniwls = 126 nst = 219 nfe = 0 nfi = 3215 nfels = 6952 @@ -60,4 +60,3 @@ nni = 2012 nli = 6952 nsetups = 72 netf = 21 npe = 6 nps = 8886 ncfn = 2 ncfl = 621 - diff --git a/examples/arkode/C_parhyp/ark_diurnal_kry_ph.out b/examples/arkode/C_parhyp/ark_diurnal_kry_ph.out index 0d5014c1e5..ac94a6d1cf 100644 --- a/examples/arkode/C_parhyp/ark_diurnal_kry_ph.out +++ b/examples/arkode/C_parhyp/ark_diurnal_kry_ph.out @@ -2,57 +2,57 @@ 2-species diurnal advection-diffusion problem t = 7.20e+03 no. steps = 69 stepsize = 1.17e+02 -At bottom left: c1, c2 = 1.047e+04 2.527e+11 -At top right: c1, c2 = 1.118e+04 2.700e+11 +At bottom left: c1, c2 = 1.047e+04 2.527e+11 +At top right: c1, c2 = 1.118e+04 2.700e+11 t = 1.44e+04 no. steps = 96 stepsize = 6.06e+02 -At bottom left: c1, c2 = 6.659e+06 2.582e+11 -At top right: c1, c2 = 7.301e+06 2.833e+11 +At bottom left: c1, c2 = 6.659e+06 2.582e+11 +At top right: c1, c2 = 7.301e+06 2.833e+11 t = 2.16e+04 no. steps = 115 stepsize = 7.13e+02 -At bottom left: c1, c2 = 2.665e+07 2.993e+11 -At top right: c1, c2 = 2.931e+07 3.313e+11 +At bottom left: c1, c2 = 2.665e+07 2.993e+11 +At top right: c1, c2 = 2.931e+07 3.313e+11 t = 2.88e+04 no. steps = 128 stepsize = 2.39e+02 -At bottom left: c1, c2 = 8.702e+06 3.380e+11 -At top right: c1, c2 = 9.650e+06 3.751e+11 +At bottom left: c1, c2 = 8.702e+06 3.380e+11 +At top right: c1, c2 = 9.650e+06 3.751e+11 t = 3.60e+04 no. steps = 157 stepsize = 7.95e+01 -At bottom left: c1, c2 = 1.404e+04 3.387e+11 -At top right: c1, c2 = 1.561e+04 3.765e+11 +At bottom left: c1, c2 = 1.404e+04 3.387e+11 +At top right: c1, c2 = 1.561e+04 3.765e+11 t = 4.32e+04 no. steps = 197 stepsize = 1.77e+03 -At bottom left: c1, c2 = -7.216e-06 3.382e+11 -At top right: c1, c2 = 4.224e-05 3.804e+11 +At bottom left: c1, c2 = -7.216e-06 3.382e+11 +At top right: c1, c2 = 4.224e-05 3.804e+11 t = 5.04e+04 no. steps = 202 stepsize = 8.73e+02 -At bottom left: c1, c2 = 4.566e-07 3.358e+11 -At top right: c1, c2 = 2.513e-07 3.864e+11 +At bottom left: c1, c2 = 4.566e-07 3.358e+11 +At top right: c1, c2 = 2.513e-07 3.864e+11 t = 5.76e+04 no. steps = 206 stepsize = 1.72e+03 -At bottom left: c1, c2 = 4.610e-07 3.320e+11 -At top right: c1, c2 = 3.216e-05 3.909e+11 +At bottom left: c1, c2 = 4.610e-07 3.320e+11 +At top right: c1, c2 = 3.216e-05 3.909e+11 t = 6.48e+04 no. steps = 212 stepsize = 1.90e+03 -At bottom left: c1, c2 = 2.291e-06 3.313e+11 -At top right: c1, c2 = -9.987e-06 3.963e+11 +At bottom left: c1, c2 = 2.291e-06 3.313e+11 +At top right: c1, c2 = -9.987e-06 3.963e+11 t = 7.20e+04 no. steps = 215 stepsize = 2.20e+03 -At bottom left: c1, c2 = 2.352e-06 3.330e+11 -At top right: c1, c2 = 4.867e-05 4.039e+11 +At bottom left: c1, c2 = 2.352e-06 3.330e+11 +At top right: c1, c2 = 4.867e-05 4.039e+11 t = 7.92e+04 no. steps = 218 stepsize = 2.31e+03 -At bottom left: c1, c2 = 9.645e-07 3.334e+11 -At top right: c1, c2 = 1.907e-05 4.120e+11 +At bottom left: c1, c2 = 9.645e-07 3.334e+11 +At top right: c1, c2 = 1.907e-05 4.120e+11 t = 8.64e+04 no. steps = 221 stepsize = 2.44e+03 -At bottom left: c1, c2 = 3.465e-06 3.352e+11 -At top right: c1, c2 = 6.627e-06 4.163e+11 +At bottom left: c1, c2 = 3.465e-06 3.352e+11 +At top right: c1, c2 = 6.627e-06 4.163e+11 -Final Statistics: +Final Statistics: -lenrw = 3518 leniw = 267 +lenrw = 3518 leniw = 261 lenrwls = 2455 leniwls = 126 nst = 221 nfe = 0 nfi = 3097 nfels = 6228 @@ -60,4 +60,3 @@ nni = 1889 nli = 6228 nsetups = 69 netf = 20 npe = 4 nps = 8046 ncfn = 0 ncfl = 452 - diff --git a/examples/arkode/C_serial/ark_KrylovDemo_prec.out b/examples/arkode/C_serial/ark_KrylovDemo_prec.out index 8a09c9a96d..1c5be0014a 100644 --- a/examples/arkode/C_serial/ark_KrylovDemo_prec.out +++ b/examples/arkode/C_serial/ark_KrylovDemo_prec.out @@ -10,9 +10,9 @@ b parameter = 1 Diffusion coefficients: Dprey = 1 Dpred = 0.5 Rate parameter alpha = 1 -Mesh dimensions (mx,my) are 6, 6. Total system size is neq = 216 +Mesh dimensions (mx,my) are 6, 6. Total system size is neq = 216 -Tolerances: reltol = 1e-05, abstol = 1e-05 +Tolerances: reltol = 1e-05, abstol = 1e-05 Preconditioning uses a product of: (1) Gauss-Seidel iterations with itmax = 5 iterations, and @@ -31,52 +31,52 @@ Gram-Schmidt method type is gstype = SUN_MODIFIED_GS c values at t = 0: Species 1 -10 10 10 10 10 10 -10 10.1678 10.3775 10.3775 10.1678 10 -10 10.3775 10.8493 10.8493 10.3775 10 -10 10.3775 10.8493 10.8493 10.3775 10 -10 10.1678 10.3775 10.3775 10.1678 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.1678 10.3775 10.3775 10.1678 10 +10 10.3775 10.8493 10.8493 10.3775 10 +10 10.3775 10.8493 10.8493 10.3775 10 +10 10.1678 10.3775 10.3775 10.1678 10 +10 10 10 10 10 10 Species 2 -10 10 10 10 10 10 -10 10.3355 10.755 10.755 10.3355 10 -10 10.755 11.6987 11.6987 10.755 10 -10 10.755 11.6987 11.6987 10.755 10 -10 10.3355 10.755 10.755 10.3355 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.3355 10.755 10.755 10.3355 10 +10 10.755 11.6987 11.6987 10.755 10 +10 10.755 11.6987 11.6987 10.755 10 +10 10.3355 10.755 10.755 10.3355 10 +10 10 10 10 10 10 Species 3 -10 10 10 10 10 10 -10 10.5033 11.1325 11.1325 10.5033 10 -10 11.1325 12.548 12.548 11.1325 10 -10 11.1325 12.548 12.548 11.1325 10 -10 10.5033 11.1325 11.1325 10.5033 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.5033 11.1325 11.1325 10.5033 10 +10 11.1325 12.548 12.548 11.1325 10 +10 11.1325 12.548 12.548 11.1325 10 +10 10.5033 11.1325 11.1325 10.5033 10 +10 10 10 10 10 10 Species 4 -10 10 10 10 10 10 -10 10.6711 11.5099 11.5099 10.6711 10 -10 11.5099 13.3974 13.3974 11.5099 10 -10 11.5099 13.3974 13.3974 11.5099 10 -10 10.6711 11.5099 11.5099 10.6711 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.6711 11.5099 11.5099 10.6711 10 +10 11.5099 13.3974 13.3974 11.5099 10 +10 11.5099 13.3974 13.3974 11.5099 10 +10 10.6711 11.5099 11.5099 10.6711 10 +10 10 10 10 10 10 Species 5 -10 10 10 10 10 10 -10 10.8389 11.8874 11.8874 10.8389 10 -10 11.8874 14.2467 14.2467 11.8874 10 -10 11.8874 14.2467 14.2467 11.8874 10 -10 10.8389 11.8874 11.8874 10.8389 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.8389 11.8874 11.8874 10.8389 10 +10 11.8874 14.2467 14.2467 11.8874 10 +10 11.8874 14.2467 14.2467 11.8874 10 +10 10.8389 11.8874 11.8874 10.8389 10 +10 10 10 10 10 10 Species 6 -10 10 10 10 10 10 -10 11.0066 12.2649 12.2649 11.0066 10 -10 12.2649 15.0961 15.0961 12.2649 10 -10 12.2649 15.0961 15.0961 12.2649 10 -10 11.0066 12.2649 12.2649 11.0066 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 11.0066 12.2649 12.2649 11.0066 10 +10 12.2649 15.0961 15.0961 12.2649 10 +10 12.2649 15.0961 15.0961 12.2649 10 +10 11.0066 12.2649 12.2649 11.0066 10 +10 10 10 10 10 10 t = 1.00e-08 nst = 3 nfe = 0 nfi = 45 nni = 27 hu = 6.86e-08 @@ -87,52 +87,52 @@ t = 1.00e-06 nst = 4 nfe = 0 nfi = 77 nni = 49 hu = 1.20e-06 c values at t = 1e-06: Species 1 -9.99991 9.99992 9.99993 9.99993 9.99993 9.99992 -9.99992 10.1677 10.3774 10.3774 10.1677 9.99993 -9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 -9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 -9.99992 10.1677 10.3774 10.3774 10.1677 9.99992 -9.99991 9.99992 9.99993 9.99993 9.99992 9.99991 +9.99991 9.99992 9.99993 9.99993 9.99993 9.99992 +9.99992 10.1677 10.3774 10.3774 10.1677 9.99993 +9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 +9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 +9.99992 10.1677 10.3774 10.3774 10.1677 9.99992 +9.99991 9.99992 9.99993 9.99993 9.99992 9.99991 Species 2 -9.99991 9.99993 9.99995 9.99995 9.99993 9.99992 -9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 -9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 -9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 -9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 -9.99991 9.99993 9.99995 9.99995 9.99993 9.99991 +9.99991 9.99993 9.99995 9.99995 9.99993 9.99992 +9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 +9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 +9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 +9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 +9.99991 9.99993 9.99995 9.99995 9.99993 9.99991 Species 3 -9.99991 9.99994 9.99997 9.99997 9.99994 9.99992 -9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 -9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 -9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 -9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 -9.99991 9.99994 9.99997 9.99997 9.99994 9.99991 +9.99991 9.99994 9.99997 9.99997 9.99994 9.99992 +9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 +9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 +9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 +9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 +9.99991 9.99994 9.99997 9.99997 9.99994 9.99991 Species 4 -13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 -13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 -13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 -13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 -13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 -13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 +13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 +13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 +13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 +13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 +13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 +13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 Species 5 -13.4981 13.4981 13.4982 13.4981 13.4981 13.4981 -13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 -13.4982 16.4131 20.2351 20.2351 16.4131 13.4981 -13.4982 16.4131 20.2351 20.2351 16.4131 13.4982 -13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 13.4981 13.4982 13.4981 13.4981 13.4981 +13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 +13.4982 16.4131 20.2351 20.2351 16.4131 13.4981 +13.4982 16.4131 20.2351 20.2351 16.4131 13.4982 +13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 Species 6 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 -13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 -13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 -13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 -13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 +13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 +13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 +13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 t = 1.00e-05 nst = 12 nfe = 0 nfi = 197 nni = 129 hu = 1.19e-06 @@ -143,52 +143,52 @@ t = 1.00e-03 nst = 46 nfe = 0 nfi = 820 nni = 582 hu = 8.40e-03 c values at t = 0.001: Species 1 -9.90702 9.91664 9.92836 9.93033 9.92253 9.91674 -9.91472 10.0747 10.2769 10.2785 10.0795 9.92253 -9.92446 10.2748 10.7181 10.7194 10.2785 9.93033 -9.92445 10.2744 10.7173 10.7181 10.2769 9.92836 -9.91469 10.0734 10.2744 10.2748 10.0747 9.91664 -9.90697 9.91469 9.92445 9.92446 9.91472 9.90702 +9.90702 9.91664 9.92836 9.93033 9.92253 9.91674 +9.91472 10.0747 10.2769 10.2785 10.0795 9.92253 +9.92446 10.2748 10.7181 10.7194 10.2785 9.93033 +9.92445 10.2744 10.7173 10.7181 10.2769 9.92836 +9.91469 10.0734 10.2744 10.2748 10.0747 9.91664 +9.90697 9.91469 9.92445 9.92446 9.91472 9.90702 Species 2 -9.90742 9.92474 9.94622 9.94819 9.93064 9.91713 -9.92282 10.2412 10.644 10.6457 10.2461 9.93064 -9.94232 10.6419 11.5267 11.5281 10.6457 9.94819 -9.94231 10.6415 11.5258 11.5267 10.644 9.94622 -9.92279 10.24 10.6415 10.6419 10.2412 9.92474 -9.90737 9.92279 9.94231 9.94232 9.92282 9.90742 +9.90742 9.92474 9.94622 9.94819 9.93064 9.91713 +9.92282 10.2412 10.644 10.6457 10.2461 9.93064 +9.94232 10.6419 11.5267 11.5281 10.6457 9.94819 +9.94231 10.6415 11.5258 11.5267 10.644 9.94622 +9.92279 10.24 10.6415 10.6419 10.2412 9.92474 +9.90737 9.92279 9.94231 9.94232 9.92282 9.90742 Species 3 -9.90781 9.93284 9.96408 9.96605 9.93874 9.91752 -9.93092 10.4078 11.0109 11.0127 10.4127 9.93874 -9.96017 11.0088 12.3339 12.3354 11.0127 9.96605 -9.96016 11.0083 12.333 12.3339 11.0109 9.96408 -9.93089 10.4065 11.0083 11.0088 10.4078 9.93284 -9.90776 9.93089 9.96016 9.96017 9.93092 9.90781 +9.90781 9.93284 9.96408 9.96605 9.93874 9.91752 +9.93092 10.4078 11.0109 11.0127 10.4127 9.93874 +9.96017 11.0088 12.3339 12.3354 11.0127 9.96605 +9.96016 11.0083 12.333 12.3339 11.0109 9.96408 +9.93089 10.4065 11.0083 11.0088 10.4078 9.93284 +9.90776 9.93089 9.96016 9.96017 9.93092 9.90781 Species 4 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 Species 5 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 Species 6 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 t = 1.00e-02 nst = 47 nfe = 0 nfi = 840 nni = 597 hu = 1.32e-02 @@ -199,52 +199,52 @@ t = 1.00e+00 nst = 69 nfe = 0 nfi = 1259 nni = 904 hu = 5.51e-02 c values at t = 1: Species 1 -1.58852 1.59924 1.62152 1.64765 1.67037 1.68149 -1.58533 1.59504 1.61548 1.63952 1.66033 1.67037 -1.57757 1.58548 1.6024 1.62235 1.63952 1.64765 -1.56821 1.57412 1.58706 1.6024 1.61548 1.62152 -1.56049 1.56463 1.57412 1.58548 1.59504 1.59924 -1.55733 1.56049 1.56821 1.57757 1.58533 1.58852 +1.58852 1.59924 1.62152 1.64765 1.67037 1.68149 +1.58533 1.59504 1.61548 1.63952 1.66033 1.67037 +1.57757 1.58548 1.6024 1.62235 1.63952 1.64765 +1.56821 1.57412 1.58706 1.6024 1.61548 1.62152 +1.56049 1.56463 1.57412 1.58548 1.59504 1.59924 +1.55733 1.56049 1.56821 1.57757 1.58533 1.58852 Species 2 -1.59067 1.60141 1.62371 1.64987 1.67262 1.68376 -1.58749 1.5972 1.61767 1.64174 1.66257 1.67262 -1.57972 1.58763 1.60457 1.62455 1.64174 1.64987 -1.57034 1.57627 1.58922 1.60457 1.61767 1.62371 -1.56261 1.56677 1.57627 1.58763 1.5972 1.60141 -1.55945 1.56261 1.57034 1.57972 1.58749 1.59067 +1.59067 1.60141 1.62371 1.64987 1.67262 1.68376 +1.58749 1.5972 1.61767 1.64174 1.66257 1.67262 +1.57972 1.58763 1.60457 1.62455 1.64174 1.64987 +1.57034 1.57627 1.58922 1.60457 1.61767 1.62371 +1.56261 1.56677 1.57627 1.58763 1.5972 1.60141 +1.55945 1.56261 1.57034 1.57972 1.58749 1.59067 Species 3 -1.59271 1.60346 1.62579 1.65198 1.67474 1.6859 -1.58952 1.59925 1.61974 1.64383 1.66469 1.67474 -1.58174 1.58967 1.60662 1.62662 1.64383 1.65198 -1.57236 1.57829 1.59126 1.60662 1.61974 1.62579 -1.56462 1.56878 1.57829 1.58967 1.59925 1.60346 -1.56146 1.56462 1.57236 1.58174 1.58952 1.59271 +1.59271 1.60346 1.62579 1.65198 1.67474 1.6859 +1.58952 1.59925 1.61974 1.64383 1.66469 1.67474 +1.58174 1.58967 1.60662 1.62662 1.64383 1.65198 +1.57236 1.57829 1.59126 1.60662 1.61974 1.62579 +1.56462 1.56878 1.57829 1.58967 1.59925 1.60346 +1.56146 1.56462 1.57236 1.58174 1.58952 1.59271 Species 4 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 Species 5 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 Species 6 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 t = 2.00e+00 nst = 81 nfe = 0 nfi = 1463 nni = 1048 hu = 1.54e-01 @@ -255,52 +255,52 @@ t = 4.00e+00 nst = 95 nfe = 0 nfi = 1708 nni = 1221 hu = 2.69e-01 c values at t = 4: Species 1 -1.19535 1.20368 1.2211 1.24157 1.25935 1.268 -1.1928 1.20035 1.21636 1.23523 1.25154 1.25935 -1.18657 1.19274 1.20602 1.22173 1.23523 1.24157 -1.17904 1.18368 1.19389 1.20602 1.21636 1.2211 -1.17284 1.17613 1.18368 1.19274 1.20035 1.20368 -1.17032 1.17284 1.17904 1.18657 1.1928 1.19535 +1.19535 1.20368 1.2211 1.24157 1.25935 1.268 +1.1928 1.20035 1.21636 1.23523 1.25154 1.25935 +1.18657 1.19274 1.20602 1.22173 1.23523 1.24157 +1.17904 1.18368 1.19389 1.20602 1.21636 1.2211 +1.17284 1.17613 1.18368 1.19274 1.20035 1.20368 +1.17032 1.17284 1.17904 1.18657 1.1928 1.19535 Species 2 -1.19538 1.20371 1.22113 1.24161 1.25938 1.26804 -1.19284 1.20038 1.21639 1.23526 1.25157 1.25938 -1.1866 1.19277 1.20606 1.22177 1.23526 1.24161 -1.17908 1.18371 1.19393 1.20606 1.21639 1.22113 -1.17288 1.17616 1.18371 1.19277 1.20038 1.20371 -1.17035 1.17288 1.17908 1.1866 1.19284 1.19538 +1.19538 1.20371 1.22113 1.24161 1.25938 1.26804 +1.19284 1.20038 1.21639 1.23526 1.25157 1.25938 +1.1866 1.19277 1.20606 1.22177 1.23526 1.24161 +1.17908 1.18371 1.19393 1.20606 1.21639 1.22113 +1.17288 1.17616 1.18371 1.19277 1.20038 1.20371 +1.17035 1.17288 1.17908 1.1866 1.19284 1.19538 Species 3 -1.19542 1.20374 1.22116 1.24164 1.25942 1.26807 -1.19287 1.20042 1.21643 1.2353 1.25161 1.25942 -1.18663 1.1928 1.20609 1.2218 1.2353 1.24164 -1.17911 1.18374 1.19396 1.20609 1.21643 1.22116 -1.17291 1.17619 1.18374 1.1928 1.20042 1.20374 -1.17039 1.17291 1.17911 1.18663 1.19287 1.19542 +1.19542 1.20374 1.22116 1.24164 1.25942 1.26807 +1.19287 1.20042 1.21643 1.2353 1.25161 1.25942 +1.18663 1.1928 1.20609 1.2218 1.2353 1.24164 +1.17911 1.18374 1.19396 1.20609 1.21643 1.22116 +1.17291 1.17619 1.18374 1.1928 1.20042 1.20374 +1.17039 1.17291 1.17911 1.18663 1.19287 1.19542 Species 4 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 Species 5 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 Species 6 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 t = 5.00e+00 nst = 98 nfe = 0 nfi = 1767 nni = 1262 hu = 3.36e-01 @@ -311,52 +311,52 @@ t = 7.00e+00 nst = 100 nfe = 0 nfi = 1798 nni = 1283 hu = 2.99e+00 c values at t = 7: Species 1 -1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 -1.18601 1.19352 1.20945 1.22822 1.24445 1.25222 -1.17981 1.18594 1.19917 1.2148 1.22822 1.23454 -1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 -1.16363 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 +1.18601 1.19352 1.20945 1.22822 1.24445 1.25222 +1.17981 1.18594 1.19917 1.2148 1.22822 1.23454 +1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 +1.16363 1.16615 1.17232 1.17981 1.18601 1.18855 Species 2 -1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 -1.18601 1.19352 1.20945 1.22823 1.24445 1.25222 -1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 -1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 -1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 +1.18601 1.19352 1.20945 1.22823 1.24445 1.25222 +1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 +1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 +1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 Species 3 -1.18855 1.19684 1.21416 1.23454 1.25223 1.26083 -1.18601 1.19352 1.20945 1.22823 1.24445 1.25223 -1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 -1.17232 1.17693 1.1871 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19684 -1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19684 1.21416 1.23454 1.25223 1.26083 +1.18601 1.19352 1.20945 1.22823 1.24445 1.25223 +1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 +1.17232 1.17693 1.1871 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19684 +1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 Species 4 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 Species 5 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 Species 6 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 t = 8.00e+00 nst = 100 nfe = 0 nfi = 1798 nni = 1283 hu = 2.99e+00 @@ -367,75 +367,75 @@ t = 1.00e+01 nst = 101 nfe = 0 nfi = 1813 nni = 1293 hu = 6.31e+00 c values at t = 10: Species 1 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 2 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 3 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 4 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Species 5 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Species 6 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 148 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 101 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 1813 - Number of f-s (SPGMR) = 4359 - Number of f-s (TOTAL) = 4359 - Number of setups = 72 - Number of nonlinear iterations = 1293 - Number of linear iterations = 4359 - Number of preconditioner evaluations = 72 - Number of preconditioner solves = 5618 - Number of error test failures = 1 - Number of nonlinear conv. failures = 25 - Number of linear convergence failures = 238 - Average Krylov subspace dimension = 3.371 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 101 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 1813 + Number of f-s (SPGMR) = 4359 + Number of f-s (TOTAL) = 4359 + Number of setups = 72 + Number of nonlinear iterations = 1293 + Number of linear iterations = 4359 + Number of preconditioner evaluations = 72 + Number of preconditioner solves = 5618 + Number of error test failures = 1 + Number of nonlinear conv. failures = 25 + Number of linear convergence failures = 238 + Average Krylov subspace dimension = 3.371 ---------------------------------------------------------------------------- @@ -487,24 +487,24 @@ t = 1.00e+01 nst = 101 nfe = 0 nfi = 1813 nni = 1293 hu = 6.31e+00 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 154 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 101 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 1813 - Number of f-s (SPGMR) = 4359 - Number of f-s (TOTAL) = 4359 - Number of setups = 72 - Number of nonlinear iterations = 1293 - Number of linear iterations = 4359 - Number of preconditioner evaluations = 72 - Number of preconditioner solves = 5618 - Number of error test failures = 1 - Number of nonlinear conv. failures = 25 - Number of linear convergence failures = 238 - Average Krylov subspace dimension = 3.371 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 101 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 1813 + Number of f-s (SPGMR) = 4359 + Number of f-s (TOTAL) = 4359 + Number of setups = 72 + Number of nonlinear iterations = 1293 + Number of linear iterations = 4359 + Number of preconditioner evaluations = 72 + Number of preconditioner solves = 5618 + Number of error test failures = 1 + Number of nonlinear conv. failures = 25 + Number of linear convergence failures = 238 + Average Krylov subspace dimension = 3.371 ---------------------------------------------------------------------------- @@ -556,24 +556,24 @@ t = 1.00e+01 nst = 234 nfe = 0 nfi = 4045 nni = 2856 hu = 3.93e-01 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 160 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 234 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 4045 - Number of f-s (SPGMR) = 10634 - Number of f-s (TOTAL) = 10634 - Number of setups = 277 - Number of nonlinear iterations = 2856 - Number of linear iterations = 10634 - Number of preconditioner evaluations = 277 - Number of preconditioner solves = 13350 - Number of error test failures = 1 - Number of nonlinear conv. failures = 166 - Number of linear convergence failures = 1036 - Average Krylov subspace dimension = 3.723 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 234 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 4045 + Number of f-s (SPGMR) = 10634 + Number of f-s (TOTAL) = 10634 + Number of setups = 277 + Number of nonlinear iterations = 2856 + Number of linear iterations = 10634 + Number of preconditioner evaluations = 277 + Number of preconditioner solves = 13350 + Number of error test failures = 1 + Number of nonlinear conv. failures = 166 + Number of linear convergence failures = 1036 + Average Krylov subspace dimension = 3.723 ---------------------------------------------------------------------------- @@ -625,24 +625,24 @@ t = 1.00e+01 nst = 234 nfe = 0 nfi = 4045 nni = 2856 hu = 3.93e-01 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 166 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 234 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 4045 - Number of f-s (SPGMR) = 10633 - Number of f-s (TOTAL) = 10633 - Number of setups = 277 - Number of nonlinear iterations = 2856 - Number of linear iterations = 10633 - Number of preconditioner evaluations = 277 - Number of preconditioner solves = 13349 - Number of error test failures = 1 - Number of nonlinear conv. failures = 166 - Number of linear convergence failures = 1036 - Average Krylov subspace dimension = 3.723 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 234 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 4045 + Number of f-s (SPGMR) = 10633 + Number of f-s (TOTAL) = 10633 + Number of setups = 277 + Number of nonlinear iterations = 2856 + Number of linear iterations = 10633 + Number of preconditioner evaluations = 277 + Number of preconditioner solves = 13349 + Number of error test failures = 1 + Number of nonlinear conv. failures = 166 + Number of linear convergence failures = 1036 + Average Krylov subspace dimension = 3.723 ---------------------------------------------------------------------------- diff --git a/examples/arkode/C_serial/ark_KrylovDemo_prec_1.out b/examples/arkode/C_serial/ark_KrylovDemo_prec_1.out index 8a09c9a96d..1c5be0014a 100644 --- a/examples/arkode/C_serial/ark_KrylovDemo_prec_1.out +++ b/examples/arkode/C_serial/ark_KrylovDemo_prec_1.out @@ -10,9 +10,9 @@ b parameter = 1 Diffusion coefficients: Dprey = 1 Dpred = 0.5 Rate parameter alpha = 1 -Mesh dimensions (mx,my) are 6, 6. Total system size is neq = 216 +Mesh dimensions (mx,my) are 6, 6. Total system size is neq = 216 -Tolerances: reltol = 1e-05, abstol = 1e-05 +Tolerances: reltol = 1e-05, abstol = 1e-05 Preconditioning uses a product of: (1) Gauss-Seidel iterations with itmax = 5 iterations, and @@ -31,52 +31,52 @@ Gram-Schmidt method type is gstype = SUN_MODIFIED_GS c values at t = 0: Species 1 -10 10 10 10 10 10 -10 10.1678 10.3775 10.3775 10.1678 10 -10 10.3775 10.8493 10.8493 10.3775 10 -10 10.3775 10.8493 10.8493 10.3775 10 -10 10.1678 10.3775 10.3775 10.1678 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.1678 10.3775 10.3775 10.1678 10 +10 10.3775 10.8493 10.8493 10.3775 10 +10 10.3775 10.8493 10.8493 10.3775 10 +10 10.1678 10.3775 10.3775 10.1678 10 +10 10 10 10 10 10 Species 2 -10 10 10 10 10 10 -10 10.3355 10.755 10.755 10.3355 10 -10 10.755 11.6987 11.6987 10.755 10 -10 10.755 11.6987 11.6987 10.755 10 -10 10.3355 10.755 10.755 10.3355 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.3355 10.755 10.755 10.3355 10 +10 10.755 11.6987 11.6987 10.755 10 +10 10.755 11.6987 11.6987 10.755 10 +10 10.3355 10.755 10.755 10.3355 10 +10 10 10 10 10 10 Species 3 -10 10 10 10 10 10 -10 10.5033 11.1325 11.1325 10.5033 10 -10 11.1325 12.548 12.548 11.1325 10 -10 11.1325 12.548 12.548 11.1325 10 -10 10.5033 11.1325 11.1325 10.5033 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.5033 11.1325 11.1325 10.5033 10 +10 11.1325 12.548 12.548 11.1325 10 +10 11.1325 12.548 12.548 11.1325 10 +10 10.5033 11.1325 11.1325 10.5033 10 +10 10 10 10 10 10 Species 4 -10 10 10 10 10 10 -10 10.6711 11.5099 11.5099 10.6711 10 -10 11.5099 13.3974 13.3974 11.5099 10 -10 11.5099 13.3974 13.3974 11.5099 10 -10 10.6711 11.5099 11.5099 10.6711 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.6711 11.5099 11.5099 10.6711 10 +10 11.5099 13.3974 13.3974 11.5099 10 +10 11.5099 13.3974 13.3974 11.5099 10 +10 10.6711 11.5099 11.5099 10.6711 10 +10 10 10 10 10 10 Species 5 -10 10 10 10 10 10 -10 10.8389 11.8874 11.8874 10.8389 10 -10 11.8874 14.2467 14.2467 11.8874 10 -10 11.8874 14.2467 14.2467 11.8874 10 -10 10.8389 11.8874 11.8874 10.8389 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.8389 11.8874 11.8874 10.8389 10 +10 11.8874 14.2467 14.2467 11.8874 10 +10 11.8874 14.2467 14.2467 11.8874 10 +10 10.8389 11.8874 11.8874 10.8389 10 +10 10 10 10 10 10 Species 6 -10 10 10 10 10 10 -10 11.0066 12.2649 12.2649 11.0066 10 -10 12.2649 15.0961 15.0961 12.2649 10 -10 12.2649 15.0961 15.0961 12.2649 10 -10 11.0066 12.2649 12.2649 11.0066 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 11.0066 12.2649 12.2649 11.0066 10 +10 12.2649 15.0961 15.0961 12.2649 10 +10 12.2649 15.0961 15.0961 12.2649 10 +10 11.0066 12.2649 12.2649 11.0066 10 +10 10 10 10 10 10 t = 1.00e-08 nst = 3 nfe = 0 nfi = 45 nni = 27 hu = 6.86e-08 @@ -87,52 +87,52 @@ t = 1.00e-06 nst = 4 nfe = 0 nfi = 77 nni = 49 hu = 1.20e-06 c values at t = 1e-06: Species 1 -9.99991 9.99992 9.99993 9.99993 9.99993 9.99992 -9.99992 10.1677 10.3774 10.3774 10.1677 9.99993 -9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 -9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 -9.99992 10.1677 10.3774 10.3774 10.1677 9.99992 -9.99991 9.99992 9.99993 9.99993 9.99992 9.99991 +9.99991 9.99992 9.99993 9.99993 9.99993 9.99992 +9.99992 10.1677 10.3774 10.3774 10.1677 9.99993 +9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 +9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 +9.99992 10.1677 10.3774 10.3774 10.1677 9.99992 +9.99991 9.99992 9.99993 9.99993 9.99992 9.99991 Species 2 -9.99991 9.99993 9.99995 9.99995 9.99993 9.99992 -9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 -9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 -9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 -9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 -9.99991 9.99993 9.99995 9.99995 9.99993 9.99991 +9.99991 9.99993 9.99995 9.99995 9.99993 9.99992 +9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 +9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 +9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 +9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 +9.99991 9.99993 9.99995 9.99995 9.99993 9.99991 Species 3 -9.99991 9.99994 9.99997 9.99997 9.99994 9.99992 -9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 -9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 -9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 -9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 -9.99991 9.99994 9.99997 9.99997 9.99994 9.99991 +9.99991 9.99994 9.99997 9.99997 9.99994 9.99992 +9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 +9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 +9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 +9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 +9.99991 9.99994 9.99997 9.99997 9.99994 9.99991 Species 4 -13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 -13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 -13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 -13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 -13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 -13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 +13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 +13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 +13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 +13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 +13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 +13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 Species 5 -13.4981 13.4981 13.4982 13.4981 13.4981 13.4981 -13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 -13.4982 16.4131 20.2351 20.2351 16.4131 13.4981 -13.4982 16.4131 20.2351 20.2351 16.4131 13.4982 -13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 13.4981 13.4982 13.4981 13.4981 13.4981 +13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 +13.4982 16.4131 20.2351 20.2351 16.4131 13.4981 +13.4982 16.4131 20.2351 20.2351 16.4131 13.4982 +13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 Species 6 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 -13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 -13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 -13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 -13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 +13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 +13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 +13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 t = 1.00e-05 nst = 12 nfe = 0 nfi = 197 nni = 129 hu = 1.19e-06 @@ -143,52 +143,52 @@ t = 1.00e-03 nst = 46 nfe = 0 nfi = 820 nni = 582 hu = 8.40e-03 c values at t = 0.001: Species 1 -9.90702 9.91664 9.92836 9.93033 9.92253 9.91674 -9.91472 10.0747 10.2769 10.2785 10.0795 9.92253 -9.92446 10.2748 10.7181 10.7194 10.2785 9.93033 -9.92445 10.2744 10.7173 10.7181 10.2769 9.92836 -9.91469 10.0734 10.2744 10.2748 10.0747 9.91664 -9.90697 9.91469 9.92445 9.92446 9.91472 9.90702 +9.90702 9.91664 9.92836 9.93033 9.92253 9.91674 +9.91472 10.0747 10.2769 10.2785 10.0795 9.92253 +9.92446 10.2748 10.7181 10.7194 10.2785 9.93033 +9.92445 10.2744 10.7173 10.7181 10.2769 9.92836 +9.91469 10.0734 10.2744 10.2748 10.0747 9.91664 +9.90697 9.91469 9.92445 9.92446 9.91472 9.90702 Species 2 -9.90742 9.92474 9.94622 9.94819 9.93064 9.91713 -9.92282 10.2412 10.644 10.6457 10.2461 9.93064 -9.94232 10.6419 11.5267 11.5281 10.6457 9.94819 -9.94231 10.6415 11.5258 11.5267 10.644 9.94622 -9.92279 10.24 10.6415 10.6419 10.2412 9.92474 -9.90737 9.92279 9.94231 9.94232 9.92282 9.90742 +9.90742 9.92474 9.94622 9.94819 9.93064 9.91713 +9.92282 10.2412 10.644 10.6457 10.2461 9.93064 +9.94232 10.6419 11.5267 11.5281 10.6457 9.94819 +9.94231 10.6415 11.5258 11.5267 10.644 9.94622 +9.92279 10.24 10.6415 10.6419 10.2412 9.92474 +9.90737 9.92279 9.94231 9.94232 9.92282 9.90742 Species 3 -9.90781 9.93284 9.96408 9.96605 9.93874 9.91752 -9.93092 10.4078 11.0109 11.0127 10.4127 9.93874 -9.96017 11.0088 12.3339 12.3354 11.0127 9.96605 -9.96016 11.0083 12.333 12.3339 11.0109 9.96408 -9.93089 10.4065 11.0083 11.0088 10.4078 9.93284 -9.90776 9.93089 9.96016 9.96017 9.93092 9.90781 +9.90781 9.93284 9.96408 9.96605 9.93874 9.91752 +9.93092 10.4078 11.0109 11.0127 10.4127 9.93874 +9.96017 11.0088 12.3339 12.3354 11.0127 9.96605 +9.96016 11.0083 12.333 12.3339 11.0109 9.96408 +9.93089 10.4065 11.0083 11.0088 10.4078 9.93284 +9.90776 9.93089 9.96016 9.96017 9.93092 9.90781 Species 4 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 Species 5 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 Species 6 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 t = 1.00e-02 nst = 47 nfe = 0 nfi = 840 nni = 597 hu = 1.32e-02 @@ -199,52 +199,52 @@ t = 1.00e+00 nst = 69 nfe = 0 nfi = 1259 nni = 904 hu = 5.51e-02 c values at t = 1: Species 1 -1.58852 1.59924 1.62152 1.64765 1.67037 1.68149 -1.58533 1.59504 1.61548 1.63952 1.66033 1.67037 -1.57757 1.58548 1.6024 1.62235 1.63952 1.64765 -1.56821 1.57412 1.58706 1.6024 1.61548 1.62152 -1.56049 1.56463 1.57412 1.58548 1.59504 1.59924 -1.55733 1.56049 1.56821 1.57757 1.58533 1.58852 +1.58852 1.59924 1.62152 1.64765 1.67037 1.68149 +1.58533 1.59504 1.61548 1.63952 1.66033 1.67037 +1.57757 1.58548 1.6024 1.62235 1.63952 1.64765 +1.56821 1.57412 1.58706 1.6024 1.61548 1.62152 +1.56049 1.56463 1.57412 1.58548 1.59504 1.59924 +1.55733 1.56049 1.56821 1.57757 1.58533 1.58852 Species 2 -1.59067 1.60141 1.62371 1.64987 1.67262 1.68376 -1.58749 1.5972 1.61767 1.64174 1.66257 1.67262 -1.57972 1.58763 1.60457 1.62455 1.64174 1.64987 -1.57034 1.57627 1.58922 1.60457 1.61767 1.62371 -1.56261 1.56677 1.57627 1.58763 1.5972 1.60141 -1.55945 1.56261 1.57034 1.57972 1.58749 1.59067 +1.59067 1.60141 1.62371 1.64987 1.67262 1.68376 +1.58749 1.5972 1.61767 1.64174 1.66257 1.67262 +1.57972 1.58763 1.60457 1.62455 1.64174 1.64987 +1.57034 1.57627 1.58922 1.60457 1.61767 1.62371 +1.56261 1.56677 1.57627 1.58763 1.5972 1.60141 +1.55945 1.56261 1.57034 1.57972 1.58749 1.59067 Species 3 -1.59271 1.60346 1.62579 1.65198 1.67474 1.6859 -1.58952 1.59925 1.61974 1.64383 1.66469 1.67474 -1.58174 1.58967 1.60662 1.62662 1.64383 1.65198 -1.57236 1.57829 1.59126 1.60662 1.61974 1.62579 -1.56462 1.56878 1.57829 1.58967 1.59925 1.60346 -1.56146 1.56462 1.57236 1.58174 1.58952 1.59271 +1.59271 1.60346 1.62579 1.65198 1.67474 1.6859 +1.58952 1.59925 1.61974 1.64383 1.66469 1.67474 +1.58174 1.58967 1.60662 1.62662 1.64383 1.65198 +1.57236 1.57829 1.59126 1.60662 1.61974 1.62579 +1.56462 1.56878 1.57829 1.58967 1.59925 1.60346 +1.56146 1.56462 1.57236 1.58174 1.58952 1.59271 Species 4 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 Species 5 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 Species 6 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 t = 2.00e+00 nst = 81 nfe = 0 nfi = 1463 nni = 1048 hu = 1.54e-01 @@ -255,52 +255,52 @@ t = 4.00e+00 nst = 95 nfe = 0 nfi = 1708 nni = 1221 hu = 2.69e-01 c values at t = 4: Species 1 -1.19535 1.20368 1.2211 1.24157 1.25935 1.268 -1.1928 1.20035 1.21636 1.23523 1.25154 1.25935 -1.18657 1.19274 1.20602 1.22173 1.23523 1.24157 -1.17904 1.18368 1.19389 1.20602 1.21636 1.2211 -1.17284 1.17613 1.18368 1.19274 1.20035 1.20368 -1.17032 1.17284 1.17904 1.18657 1.1928 1.19535 +1.19535 1.20368 1.2211 1.24157 1.25935 1.268 +1.1928 1.20035 1.21636 1.23523 1.25154 1.25935 +1.18657 1.19274 1.20602 1.22173 1.23523 1.24157 +1.17904 1.18368 1.19389 1.20602 1.21636 1.2211 +1.17284 1.17613 1.18368 1.19274 1.20035 1.20368 +1.17032 1.17284 1.17904 1.18657 1.1928 1.19535 Species 2 -1.19538 1.20371 1.22113 1.24161 1.25938 1.26804 -1.19284 1.20038 1.21639 1.23526 1.25157 1.25938 -1.1866 1.19277 1.20606 1.22177 1.23526 1.24161 -1.17908 1.18371 1.19393 1.20606 1.21639 1.22113 -1.17288 1.17616 1.18371 1.19277 1.20038 1.20371 -1.17035 1.17288 1.17908 1.1866 1.19284 1.19538 +1.19538 1.20371 1.22113 1.24161 1.25938 1.26804 +1.19284 1.20038 1.21639 1.23526 1.25157 1.25938 +1.1866 1.19277 1.20606 1.22177 1.23526 1.24161 +1.17908 1.18371 1.19393 1.20606 1.21639 1.22113 +1.17288 1.17616 1.18371 1.19277 1.20038 1.20371 +1.17035 1.17288 1.17908 1.1866 1.19284 1.19538 Species 3 -1.19542 1.20374 1.22116 1.24164 1.25942 1.26807 -1.19287 1.20042 1.21643 1.2353 1.25161 1.25942 -1.18663 1.1928 1.20609 1.2218 1.2353 1.24164 -1.17911 1.18374 1.19396 1.20609 1.21643 1.22116 -1.17291 1.17619 1.18374 1.1928 1.20042 1.20374 -1.17039 1.17291 1.17911 1.18663 1.19287 1.19542 +1.19542 1.20374 1.22116 1.24164 1.25942 1.26807 +1.19287 1.20042 1.21643 1.2353 1.25161 1.25942 +1.18663 1.1928 1.20609 1.2218 1.2353 1.24164 +1.17911 1.18374 1.19396 1.20609 1.21643 1.22116 +1.17291 1.17619 1.18374 1.1928 1.20042 1.20374 +1.17039 1.17291 1.17911 1.18663 1.19287 1.19542 Species 4 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 Species 5 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 Species 6 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 t = 5.00e+00 nst = 98 nfe = 0 nfi = 1767 nni = 1262 hu = 3.36e-01 @@ -311,52 +311,52 @@ t = 7.00e+00 nst = 100 nfe = 0 nfi = 1798 nni = 1283 hu = 2.99e+00 c values at t = 7: Species 1 -1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 -1.18601 1.19352 1.20945 1.22822 1.24445 1.25222 -1.17981 1.18594 1.19917 1.2148 1.22822 1.23454 -1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 -1.16363 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 +1.18601 1.19352 1.20945 1.22822 1.24445 1.25222 +1.17981 1.18594 1.19917 1.2148 1.22822 1.23454 +1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 +1.16363 1.16615 1.17232 1.17981 1.18601 1.18855 Species 2 -1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 -1.18601 1.19352 1.20945 1.22823 1.24445 1.25222 -1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 -1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 -1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 +1.18601 1.19352 1.20945 1.22823 1.24445 1.25222 +1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 +1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 +1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 Species 3 -1.18855 1.19684 1.21416 1.23454 1.25223 1.26083 -1.18601 1.19352 1.20945 1.22823 1.24445 1.25223 -1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 -1.17232 1.17693 1.1871 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19684 -1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19684 1.21416 1.23454 1.25223 1.26083 +1.18601 1.19352 1.20945 1.22823 1.24445 1.25223 +1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 +1.17232 1.17693 1.1871 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19684 +1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 Species 4 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 Species 5 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 Species 6 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 t = 8.00e+00 nst = 100 nfe = 0 nfi = 1798 nni = 1283 hu = 2.99e+00 @@ -367,75 +367,75 @@ t = 1.00e+01 nst = 101 nfe = 0 nfi = 1813 nni = 1293 hu = 6.31e+00 c values at t = 10: Species 1 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 2 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 3 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 4 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Species 5 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Species 6 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 148 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 101 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 1813 - Number of f-s (SPGMR) = 4359 - Number of f-s (TOTAL) = 4359 - Number of setups = 72 - Number of nonlinear iterations = 1293 - Number of linear iterations = 4359 - Number of preconditioner evaluations = 72 - Number of preconditioner solves = 5618 - Number of error test failures = 1 - Number of nonlinear conv. failures = 25 - Number of linear convergence failures = 238 - Average Krylov subspace dimension = 3.371 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 101 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 1813 + Number of f-s (SPGMR) = 4359 + Number of f-s (TOTAL) = 4359 + Number of setups = 72 + Number of nonlinear iterations = 1293 + Number of linear iterations = 4359 + Number of preconditioner evaluations = 72 + Number of preconditioner solves = 5618 + Number of error test failures = 1 + Number of nonlinear conv. failures = 25 + Number of linear convergence failures = 238 + Average Krylov subspace dimension = 3.371 ---------------------------------------------------------------------------- @@ -487,24 +487,24 @@ t = 1.00e+01 nst = 101 nfe = 0 nfi = 1813 nni = 1293 hu = 6.31e+00 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 154 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 101 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 1813 - Number of f-s (SPGMR) = 4359 - Number of f-s (TOTAL) = 4359 - Number of setups = 72 - Number of nonlinear iterations = 1293 - Number of linear iterations = 4359 - Number of preconditioner evaluations = 72 - Number of preconditioner solves = 5618 - Number of error test failures = 1 - Number of nonlinear conv. failures = 25 - Number of linear convergence failures = 238 - Average Krylov subspace dimension = 3.371 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 101 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 1813 + Number of f-s (SPGMR) = 4359 + Number of f-s (TOTAL) = 4359 + Number of setups = 72 + Number of nonlinear iterations = 1293 + Number of linear iterations = 4359 + Number of preconditioner evaluations = 72 + Number of preconditioner solves = 5618 + Number of error test failures = 1 + Number of nonlinear conv. failures = 25 + Number of linear convergence failures = 238 + Average Krylov subspace dimension = 3.371 ---------------------------------------------------------------------------- @@ -556,24 +556,24 @@ t = 1.00e+01 nst = 234 nfe = 0 nfi = 4045 nni = 2856 hu = 3.93e-01 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 160 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 234 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 4045 - Number of f-s (SPGMR) = 10634 - Number of f-s (TOTAL) = 10634 - Number of setups = 277 - Number of nonlinear iterations = 2856 - Number of linear iterations = 10634 - Number of preconditioner evaluations = 277 - Number of preconditioner solves = 13350 - Number of error test failures = 1 - Number of nonlinear conv. failures = 166 - Number of linear convergence failures = 1036 - Average Krylov subspace dimension = 3.723 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 234 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 4045 + Number of f-s (SPGMR) = 10634 + Number of f-s (TOTAL) = 10634 + Number of setups = 277 + Number of nonlinear iterations = 2856 + Number of linear iterations = 10634 + Number of preconditioner evaluations = 277 + Number of preconditioner solves = 13350 + Number of error test failures = 1 + Number of nonlinear conv. failures = 166 + Number of linear convergence failures = 1036 + Average Krylov subspace dimension = 3.723 ---------------------------------------------------------------------------- @@ -625,24 +625,24 @@ t = 1.00e+01 nst = 234 nfe = 0 nfi = 4045 nni = 2856 hu = 3.93e-01 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 166 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 234 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 4045 - Number of f-s (SPGMR) = 10633 - Number of f-s (TOTAL) = 10633 - Number of setups = 277 - Number of nonlinear iterations = 2856 - Number of linear iterations = 10633 - Number of preconditioner evaluations = 277 - Number of preconditioner solves = 13349 - Number of error test failures = 1 - Number of nonlinear conv. failures = 166 - Number of linear convergence failures = 1036 - Average Krylov subspace dimension = 3.723 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 234 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 4045 + Number of f-s (SPGMR) = 10633 + Number of f-s (TOTAL) = 10633 + Number of setups = 277 + Number of nonlinear iterations = 2856 + Number of linear iterations = 10633 + Number of preconditioner evaluations = 277 + Number of preconditioner solves = 13349 + Number of error test failures = 1 + Number of nonlinear conv. failures = 166 + Number of linear convergence failures = 1036 + Average Krylov subspace dimension = 3.723 ---------------------------------------------------------------------------- diff --git a/examples/arkode/C_serial/ark_KrylovDemo_prec_2.out b/examples/arkode/C_serial/ark_KrylovDemo_prec_2.out index 8a09c9a96d..1c5be0014a 100644 --- a/examples/arkode/C_serial/ark_KrylovDemo_prec_2.out +++ b/examples/arkode/C_serial/ark_KrylovDemo_prec_2.out @@ -10,9 +10,9 @@ b parameter = 1 Diffusion coefficients: Dprey = 1 Dpred = 0.5 Rate parameter alpha = 1 -Mesh dimensions (mx,my) are 6, 6. Total system size is neq = 216 +Mesh dimensions (mx,my) are 6, 6. Total system size is neq = 216 -Tolerances: reltol = 1e-05, abstol = 1e-05 +Tolerances: reltol = 1e-05, abstol = 1e-05 Preconditioning uses a product of: (1) Gauss-Seidel iterations with itmax = 5 iterations, and @@ -31,52 +31,52 @@ Gram-Schmidt method type is gstype = SUN_MODIFIED_GS c values at t = 0: Species 1 -10 10 10 10 10 10 -10 10.1678 10.3775 10.3775 10.1678 10 -10 10.3775 10.8493 10.8493 10.3775 10 -10 10.3775 10.8493 10.8493 10.3775 10 -10 10.1678 10.3775 10.3775 10.1678 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.1678 10.3775 10.3775 10.1678 10 +10 10.3775 10.8493 10.8493 10.3775 10 +10 10.3775 10.8493 10.8493 10.3775 10 +10 10.1678 10.3775 10.3775 10.1678 10 +10 10 10 10 10 10 Species 2 -10 10 10 10 10 10 -10 10.3355 10.755 10.755 10.3355 10 -10 10.755 11.6987 11.6987 10.755 10 -10 10.755 11.6987 11.6987 10.755 10 -10 10.3355 10.755 10.755 10.3355 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.3355 10.755 10.755 10.3355 10 +10 10.755 11.6987 11.6987 10.755 10 +10 10.755 11.6987 11.6987 10.755 10 +10 10.3355 10.755 10.755 10.3355 10 +10 10 10 10 10 10 Species 3 -10 10 10 10 10 10 -10 10.5033 11.1325 11.1325 10.5033 10 -10 11.1325 12.548 12.548 11.1325 10 -10 11.1325 12.548 12.548 11.1325 10 -10 10.5033 11.1325 11.1325 10.5033 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.5033 11.1325 11.1325 10.5033 10 +10 11.1325 12.548 12.548 11.1325 10 +10 11.1325 12.548 12.548 11.1325 10 +10 10.5033 11.1325 11.1325 10.5033 10 +10 10 10 10 10 10 Species 4 -10 10 10 10 10 10 -10 10.6711 11.5099 11.5099 10.6711 10 -10 11.5099 13.3974 13.3974 11.5099 10 -10 11.5099 13.3974 13.3974 11.5099 10 -10 10.6711 11.5099 11.5099 10.6711 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.6711 11.5099 11.5099 10.6711 10 +10 11.5099 13.3974 13.3974 11.5099 10 +10 11.5099 13.3974 13.3974 11.5099 10 +10 10.6711 11.5099 11.5099 10.6711 10 +10 10 10 10 10 10 Species 5 -10 10 10 10 10 10 -10 10.8389 11.8874 11.8874 10.8389 10 -10 11.8874 14.2467 14.2467 11.8874 10 -10 11.8874 14.2467 14.2467 11.8874 10 -10 10.8389 11.8874 11.8874 10.8389 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 10.8389 11.8874 11.8874 10.8389 10 +10 11.8874 14.2467 14.2467 11.8874 10 +10 11.8874 14.2467 14.2467 11.8874 10 +10 10.8389 11.8874 11.8874 10.8389 10 +10 10 10 10 10 10 Species 6 -10 10 10 10 10 10 -10 11.0066 12.2649 12.2649 11.0066 10 -10 12.2649 15.0961 15.0961 12.2649 10 -10 12.2649 15.0961 15.0961 12.2649 10 -10 11.0066 12.2649 12.2649 11.0066 10 -10 10 10 10 10 10 +10 10 10 10 10 10 +10 11.0066 12.2649 12.2649 11.0066 10 +10 12.2649 15.0961 15.0961 12.2649 10 +10 12.2649 15.0961 15.0961 12.2649 10 +10 11.0066 12.2649 12.2649 11.0066 10 +10 10 10 10 10 10 t = 1.00e-08 nst = 3 nfe = 0 nfi = 45 nni = 27 hu = 6.86e-08 @@ -87,52 +87,52 @@ t = 1.00e-06 nst = 4 nfe = 0 nfi = 77 nni = 49 hu = 1.20e-06 c values at t = 1e-06: Species 1 -9.99991 9.99992 9.99993 9.99993 9.99993 9.99992 -9.99992 10.1677 10.3774 10.3774 10.1677 9.99993 -9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 -9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 -9.99992 10.1677 10.3774 10.3774 10.1677 9.99992 -9.99991 9.99992 9.99993 9.99993 9.99992 9.99991 +9.99991 9.99992 9.99993 9.99993 9.99993 9.99992 +9.99992 10.1677 10.3774 10.3774 10.1677 9.99993 +9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 +9.99993 10.3774 10.8492 10.8492 10.3774 9.99993 +9.99992 10.1677 10.3774 10.3774 10.1677 9.99992 +9.99991 9.99992 9.99993 9.99993 9.99992 9.99991 Species 2 -9.99991 9.99993 9.99995 9.99995 9.99993 9.99992 -9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 -9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 -9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 -9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 -9.99991 9.99993 9.99995 9.99995 9.99993 9.99991 +9.99991 9.99993 9.99995 9.99995 9.99993 9.99992 +9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 +9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 +9.99995 10.7549 11.6985 11.6985 10.7549 9.99995 +9.99993 10.3355 10.7549 10.7549 10.3355 9.99993 +9.99991 9.99993 9.99995 9.99995 9.99993 9.99991 Species 3 -9.99991 9.99994 9.99997 9.99997 9.99994 9.99992 -9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 -9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 -9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 -9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 -9.99991 9.99994 9.99997 9.99997 9.99994 9.99991 +9.99991 9.99994 9.99997 9.99997 9.99994 9.99992 +9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 +9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 +9.99997 11.1323 12.5478 12.5478 11.1323 9.99997 +9.99994 10.5032 11.1323 11.1323 10.5032 9.99994 +9.99991 9.99994 9.99997 9.99997 9.99994 9.99991 Species 4 -13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 -13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 -13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 -13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 -13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 -13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 +13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 +13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 +13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 +13.4981 15.8919 19.0288 19.0288 15.8919 13.4981 +13.4981 14.5496 15.8919 15.8919 14.5496 13.4981 +13.4981 13.4981 13.4981 13.4981 13.4981 13.4981 Species 5 -13.4981 13.4981 13.4982 13.4981 13.4981 13.4981 -13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 -13.4982 16.4131 20.2351 20.2351 16.4131 13.4981 -13.4982 16.4131 20.2351 20.2351 16.4131 13.4982 -13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 13.4981 13.4982 13.4981 13.4981 13.4981 +13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 +13.4982 16.4131 20.2351 20.2351 16.4131 13.4981 +13.4982 16.4131 20.2351 20.2351 16.4131 13.4982 +13.4981 14.7783 16.4131 16.4131 14.7783 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 Species 6 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 -13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 -13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 -13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 -13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 -13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 +13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 +13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 +13.4982 16.9343 21.4414 21.4414 16.9343 13.4982 +13.4981 15.0071 16.9343 16.9343 15.0071 13.4981 +13.4981 13.4981 13.4982 13.4982 13.4981 13.4981 t = 1.00e-05 nst = 12 nfe = 0 nfi = 197 nni = 129 hu = 1.19e-06 @@ -143,52 +143,52 @@ t = 1.00e-03 nst = 46 nfe = 0 nfi = 820 nni = 582 hu = 8.40e-03 c values at t = 0.001: Species 1 -9.90702 9.91664 9.92836 9.93033 9.92253 9.91674 -9.91472 10.0747 10.2769 10.2785 10.0795 9.92253 -9.92446 10.2748 10.7181 10.7194 10.2785 9.93033 -9.92445 10.2744 10.7173 10.7181 10.2769 9.92836 -9.91469 10.0734 10.2744 10.2748 10.0747 9.91664 -9.90697 9.91469 9.92445 9.92446 9.91472 9.90702 +9.90702 9.91664 9.92836 9.93033 9.92253 9.91674 +9.91472 10.0747 10.2769 10.2785 10.0795 9.92253 +9.92446 10.2748 10.7181 10.7194 10.2785 9.93033 +9.92445 10.2744 10.7173 10.7181 10.2769 9.92836 +9.91469 10.0734 10.2744 10.2748 10.0747 9.91664 +9.90697 9.91469 9.92445 9.92446 9.91472 9.90702 Species 2 -9.90742 9.92474 9.94622 9.94819 9.93064 9.91713 -9.92282 10.2412 10.644 10.6457 10.2461 9.93064 -9.94232 10.6419 11.5267 11.5281 10.6457 9.94819 -9.94231 10.6415 11.5258 11.5267 10.644 9.94622 -9.92279 10.24 10.6415 10.6419 10.2412 9.92474 -9.90737 9.92279 9.94231 9.94232 9.92282 9.90742 +9.90742 9.92474 9.94622 9.94819 9.93064 9.91713 +9.92282 10.2412 10.644 10.6457 10.2461 9.93064 +9.94232 10.6419 11.5267 11.5281 10.6457 9.94819 +9.94231 10.6415 11.5258 11.5267 10.644 9.94622 +9.92279 10.24 10.6415 10.6419 10.2412 9.92474 +9.90737 9.92279 9.94231 9.94232 9.92282 9.90742 Species 3 -9.90781 9.93284 9.96408 9.96605 9.93874 9.91752 -9.93092 10.4078 11.0109 11.0127 10.4127 9.93874 -9.96017 11.0088 12.3339 12.3354 11.0127 9.96605 -9.96016 11.0083 12.333 12.3339 11.0109 9.96408 -9.93089 10.4065 11.0083 11.0088 10.4078 9.93284 -9.90776 9.93089 9.96016 9.96017 9.93092 9.90781 +9.90781 9.93284 9.96408 9.96605 9.93874 9.91752 +9.93092 10.4078 11.0109 11.0127 10.4127 9.93874 +9.96017 11.0088 12.3339 12.3354 11.0127 9.96605 +9.96016 11.0083 12.333 12.3339 11.0109 9.96408 +9.93089 10.4065 11.0083 11.0088 10.4078 9.93284 +9.90776 9.93089 9.96016 9.96017 9.93092 9.90781 Species 4 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 Species 5 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 Species 6 -297231 297750 298393 298451 297925 297520 -297692 307245 319327 319378 307390 297925 -298276 319264 345799 345840 319378 298451 -298276 319252 345772 345799 319327 298393 -297691 307208 319252 319264 307245 297750 -297229 297691 298276 298276 297692 297231 +297231 297750 298393 298451 297925 297520 +297692 307245 319327 319378 307390 297925 +298276 319264 345799 345840 319378 298451 +298276 319252 345772 345799 319327 298393 +297691 307208 319252 319264 307245 297750 +297229 297691 298276 298276 297692 297231 t = 1.00e-02 nst = 47 nfe = 0 nfi = 840 nni = 597 hu = 1.32e-02 @@ -199,52 +199,52 @@ t = 1.00e+00 nst = 69 nfe = 0 nfi = 1259 nni = 904 hu = 5.51e-02 c values at t = 1: Species 1 -1.58852 1.59924 1.62152 1.64765 1.67037 1.68149 -1.58533 1.59504 1.61548 1.63952 1.66033 1.67037 -1.57757 1.58548 1.6024 1.62235 1.63952 1.64765 -1.56821 1.57412 1.58706 1.6024 1.61548 1.62152 -1.56049 1.56463 1.57412 1.58548 1.59504 1.59924 -1.55733 1.56049 1.56821 1.57757 1.58533 1.58852 +1.58852 1.59924 1.62152 1.64765 1.67037 1.68149 +1.58533 1.59504 1.61548 1.63952 1.66033 1.67037 +1.57757 1.58548 1.6024 1.62235 1.63952 1.64765 +1.56821 1.57412 1.58706 1.6024 1.61548 1.62152 +1.56049 1.56463 1.57412 1.58548 1.59504 1.59924 +1.55733 1.56049 1.56821 1.57757 1.58533 1.58852 Species 2 -1.59067 1.60141 1.62371 1.64987 1.67262 1.68376 -1.58749 1.5972 1.61767 1.64174 1.66257 1.67262 -1.57972 1.58763 1.60457 1.62455 1.64174 1.64987 -1.57034 1.57627 1.58922 1.60457 1.61767 1.62371 -1.56261 1.56677 1.57627 1.58763 1.5972 1.60141 -1.55945 1.56261 1.57034 1.57972 1.58749 1.59067 +1.59067 1.60141 1.62371 1.64987 1.67262 1.68376 +1.58749 1.5972 1.61767 1.64174 1.66257 1.67262 +1.57972 1.58763 1.60457 1.62455 1.64174 1.64987 +1.57034 1.57627 1.58922 1.60457 1.61767 1.62371 +1.56261 1.56677 1.57627 1.58763 1.5972 1.60141 +1.55945 1.56261 1.57034 1.57972 1.58749 1.59067 Species 3 -1.59271 1.60346 1.62579 1.65198 1.67474 1.6859 -1.58952 1.59925 1.61974 1.64383 1.66469 1.67474 -1.58174 1.58967 1.60662 1.62662 1.64383 1.65198 -1.57236 1.57829 1.59126 1.60662 1.61974 1.62579 -1.56462 1.56878 1.57829 1.58967 1.59925 1.60346 -1.56146 1.56462 1.57236 1.58174 1.58952 1.59271 +1.59271 1.60346 1.62579 1.65198 1.67474 1.6859 +1.58952 1.59925 1.61974 1.64383 1.66469 1.67474 +1.58174 1.58967 1.60662 1.62662 1.64383 1.65198 +1.57236 1.57829 1.59126 1.60662 1.61974 1.62579 +1.56462 1.56878 1.57829 1.58967 1.59925 1.60346 +1.56146 1.56462 1.57236 1.58174 1.58952 1.59271 Species 4 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 Species 5 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 Species 6 -47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 -47622.9 47914.2 48528 49249.8 49874.6 50175.6 -47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 -47108.7 47286.2 47674.7 48135.1 48528 48709.2 -46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 -46782 46876.8 47108.7 47389.8 47622.9 47718.5 +47718.5 48040.4 48709.2 49493.7 50175.6 50509.6 +47622.9 47914.2 48528 49249.8 49874.6 50175.6 +47389.8 47627.1 48135.1 48734.3 49249.8 49493.7 +47108.7 47286.2 47674.7 48135.1 48528 48709.2 +46876.8 47001.3 47286.2 47627.1 47914.2 48040.4 +46782 46876.8 47108.7 47389.8 47622.9 47718.5 t = 2.00e+00 nst = 81 nfe = 0 nfi = 1463 nni = 1048 hu = 1.54e-01 @@ -255,52 +255,52 @@ t = 4.00e+00 nst = 95 nfe = 0 nfi = 1708 nni = 1221 hu = 2.69e-01 c values at t = 4: Species 1 -1.19535 1.20368 1.2211 1.24157 1.25935 1.268 -1.1928 1.20035 1.21636 1.23523 1.25154 1.25935 -1.18657 1.19274 1.20602 1.22173 1.23523 1.24157 -1.17904 1.18368 1.19389 1.20602 1.21636 1.2211 -1.17284 1.17613 1.18368 1.19274 1.20035 1.20368 -1.17032 1.17284 1.17904 1.18657 1.1928 1.19535 +1.19535 1.20368 1.2211 1.24157 1.25935 1.268 +1.1928 1.20035 1.21636 1.23523 1.25154 1.25935 +1.18657 1.19274 1.20602 1.22173 1.23523 1.24157 +1.17904 1.18368 1.19389 1.20602 1.21636 1.2211 +1.17284 1.17613 1.18368 1.19274 1.20035 1.20368 +1.17032 1.17284 1.17904 1.18657 1.1928 1.19535 Species 2 -1.19538 1.20371 1.22113 1.24161 1.25938 1.26804 -1.19284 1.20038 1.21639 1.23526 1.25157 1.25938 -1.1866 1.19277 1.20606 1.22177 1.23526 1.24161 -1.17908 1.18371 1.19393 1.20606 1.21639 1.22113 -1.17288 1.17616 1.18371 1.19277 1.20038 1.20371 -1.17035 1.17288 1.17908 1.1866 1.19284 1.19538 +1.19538 1.20371 1.22113 1.24161 1.25938 1.26804 +1.19284 1.20038 1.21639 1.23526 1.25157 1.25938 +1.1866 1.19277 1.20606 1.22177 1.23526 1.24161 +1.17908 1.18371 1.19393 1.20606 1.21639 1.22113 +1.17288 1.17616 1.18371 1.19277 1.20038 1.20371 +1.17035 1.17288 1.17908 1.1866 1.19284 1.19538 Species 3 -1.19542 1.20374 1.22116 1.24164 1.25942 1.26807 -1.19287 1.20042 1.21643 1.2353 1.25161 1.25942 -1.18663 1.1928 1.20609 1.2218 1.2353 1.24164 -1.17911 1.18374 1.19396 1.20609 1.21643 1.22116 -1.17291 1.17619 1.18374 1.1928 1.20042 1.20374 -1.17039 1.17291 1.17911 1.18663 1.19287 1.19542 +1.19542 1.20374 1.22116 1.24164 1.25942 1.26807 +1.19287 1.20042 1.21643 1.2353 1.25161 1.25942 +1.18663 1.1928 1.20609 1.2218 1.2353 1.24164 +1.17911 1.18374 1.19396 1.20609 1.21643 1.22116 +1.17291 1.17619 1.18374 1.1928 1.20042 1.20374 +1.17039 1.17291 1.17911 1.18663 1.19287 1.19542 Species 4 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 Species 5 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 Species 6 -35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 -35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 -35597.2 35782 36180.5 36651.6 37056.3 37246.5 -35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 -35185.4 35283.8 35510.4 35782 36010.4 36110.2 -35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 +35860.6 36110.2 36632.4 37246.5 37779.5 38038.7 +35784.2 36010.4 36490.4 37056.3 37545.3 37779.5 +35597.2 35782 36180.5 36651.6 37056.3 37246.5 +35371.4 35510.4 35816.7 36180.5 36490.4 36632.4 +35185.4 35283.8 35510.4 35782 36010.4 36110.2 +35109.7 35185.4 35371.4 35597.2 35784.2 35860.6 t = 5.00e+00 nst = 98 nfe = 0 nfi = 1767 nni = 1262 hu = 3.36e-01 @@ -311,52 +311,52 @@ t = 7.00e+00 nst = 100 nfe = 0 nfi = 1798 nni = 1283 hu = 2.99e+00 c values at t = 7: Species 1 -1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 -1.18601 1.19352 1.20945 1.22822 1.24445 1.25222 -1.17981 1.18594 1.19917 1.2148 1.22822 1.23454 -1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 -1.16363 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 +1.18601 1.19352 1.20945 1.22822 1.24445 1.25222 +1.17981 1.18594 1.19917 1.2148 1.22822 1.23454 +1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 +1.16363 1.16615 1.17232 1.17981 1.18601 1.18855 Species 2 -1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 -1.18601 1.19352 1.20945 1.22823 1.24445 1.25222 -1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 -1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 -1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19683 1.21416 1.23454 1.25222 1.26083 +1.18601 1.19352 1.20945 1.22823 1.24445 1.25222 +1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 +1.17232 1.17693 1.18709 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19683 +1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 Species 3 -1.18855 1.19684 1.21416 1.23454 1.25223 1.26083 -1.18601 1.19352 1.20945 1.22823 1.24445 1.25223 -1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 -1.17232 1.17693 1.1871 1.19917 1.20945 1.21416 -1.16615 1.16941 1.17693 1.18594 1.19352 1.19684 -1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 +1.18855 1.19684 1.21416 1.23454 1.25223 1.26083 +1.18601 1.19352 1.20945 1.22823 1.24445 1.25223 +1.17981 1.18594 1.19917 1.2148 1.22823 1.23454 +1.17232 1.17693 1.1871 1.19917 1.20945 1.21416 +1.16615 1.16941 1.17693 1.18594 1.19352 1.19684 +1.16364 1.16615 1.17232 1.17981 1.18601 1.18855 Species 4 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 Species 5 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 Species 6 -35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 -35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 -35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 -35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 -34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 -34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 +35655.6 35903.8 36423.4 37034.4 37564.7 37822.6 +35579.5 35804.5 36282.2 36845.2 37331.8 37564.7 +35393.4 35577.2 35973.8 36442.5 36845.2 37034.4 +35168.6 35306.9 35611.7 35973.8 36282.2 36423.4 +34983.5 35081.4 35306.9 35577.2 35804.5 35903.8 +34908.2 34983.5 35168.6 35393.4 35579.5 35655.6 t = 8.00e+00 nst = 100 nfe = 0 nfi = 1798 nni = 1283 hu = 2.99e+00 @@ -367,75 +367,75 @@ t = 1.00e+01 nst = 101 nfe = 0 nfi = 1813 nni = 1293 hu = 6.31e+00 c values at t = 10: Species 1 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 2 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 3 -1.18839 1.19667 1.214 1.23437 1.25206 1.26066 -1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 -1.17965 1.18578 1.199 1.21463 1.22806 1.23437 -1.17216 1.17677 1.18693 1.199 1.20929 1.214 -1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 -1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 +1.18839 1.19667 1.214 1.23437 1.25206 1.26066 +1.18585 1.19336 1.20929 1.22806 1.24428 1.25206 +1.17965 1.18578 1.199 1.21463 1.22806 1.23437 +1.17216 1.17677 1.18693 1.199 1.20929 1.214 +1.16599 1.16925 1.17677 1.18578 1.19336 1.19667 +1.16348 1.16599 1.17216 1.17965 1.18585 1.18839 Species 4 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Species 5 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Species 6 -35650.8 35899 36418.5 37029.4 37559.6 37817.5 -35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 -35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 -35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 -34978.7 35076.6 35302.1 35572.4 35799.7 35899 -34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 +35650.8 35899 36418.5 37029.4 37559.6 37817.5 +35574.7 35799.7 36277.2 36840.2 37326.7 37559.6 +35388.6 35572.4 35968.9 36437.6 36840.2 37029.4 +35163.8 35302.1 35606.9 35968.9 36277.2 36418.5 +34978.7 35076.6 35302.1 35572.4 35799.7 35899 +34903.4 34978.7 35163.8 35388.6 35574.7 35650.8 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 148 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 101 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 1813 - Number of f-s (SPGMR) = 4359 - Number of f-s (TOTAL) = 4359 - Number of setups = 72 - Number of nonlinear iterations = 1293 - Number of linear iterations = 4359 - Number of preconditioner evaluations = 72 - Number of preconditioner solves = 5618 - Number of error test failures = 1 - Number of nonlinear conv. failures = 25 - Number of linear convergence failures = 238 - Average Krylov subspace dimension = 3.371 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 101 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 1813 + Number of f-s (SPGMR) = 4359 + Number of f-s (TOTAL) = 4359 + Number of setups = 72 + Number of nonlinear iterations = 1293 + Number of linear iterations = 4359 + Number of preconditioner evaluations = 72 + Number of preconditioner solves = 5618 + Number of error test failures = 1 + Number of nonlinear conv. failures = 25 + Number of linear convergence failures = 238 + Average Krylov subspace dimension = 3.371 ---------------------------------------------------------------------------- @@ -487,24 +487,24 @@ t = 1.00e+01 nst = 101 nfe = 0 nfi = 1813 nni = 1293 hu = 6.31e+00 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 154 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 101 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 1813 - Number of f-s (SPGMR) = 4359 - Number of f-s (TOTAL) = 4359 - Number of setups = 72 - Number of nonlinear iterations = 1293 - Number of linear iterations = 4359 - Number of preconditioner evaluations = 72 - Number of preconditioner solves = 5618 - Number of error test failures = 1 - Number of nonlinear conv. failures = 25 - Number of linear convergence failures = 238 - Average Krylov subspace dimension = 3.371 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 101 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 1813 + Number of f-s (SPGMR) = 4359 + Number of f-s (TOTAL) = 4359 + Number of setups = 72 + Number of nonlinear iterations = 1293 + Number of linear iterations = 4359 + Number of preconditioner evaluations = 72 + Number of preconditioner solves = 5618 + Number of error test failures = 1 + Number of nonlinear conv. failures = 25 + Number of linear convergence failures = 238 + Average Krylov subspace dimension = 3.371 ---------------------------------------------------------------------------- @@ -556,24 +556,24 @@ t = 1.00e+01 nst = 234 nfe = 0 nfi = 4045 nni = 2856 hu = 3.93e-01 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 160 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 234 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 4045 - Number of f-s (SPGMR) = 10634 - Number of f-s (TOTAL) = 10634 - Number of setups = 277 - Number of nonlinear iterations = 2856 - Number of linear iterations = 10634 - Number of preconditioner evaluations = 277 - Number of preconditioner solves = 13350 - Number of error test failures = 1 - Number of nonlinear conv. failures = 166 - Number of linear convergence failures = 1036 - Average Krylov subspace dimension = 3.723 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 234 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 4045 + Number of f-s (SPGMR) = 10634 + Number of f-s (TOTAL) = 10634 + Number of setups = 277 + Number of nonlinear iterations = 2856 + Number of linear iterations = 10634 + Number of preconditioner evaluations = 277 + Number of preconditioner solves = 13350 + Number of error test failures = 1 + Number of nonlinear conv. failures = 166 + Number of linear convergence failures = 1036 + Average Krylov subspace dimension = 3.723 ---------------------------------------------------------------------------- @@ -625,24 +625,24 @@ t = 1.00e+01 nst = 234 nfe = 0 nfi = 4045 nni = 2856 hu = 3.93e-01 Final statistics for this run: - ARKStep real workspace length = 3790 - ARKStep integer workspace length = 166 - ARKLS real workspace length = 2647 - ARKLS integer workspace length = 42 - Number of steps = 234 - Number of f-s (explicit) = 0 - Number of f-s (implicit) = 4045 - Number of f-s (SPGMR) = 10633 - Number of f-s (TOTAL) = 10633 - Number of setups = 277 - Number of nonlinear iterations = 2856 - Number of linear iterations = 10633 - Number of preconditioner evaluations = 277 - Number of preconditioner solves = 13349 - Number of error test failures = 1 - Number of nonlinear conv. failures = 166 - Number of linear convergence failures = 1036 - Average Krylov subspace dimension = 3.723 + ARKStep real workspace length = 3790 + ARKStep integer workspace length = 142 + ARKLS real workspace length = 2647 + ARKLS integer workspace length = 42 + Number of steps = 234 + Number of f-s (explicit) = 0 + Number of f-s (implicit) = 4045 + Number of f-s (SPGMR) = 10633 + Number of f-s (TOTAL) = 10633 + Number of setups = 277 + Number of nonlinear iterations = 2856 + Number of linear iterations = 10633 + Number of preconditioner evaluations = 277 + Number of preconditioner solves = 13349 + Number of error test failures = 1 + Number of nonlinear conv. failures = 166 + Number of linear convergence failures = 1036 + Average Krylov subspace dimension = 3.723 ---------------------------------------------------------------------------- diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_arkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_arkstep_1.out index 79e9246274..ade4792ef4 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_arkstep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_arkstep_1.out @@ -2,14 +2,14 @@ Start ARKStep preallocation test Using DIRK method Using Newton nonlinear solver Using GMRES iterative linear solver - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 1.029860256095084e-04 1.224744870316961e+00 1.732050195224250e+00 7.854161765408207e-12 2.731148640577885e-14 - 1.634509895443788e-02 1.224717600094773e+00 1.716694985522809e+00 4.466385261636674e-09 6.044738709576336e-09 - 3.254871529235759e-02 1.224636741653238e+00 1.671973015366888e+00 8.026050712928168e-09 5.988021634095730e-09 + 1.634509831323043e-02 1.224717600096914e+00 1.716694986722200e+00 4.466384151413649e-09 6.044736933219497e-09 + 3.254871465408885e-02 1.224636741657479e+00 1.671973017680123e+00 8.026050268838958e-09 5.988020079783496e-09 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0325487152923576 +Current time = 0.0325487146540888 Steps = 3 Step attempts = 3 Stability limited steps = 0 @@ -18,8 +18,8 @@ Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0162036163379197 -Current step size = 0.0160003634180696 +Last step size = 0.0162036163408584 +Current step size = 0.0160003634285686 Explicit RHS fn evals = 0 Implicit RHS fn evals = 49 NLS iters = 31 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_erkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_erkstep_1.out index 11002e04ca..07ee2d38c7 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_erkstep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_erkstep_1.out @@ -1,12 +1,12 @@ Start ERKStep preallocation test - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 1.029860256095084e-04 1.224744870309106e+00 1.732050195224277e+00 2.220446049250313e-16 0.000000000000000e+00 - 1.606364534231249e-02 1.224718491293716e+00 1.717217032062862e+00 4.421219967909451e-08 2.910637308950470e-08 - 3.202338818315199e-02 1.224640124009817e+00 1.673862546151861e+00 8.746489865707474e-08 1.494766854737151e-07 + 1.606364533954449e-02 1.224718491293725e+00 1.717217032067952e+00 4.421219967909451e-08 2.910637331154931e-08 + 3.202338818037329e-02 1.224640124009836e+00 1.673862546161781e+00 8.746489865707474e-08 1.494766852516705e-07 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.032023388183152 +Current time = 0.0320233881803733 Steps = 3 Step attempts = 4 Stability limited steps = 0 @@ -15,7 +15,7 @@ Error test fails = 1 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0159597428408395 -Current step size = 0.0166588795525631 +Last step size = 0.0159597428408288 +Current step size = 0.0166588795523219 RHS fn evals = 19 End ERKStep preallocation test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_lsrkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_lsrkstep_1.out index 441d468b29..091f1f64ad 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_lsrkstep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_lsrkstep_1.out @@ -2,9 +2,9 @@ Start LSRKStep preallocation test t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 - 6.103515625000001e-12 6.103515624999975e-12 2.504160057533580e-26 - 6.104125976562500e-08 6.104125976562474e-08 1.852884572118782e-22 - 1.281744384765625e-06 1.281744384765305e-06 3.822236174485030e-19 + 6.103515625000001e-12 6.103515624999988e-12 1.211690350419474e-26 + 6.104125976562500e-08 6.104125976562487e-08 5.293955920339377e-23 + 1.281744384765625e-06 1.281744384765308e-06 3.851882327638931e-19 --------------------------------------------------------------------- Current time = 1.28174438476563e-06 Steps = 3 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_sprkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_sprkstep_1.out index 329037de9d..7985369f2f 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_sprkstep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_prealloc_sprkstep_1.out @@ -1,9 +1,9 @@ Start SPRKStep preallocation test - t q1 q2 q3 q4 + t q1 q2 q3 q4 ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 4.000000000000000e-01 0.000000000000000e+00 0.000000000000000e+00 2.000000000000000e+00 - 1.000000000000000e-03 3.999968750113932e-01 1.999994791691249e-03 -6.249954427477657e-03 1.999984375130207e+00 - 2.000000000000000e-03 3.999875001822874e-01 3.999958334163726e-03 -1.249963542950927e-02 1.999937502083256e+00 + 1.000000000000000e-03 3.999968750113932e-01 1.999994791691249e-03 -6.249954427477658e-03 1.999984375130207e+00 + 2.000000000000000e-03 3.999875001822874e-01 3.999958334163726e-03 -1.249963542950928e-02 1.999937502083256e+00 3.000000000000000e-03 3.999718759228028e-01 5.999859381323369e-03 -1.874876962886015e-02 1.999859385545991e+00 ------------------------------------------------------------------------------------------------------------------------------ Current time = 0.003 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out new file mode 100644 index 0000000000..9acf3930f3 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out @@ -0,0 +1,60 @@ +Start ARKStep StageInfo test +Using ERK method + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 4.71e-08 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 2.06e-04 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 4.12e-05 (tn = 0.00e+00 , tcur = 4.12e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 5) at t = 4.12e-05 (tn = 0.00e+00 , tcur = 4.12e-05), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 2 of 5) at t = 6.18e-05 (tn = 0.00e+00 , tcur = 6.18e-05), ||y||_2 = 2.1213200432e+00] + [Pre-RHS processing (stage 2 of 5) at t = 6.18e-05 (tn = 0.00e+00 , tcur = 6.18e-05), ||y||_2 = 2.1213200432e+00] + [Post-stage processing (stage 3 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213199340e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213199340e+00] + [Post-stage processing (stage 4 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Post-step processing at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + 1.0298602561e-04 1.2247448703e+00 1.7320501952e+00 2.2204460493e-16 0.0000000000e+00 + [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + [Post-stage processing (stage 1 of 5) at t = 5.97e-03 (tn = 1.03e-04 , tcur = 5.97e-03), ||y||_2 = 2.1212628048e+00] + [Pre-RHS processing (stage 1 of 5) at t = 5.97e-03 (tn = 1.03e-04 , tcur = 5.97e-03), ||y||_2 = 2.1212628048e+00] + [Post-stage processing (stage 2 of 5) at t = 8.90e-03 (tn = 1.03e-04 , tcur = 8.90e-03), ||y||_2 = 2.1151489029e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.90e-03 (tn = 1.03e-04 , tcur = 8.90e-03), ||y||_2 = 2.1151489029e+00] + [Post-stage processing (stage 3 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1129070889e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1129070889e+00] + [Post-stage processing (stage 4 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1110724430e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1110724430e+00] + [Post-step processing at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02),||y||_2 = 2.1110724430e+00] + 1.4770753232e-02 1.2247225752e+00 1.7195003557e+00 2.8937936936e-08 2.5927171299e-08 + [Pre-step processing at t = 1.48e-02 (tn = 1.48e-02 , tcur = 1.48e-02),||y||_2 = 2.1110724430e+00] + [Post-stage processing (stage 1 of 5) at t = 2.06e-02 (tn = 1.48e-02 , tcur = 2.06e-02), ||y||_2 = 2.1030688067e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.06e-02 (tn = 1.48e-02 , tcur = 2.06e-02), ||y||_2 = 2.1030688067e+00] + [Post-stage processing (stage 2 of 5) at t = 2.35e-02 (tn = 1.48e-02 , tcur = 2.35e-02), ||y||_2 = 2.0933502617e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.35e-02 (tn = 1.48e-02 , tcur = 2.35e-02), ||y||_2 = 2.0933502617e+00] + [Post-stage processing (stage 3 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0833181423e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0833181423e+00] + [Post-stage processing (stage 4 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0816387128e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0816387128e+00] + [Post-step processing at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02),||y||_2 = 2.0816387128e+00] + 2.9275139624e-02 1.2246573481e+00 1.6832807581e+00 5.5763322404e-08 6.7822652161e-08 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.0292751396243773 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.000102986025609508 +Last step size = 0.0145043863921471 +Current step size = 0.0149829090932849 +Explicit RHS fn evals = 15 +Implicit RHS fn evals = 0 +NLS iters = 0 +NLS fails = 0 +NLS iters per step = 0 +LS setups = 0 +End ARKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out new file mode 100644 index 0000000000..e71dadd09c --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out @@ -0,0 +1,79 @@ +Start ARKStep StageInfo test +Using DIRK method +Using Newton nonlinear solver +Using GMRES iterative linear solver + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 6) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 6) at t = 4.71e-08 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 6) at t = 2.06e-04 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 6) at t = 5.15e-05 (tn = 0.00e+00 , tcur = 5.15e-05), ||y||_2 = 2.1213202184e+00] + [Pre-RHS processing (stage 1 of 6) at t = 5.15e-05 (tn = 0.00e+00 , tcur = 5.15e-05), ||y||_2 = 2.1213202184e+00] + [Post-stage processing (stage 2 of 6) at t = 1.51e-05 (tn = 0.00e+00 , tcur = 1.51e-05), ||y||_2 = 2.1213203328e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.51e-05 (tn = 0.00e+00 , tcur = 1.51e-05), ||y||_2 = 2.1213203328e+00] + [Post-stage processing (stage 3 of 6) at t = 6.44e-05 (tn = 0.00e+00 , tcur = 6.44e-05), ||y||_2 = 2.1213201480e+00] + [Pre-RHS processing (stage 3 of 6) at t = 6.44e-05 (tn = 0.00e+00 , tcur = 6.44e-05), ||y||_2 = 2.1213201480e+00] + [Post-stage processing (stage 4 of 6) at t = 1.07e-04 (tn = 0.00e+00 , tcur = 1.07e-04), ||y||_2 = 2.1213198021e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.07e-04 (tn = 0.00e+00 , tcur = 1.07e-04), ||y||_2 = 2.1213198021e+00] + [Post-stage processing (stage 5 of 6) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Post-step processing at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + 1.0298602561e-04 1.2247448703e+00 1.7320501952e+00 7.8541617654e-12 2.7311486406e-14 + [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + [Post-stage processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363096e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363096e+00] + [Post-stage processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1210284133e+00] + [Pre-RHS processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1210284133e+00] + [Post-stage processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721824e+00] + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721824e+00] + [Post-stage processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895068e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895068e+00] + [Post-stage processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851653e+00] + [Post-step processing at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02),||y||_2 = 2.1087851653e+00] + 1.6345098954e-02 1.2247176001e+00 1.7166949855e+00 4.4663852616e-09 6.0447387096e-09 + [Pre-step processing at t = 1.63e-02 (tn = 1.63e-02 , tcur = 1.63e-02),||y||_2 = 2.1087851653e+00] + [Post-stage processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030131e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030131e+00] + [Post-stage processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048030e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048030e+00] + [Post-stage processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671857e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671857e+00] + [Post-stage processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966594e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966594e+00] + [Post-stage processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934048e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934048e+00] + [Post-step processing at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02),||y||_2 = 2.0724934048e+00] + 3.2548715292e-02 1.2246367417e+00 1.6719730154e+00 8.0260507129e-09 5.9880216341e-09 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.0325487152923576 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.000102986025609508 +Last step size = 0.0162036163379197 +Current step size = 0.0160003634180696 +Explicit RHS fn evals = 0 +Implicit RHS fn evals = 49 +NLS iters = 31 +NLS fails = 0 +NLS iters per step = 10.3333333333333 +LS setups = 0 +Jac fn evals = 0 +LS RHS fn evals = 34 +Prec setup evals = 0 +Prec solves = 0 +LS iters = 34 +LS fails = 0 +Jac-times setups = 0 +Jac-times evals = 34 +LS iters per NLS iter = 1.09677419354839 +Jac evals per NLS iter = 0 +Prec evals per NLS iter = 0 +End ARKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out new file mode 100644 index 0000000000..c7df90650a --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out @@ -0,0 +1,87 @@ +Start ARKStep StageInfo test +Using ImEx method +Using Newton nonlinear solver +Using GMRES iterative linear solver + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 7) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 7) at t = 4.71e-08 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 7) at t = 2.06e-04 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 7) at t = 2.54e-05 (tn = 0.00e+00 , tcur = 2.54e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 7) at t = 2.54e-05 (tn = 0.00e+00 , tcur = 2.54e-05), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 2 of 7) at t = 4.34e-05 (tn = 0.00e+00 , tcur = 4.34e-05), ||y||_2 = 2.1213202546e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.34e-05 (tn = 0.00e+00 , tcur = 4.34e-05), ||y||_2 = 2.1213202546e+00] + [Post-stage processing (stage 3 of 7) at t = 3.45e-05 (tn = 0.00e+00 , tcur = 3.45e-05), ||y||_2 = 2.1213202874e+00] + [Pre-RHS processing (stage 3 of 7) at t = 3.45e-05 (tn = 0.00e+00 , tcur = 3.45e-05), ||y||_2 = 2.1213202874e+00] + [Post-stage processing (stage 4 of 7) at t = 7.72e-06 (tn = 0.00e+00 , tcur = 7.72e-06), ||y||_2 = 2.1213203407e+00] + [Pre-RHS processing (stage 4 of 7) at t = 7.72e-06 (tn = 0.00e+00 , tcur = 7.72e-06), ||y||_2 = 2.1213203407e+00] + [Post-stage processing (stage 5 of 7) at t = 7.21e-05 (tn = 0.00e+00 , tcur = 7.21e-05), ||y||_2 = 2.1213200983e+00] + [Pre-RHS processing (stage 5 of 7) at t = 7.21e-05 (tn = 0.00e+00 , tcur = 7.21e-05), ||y||_2 = 2.1213200983e+00] + [Post-stage processing (stage 6 of 7) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 6 of 7) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Post-step processing at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + 1.0298602561e-04 1.2247448703e+00 1.7320501952e+00 2.2204460493e-16 0.0000000000e+00 + [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 0 of 7) at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Post-stage processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1212262228e+00] + [Pre-RHS processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1212262228e+00] + [Post-stage processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953892e+00] + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953892e+00] + [Post-stage processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654976e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654976e+00] + [Post-stage processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503426e+00] + [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503426e+00] + [Post-stage processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817810e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817810e+00] + [Post-stage processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469358e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469358e+00] + [Post-step processing at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02),||y||_2 = 2.0649991558e+00] + 3.5024521932e-02 1.2246196097e+00 1.6626870797e+00 6.6819398681e-08 6.5525542281e-07 + [Pre-step processing at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02),||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 0 of 7) at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02), ||y||_2 = 2.0649991558e+00] + [Post-stage processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161449e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161449e+00] + [Post-stage processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194404e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194404e+00] + [Post-stage processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366549e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366549e+00] + [Post-stage processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070541e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070541e+00] + [Post-stage processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914710e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914710e+00] + [Post-stage processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758117e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758117e+00] + [Post-step processing at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02),||y||_2 = 1.9169542285e+00] + 6.9697813939e-02 1.2242491983e+00 1.4751025098e+00 2.2221884333e-08 2.5857302401e-06 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.0696978139393375 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.000102986025609508 +Last step size = 0.0346732920075373 +Current step size = 0.0331306528243113 +Explicit RHS fn evals = 23 +Implicit RHS fn evals = 62 +NLS iters = 39 +NLS fails = 0 +NLS iters per step = 13 +LS setups = 0 +Jac fn evals = 0 +LS RHS fn evals = 46 +Prec setup evals = 0 +Prec solves = 0 +LS iters = 46 +LS fails = 0 +Jac-times setups = 0 +Jac-times evals = 46 +LS iters per NLS iter = 1.17948717948718 +Jac evals per NLS iter = 0 +Prec evals per NLS iter = 0 +End ARKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out new file mode 100644 index 0000000000..24eb193950 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out @@ -0,0 +1,64 @@ +Start ERKStep StageInfo test + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 4.71e-08 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 2.06e-04 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 4.12e-05 (tn = 0.00e+00 , tcur = 4.12e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 5) at t = 4.12e-05 (tn = 0.00e+00 , tcur = 4.12e-05), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 2 of 5) at t = 6.18e-05 (tn = 0.00e+00 , tcur = 6.18e-05), ||y||_2 = 2.1213200432e+00] + [Pre-RHS processing (stage 2 of 5) at t = 6.18e-05 (tn = 0.00e+00 , tcur = 6.18e-05), ||y||_2 = 2.1213200432e+00] + [Post-stage processing (stage 3 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213199340e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213199340e+00] + [Post-stage processing (stage 4 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Post-step processing at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + 1.0298602561e-04 1.2247448703e+00 1.7320501952e+00 2.2204460493e-16 0.0000000000e+00 + [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + [Post-stage processing (stage 1 of 5) at t = 6.56e-03 (tn = 1.03e-04 , tcur = 6.56e-03), ||y||_2 = 2.1212571010e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.56e-03 (tn = 1.03e-04 , tcur = 6.56e-03), ||y||_2 = 2.1212571010e+00] + [Post-stage processing (stage 2 of 5) at t = 9.78e-03 (tn = 1.03e-04 , tcur = 9.78e-03), ||y||_2 = 2.1138657560e+00] + [Pre-RHS processing (stage 2 of 5) at t = 9.78e-03 (tn = 1.03e-04 , tcur = 9.78e-03), ||y||_2 = 2.1138657560e+00] + [Post-stage processing (stage 3 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1111621624e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1111621624e+00] + [Post-stage processing (stage 4 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1089486495e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1089486495e+00] + [Post-step failure processing at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02),||y||_2 = 2.1089486495e+00] + [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] + [Post-stage processing (stage 1 of 5) at t = 6.49e-03 (tn = 1.03e-04 , tcur = 6.49e-03), ||y||_2 = 2.1212577772e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.49e-03 (tn = 1.03e-04 , tcur = 6.49e-03), ||y||_2 = 2.1212577772e+00] + [Post-stage processing (stage 2 of 5) at t = 9.68e-03 (tn = 1.03e-04 , tcur = 9.68e-03), ||y||_2 = 2.1140241446e+00] + [Pre-RHS processing (stage 2 of 5) at t = 9.68e-03 (tn = 1.03e-04 , tcur = 9.68e-03), ||y||_2 = 2.1140241446e+00] + [Post-stage processing (stage 3 of 5) at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02), ||y||_2 = 2.1113775352e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02), ||y||_2 = 2.1113775352e+00] + [Post-stage processing (stage 4 of 5) at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02), ||y||_2 = 2.1092106860e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02), ||y||_2 = 2.1092106860e+00] + [Post-step processing at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02),||y||_2 = 2.1092106860e+00] + 1.6063645342e-02 1.2247184913e+00 1.7172170321e+00 4.4212199679e-08 2.9106373090e-08 + [Pre-step processing at t = 1.61e-02 (tn = 1.61e-02 , tcur = 1.61e-02),||y||_2 = 2.1092106860e+00] + [Post-stage processing (stage 1 of 5) at t = 2.24e-02 (tn = 1.61e-02 , tcur = 2.24e-02), ||y||_2 = 2.0996520676e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.24e-02 (tn = 1.61e-02 , tcur = 2.24e-02), ||y||_2 = 2.0996520676e+00] + [Post-stage processing (stage 2 of 5) at t = 2.56e-02 (tn = 1.61e-02 , tcur = 2.56e-02), ||y||_2 = 2.0880076268e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.56e-02 (tn = 1.61e-02 , tcur = 2.56e-02), ||y||_2 = 2.0880076268e+00] + [Post-stage processing (stage 3 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0760211062e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0760211062e+00] + [Post-stage processing (stage 4 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0740200714e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0740200714e+00] + [Post-step processing at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02),||y||_2 = 2.0740200714e+00] + 3.2023388183e-02 1.2246401240e+00 1.6738625462e+00 8.7464898657e-08 1.4947668547e-07 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.032023388183152 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.000102986025609508 +Last step size = 0.0159597428408395 +Current step size = 0.0166588795525631 +RHS fn evals = 19 +End ERKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.out new file mode 100644 index 0000000000..c27dcd9965 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.out @@ -0,0 +1,28 @@ +Start ForcingStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 1.000000000000000e+00 0.000000000000000e+00 + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 1.0000000000e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 9.9900100033e-01] + 1.0000000000e-03 9.9900100033e-01 9.9999966707e-07 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 9.9900100033e-01] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 9.9800200066e-01] + 2.0000000000e-03 9.9800200066e-01 1.9979980046e-06 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 9.9800200066e-01] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 9.9700300299e-01] + 3.0000000000e-03 9.9700300299e-01 2.9939930263e-06 +--------------------------------------------------------------------- +Current time = 0.003 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 0 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +Partition 1 evolves = 3 +Partition 2 evolves = 3 +End ForcingStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out new file mode 100644 index 0000000000..708dbf3084 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out @@ -0,0 +1,44 @@ +Start LSRKStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 0) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 0) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 0) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] + [Post-stage processing (stage 0 of 2) at t = 1.47e-12 (tn = 0.00e+00 , tcur = 1.47e-12), ||y||_2 = 1.4693648727e-12] + [Pre-RHS processing (stage 1 of 2) at t = 1.47e-12 (tn = 0.00e+00 , tcur = 1.47e-12), ||y||_2 = 1.4693648727e-12] + [Pre-RHS processing (stage 2 of 2) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + 6.1035156250e-12 6.1035156250e-12 2.5041600575e-26 + [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 2) at t = 1.47e-08 (tn = 6.10e-12 , tcur = 1.47e-08), ||y||_2 = 1.4699752242e-08] + [Pre-RHS processing (stage 1 of 2) at t = 1.47e-08 (tn = 6.10e-12 , tcur = 1.47e-08), ||y||_2 = 1.4699752242e-08] + [Pre-RHS processing (stage 2 of 2) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + 6.1041259766e-08 6.1041259766e-08 1.8528845721e-22 + [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 0 of 2) at t = 3.55e-07 (tn = 6.10e-08 , tcur = 3.55e-07), ||y||_2 = 3.5491423430e-07] + [Pre-RHS processing (stage 1 of 2) at t = 3.55e-07 (tn = 6.10e-08 , tcur = 3.55e-07), ||y||_2 = 3.5491423430e-07] + [Pre-RHS processing (stage 2 of 2) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] + 1.2817443848e-06 1.2817443848e-06 3.8222361745e-19 +--------------------------------------------------------------------- +Current time = 1.28174438476563e-06 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 6.103515625e-12 +Last step size = 1.220703125e-06 +Current step size = 2.44140625e-05 +RHS fn evals = 9 +Number of dom_eig updates = 1 +Max. num. of stages used = 2 +Max. num. of stages allowed = 200 +Max. spectral radius = 999.9 +Min. spectral radius = 999.9 +End LSRKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out new file mode 100644 index 0000000000..cf89be1e94 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out @@ -0,0 +1,44 @@ +Start LSRKStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 0) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 0) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 0) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] + [Post-stage processing (stage 0 of 2) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Pre-RHS processing (stage 1 of 2) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Pre-RHS processing (stage 2 of 2) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + 6.1035156250e-12 6.1035156250e-12 0.0000000000e+00 + [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 2) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Pre-RHS processing (stage 1 of 2) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Pre-RHS processing (stage 2 of 2) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + 6.1041259766e-08 6.1041259766e-08 3.9704669403e-23 + [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 0 of 2) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Pre-RHS processing (stage 1 of 2) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Pre-RHS processing (stage 2 of 2) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] + 1.2817443848e-06 1.2817443848e-06 3.0323779512e-19 +--------------------------------------------------------------------- +Current time = 1.28174438476563e-06 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 6.103515625e-12 +Last step size = 1.220703125e-06 +Current step size = 2.44140625e-05 +RHS fn evals = 9 +Number of dom_eig updates = 1 +Max. num. of stages used = 2 +Max. num. of stages allowed = 200 +Max. spectral radius = 999.9 +Min. spectral radius = 999.9 +End LSRKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out new file mode 100644 index 0000000000..519cca6ef7 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out @@ -0,0 +1,87 @@ +Start LSRKStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 10) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 10) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 10) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] + [Post-stage processing (stage 0 of 10) at t = 6.78e-13 (tn = 0.00e+00 , tcur = 6.78e-13), ||y||_2 = 6.7816840278e-13] + [Pre-RHS processing (stage 1 of 10) at t = 6.78e-13 (tn = 0.00e+00 , tcur = 6.78e-13), ||y||_2 = 6.7816840278e-13] + [Post-stage processing (stage 1 of 10) at t = 1.36e-12 (tn = 0.00e+00 , tcur = 1.36e-12), ||y||_2 = 1.3563368056e-12] + [Pre-RHS processing (stage 2 of 10) at t = 1.36e-12 (tn = 0.00e+00 , tcur = 1.36e-12), ||y||_2 = 1.3563368056e-12] + [Post-stage processing (stage 2 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Pre-RHS processing (stage 3 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Post-stage processing (stage 3 of 10) at t = 2.71e-12 (tn = 0.00e+00 , tcur = 2.71e-12), ||y||_2 = 2.7126736111e-12] + [Pre-RHS processing (stage 4 of 10) at t = 2.71e-12 (tn = 0.00e+00 , tcur = 2.71e-12), ||y||_2 = 2.7126736111e-12] + [Post-stage processing (stage 4 of 10) at t = 3.39e-12 (tn = 0.00e+00 , tcur = 3.39e-12), ||y||_2 = 3.3908420139e-12] + [Pre-RHS processing (stage 5 of 10) at t = 3.39e-12 (tn = 0.00e+00 , tcur = 3.39e-12), ||y||_2 = 3.3908420139e-12] + [Post-stage processing (stage 5 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Pre-RHS processing (stage 6 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Post-stage processing (stage 6 of 10) at t = 4.75e-12 (tn = 0.00e+00 , tcur = 4.75e-12), ||y||_2 = 4.7471788194e-12] + [Pre-RHS processing (stage 7 of 10) at t = 4.75e-12 (tn = 0.00e+00 , tcur = 4.75e-12), ||y||_2 = 4.7471788194e-12] + [Post-stage processing (stage 7 of 10) at t = 5.43e-12 (tn = 0.00e+00 , tcur = 5.43e-12), ||y||_2 = 5.4253472222e-12] + [Pre-RHS processing (stage 8 of 10) at t = 5.43e-12 (tn = 0.00e+00 , tcur = 5.43e-12), ||y||_2 = 5.4253472222e-12] + [Post-stage processing (stage 8 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 9 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + 6.1035156250e-12 6.1035156250e-12 8.0779356695e-28 + [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 0 of 10) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 10) at t = 6.79e-09 (tn = 6.10e-12 , tcur = 6.79e-09), ||y||_2 = 6.7877875434e-09] + [Pre-RHS processing (stage 1 of 10) at t = 6.79e-09 (tn = 6.10e-12 , tcur = 6.79e-09), ||y||_2 = 6.7877875434e-09] + [Post-stage processing (stage 1 of 10) at t = 1.36e-08 (tn = 6.10e-12 , tcur = 1.36e-08), ||y||_2 = 1.3569471571e-08] + [Pre-RHS processing (stage 2 of 10) at t = 1.36e-08 (tn = 6.10e-12 , tcur = 1.36e-08), ||y||_2 = 1.3569471571e-08] + [Post-stage processing (stage 2 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Pre-RHS processing (stage 3 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Post-stage processing (stage 3 of 10) at t = 2.71e-08 (tn = 6.10e-12 , tcur = 2.71e-08), ||y||_2 = 2.7132839627e-08] + [Pre-RHS processing (stage 4 of 10) at t = 2.71e-08 (tn = 6.10e-12 , tcur = 2.71e-08), ||y||_2 = 2.7132839627e-08] + [Post-stage processing (stage 4 of 10) at t = 3.39e-08 (tn = 6.10e-12 , tcur = 3.39e-08), ||y||_2 = 3.3914523655e-08] + [Pre-RHS processing (stage 5 of 10) at t = 3.39e-08 (tn = 6.10e-12 , tcur = 3.39e-08), ||y||_2 = 3.3914523655e-08] + [Post-stage processing (stage 5 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Pre-RHS processing (stage 6 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Post-stage processing (stage 6 of 10) at t = 4.75e-08 (tn = 6.10e-12 , tcur = 4.75e-08), ||y||_2 = 4.7477891710e-08] + [Pre-RHS processing (stage 7 of 10) at t = 4.75e-08 (tn = 6.10e-12 , tcur = 4.75e-08), ||y||_2 = 4.7477891710e-08] + [Post-stage processing (stage 7 of 10) at t = 5.43e-08 (tn = 6.10e-12 , tcur = 5.43e-08), ||y||_2 = 5.4259575738e-08] + [Pre-RHS processing (stage 8 of 10) at t = 5.43e-08 (tn = 6.10e-12 , tcur = 5.43e-08), ||y||_2 = 5.4259575738e-08] + [Post-stage processing (stage 8 of 10) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 9 of 10) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + 6.1041259766e-08 6.1041259766e-08 0.0000000000e+00 + [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 0 of 10) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 0 of 10) at t = 1.97e-07 (tn = 6.10e-08 , tcur = 1.97e-07), ||y||_2 = 1.9667494032e-07] + [Pre-RHS processing (stage 1 of 10) at t = 1.97e-07 (tn = 6.10e-08 , tcur = 1.97e-07), ||y||_2 = 1.9667494032e-07] + [Post-stage processing (stage 1 of 10) at t = 3.32e-07 (tn = 6.10e-08 , tcur = 3.32e-07), ||y||_2 = 3.3230862088e-07] + [Pre-RHS processing (stage 2 of 10) at t = 3.32e-07 (tn = 6.10e-08 , tcur = 3.32e-07), ||y||_2 = 3.3230862088e-07] + [Post-stage processing (stage 2 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Pre-RHS processing (stage 3 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Post-stage processing (stage 3 of 10) at t = 6.04e-07 (tn = 6.10e-08 , tcur = 6.04e-07), ||y||_2 = 6.0357598199e-07] + [Pre-RHS processing (stage 4 of 10) at t = 6.04e-07 (tn = 6.10e-08 , tcur = 6.04e-07), ||y||_2 = 6.0357598199e-07] + [Post-stage processing (stage 4 of 10) at t = 7.39e-07 (tn = 6.10e-08 , tcur = 7.39e-07), ||y||_2 = 7.3920966254e-07] + [Pre-RHS processing (stage 5 of 10) at t = 7.39e-07 (tn = 6.10e-08 , tcur = 7.39e-07), ||y||_2 = 7.3920966254e-07] + [Post-stage processing (stage 5 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Pre-RHS processing (stage 6 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Post-stage processing (stage 6 of 10) at t = 1.01e-06 (tn = 6.10e-08 , tcur = 1.01e-06), ||y||_2 = 1.0104770237e-06] + [Pre-RHS processing (stage 7 of 10) at t = 1.01e-06 (tn = 6.10e-08 , tcur = 1.01e-06), ||y||_2 = 1.0104770237e-06] + [Post-stage processing (stage 7 of 10) at t = 1.15e-06 (tn = 6.10e-08 , tcur = 1.15e-06), ||y||_2 = 1.1461107042e-06] + [Pre-RHS processing (stage 8 of 10) at t = 1.15e-06 (tn = 6.10e-08 , tcur = 1.15e-06), ||y||_2 = 1.1461107042e-06] + [Post-stage processing (stage 8 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Pre-RHS processing (stage 9 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] + 1.2817443848e-06 1.2817443848e-06 3.3881317890e-20 +--------------------------------------------------------------------- +Current time = 1.28174438476563e-06 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 6.103515625e-12 +Last step size = 1.220703125e-06 +Current step size = 2.44140625e-05 +RHS fn evals = 32 +Number of stages used = 10 +End LSRKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out new file mode 100644 index 0000000000..bb4088f1a8 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out @@ -0,0 +1,81 @@ +Start LSRKStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 9) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 9) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 9) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] + [Post-stage processing (stage 0 of 9) at t = 1.02e-12 (tn = 0.00e+00 , tcur = 1.02e-12), ||y||_2 = 1.0172526042e-12] + [Pre-RHS processing (stage 1 of 9) at t = 1.02e-12 (tn = 0.00e+00 , tcur = 1.02e-12), ||y||_2 = 1.0172526042e-12] + [Post-stage processing (stage 1 of 9) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Pre-RHS processing (stage 2 of 9) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Post-stage processing (stage 2 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Pre-RHS processing (stage 3 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Post-stage processing (stage 3 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Pre-RHS processing (stage 4 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Post-stage processing (stage 4 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] + [Pre-RHS processing (stage 5 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] + [Post-stage processing (stage 5 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Pre-RHS processing (stage 6 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Post-stage processing (stage 6 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Pre-RHS processing (stage 7 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Post-stage processing (stage 7 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] + [Pre-RHS processing (stage 8 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] + [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + 6.1035156250e-12 6.1035156250e-12 0.0000000000e+00 + [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 0 of 9) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 9) at t = 1.02e-08 (tn = 6.10e-12 , tcur = 1.02e-08), ||y||_2 = 1.0178629557e-08] + [Pre-RHS processing (stage 1 of 9) at t = 1.02e-08 (tn = 6.10e-12 , tcur = 1.02e-08), ||y||_2 = 1.0178629557e-08] + [Post-stage processing (stage 1 of 9) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Pre-RHS processing (stage 2 of 9) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Post-stage processing (stage 2 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Pre-RHS processing (stage 3 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Post-stage processing (stage 3 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Pre-RHS processing (stage 4 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Post-stage processing (stage 4 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] + [Pre-RHS processing (stage 5 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] + [Post-stage processing (stage 5 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Pre-RHS processing (stage 6 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Post-stage processing (stage 6 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Pre-RHS processing (stage 7 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Post-stage processing (stage 7 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] + [Pre-RHS processing (stage 8 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] + [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + 6.1041259766e-08 6.1041259766e-08 1.3234889801e-23 + [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 0 of 9) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 0 of 9) at t = 2.64e-07 (tn = 6.10e-08 , tcur = 2.64e-07), ||y||_2 = 2.6449178060e-07] + [Pre-RHS processing (stage 1 of 9) at t = 2.64e-07 (tn = 6.10e-08 , tcur = 2.64e-07), ||y||_2 = 2.6449178060e-07] + [Post-stage processing (stage 1 of 9) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Pre-RHS processing (stage 2 of 9) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Post-stage processing (stage 2 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Pre-RHS processing (stage 3 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Post-stage processing (stage 3 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Pre-RHS processing (stage 4 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Post-stage processing (stage 4 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] + [Pre-RHS processing (stage 5 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] + [Post-stage processing (stage 5 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Pre-RHS processing (stage 6 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Post-stage processing (stage 6 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Pre-RHS processing (stage 7 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Post-stage processing (stage 7 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] + [Pre-RHS processing (stage 8 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] + [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] + 1.2817443848e-06 1.2817443848e-06 2.1175823681e-22 +--------------------------------------------------------------------- +Current time = 1.28174438476563e-06 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 6.103515625e-12 +Last step size = 1.220703125e-06 +Current step size = 2.44140625e-05 +RHS fn evals = 29 +Number of stages used = 9 +End LSRKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out new file mode 100644 index 0000000000..9e12c1f98c --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out @@ -0,0 +1,51 @@ +Start LSRKStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 4) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] + [Post-stage processing (stage 0 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Pre-RHS processing (stage 1 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Post-stage processing (stage 1 of 4) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 2 of 4) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 2 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Pre-RHS processing (stage 3 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + 6.1035156250e-12 6.1035156250e-12 8.0779356695e-28 + [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 0 of 4) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 4) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Pre-RHS processing (stage 1 of 4) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Post-stage processing (stage 1 of 4) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 2 of 4) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 2 of 4) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Pre-RHS processing (stage 3 of 4) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + 6.1041259766e-08 6.1041259766e-08 1.3234889801e-23 + [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 0 of 4) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 0 of 4) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Pre-RHS processing (stage 1 of 4) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Post-stage processing (stage 1 of 4) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Pre-RHS processing (stage 2 of 4) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Post-stage processing (stage 2 of 4) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Pre-RHS processing (stage 3 of 4) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] + 1.2817443848e-06 1.2817443848e-06 0.0000000000e+00 +--------------------------------------------------------------------- +Current time = 1.28174438476563e-06 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 6.103515625e-12 +Last step size = 1.220703125e-06 +Current step size = 2.44140625e-05 +RHS fn evals = 14 +Number of stages used = 4 +End LSRKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out new file mode 100644 index 0000000000..ef7c10d695 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out @@ -0,0 +1,90 @@ +Start LSRKStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 10) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 10) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 10) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] + [Post-stage processing (stage 0 of 10) at t = 1.02e-12 (tn = 0.00e+00 , tcur = 1.02e-12), ||y||_2 = 1.0172526042e-12] + [Pre-RHS processing (stage 1 of 10) at t = 1.02e-12 (tn = 0.00e+00 , tcur = 1.02e-12), ||y||_2 = 1.0172526042e-12] + [Post-stage processing (stage 1 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Pre-RHS processing (stage 2 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Post-stage processing (stage 2 of 10) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Pre-RHS processing (stage 3 of 10) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Post-stage processing (stage 3 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Pre-RHS processing (stage 4 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Post-stage processing (stage 4 of 10) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] + [Post-stage processing (stage 4 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Pre-RHS processing (stage 5 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] + [Post-stage processing (stage 5 of 10) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Pre-RHS processing (stage 6 of 10) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Post-stage processing (stage 6 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Pre-RHS processing (stage 7 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] + [Post-stage processing (stage 7 of 10) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] + [Pre-RHS processing (stage 8 of 10) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] + [Post-stage processing (stage 8 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 9 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + 6.1035156250e-12 6.1035156250e-12 2.4233807008e-27 + [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 0 of 10) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 10) at t = 1.02e-08 (tn = 6.10e-12 , tcur = 1.02e-08), ||y||_2 = 1.0178629557e-08] + [Pre-RHS processing (stage 1 of 10) at t = 1.02e-08 (tn = 6.10e-12 , tcur = 1.02e-08), ||y||_2 = 1.0178629557e-08] + [Post-stage processing (stage 1 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Pre-RHS processing (stage 2 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Post-stage processing (stage 2 of 10) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Pre-RHS processing (stage 3 of 10) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Post-stage processing (stage 3 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Pre-RHS processing (stage 4 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Post-stage processing (stage 4 of 10) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] + [Post-stage processing (stage 4 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Pre-RHS processing (stage 5 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] + [Post-stage processing (stage 5 of 10) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Pre-RHS processing (stage 6 of 10) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] + [Post-stage processing (stage 6 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Pre-RHS processing (stage 7 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] + [Post-stage processing (stage 7 of 10) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] + [Pre-RHS processing (stage 8 of 10) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] + [Post-stage processing (stage 8 of 10) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 9 of 10) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + 6.1041259766e-08 6.1041259766e-08 0.0000000000e+00 + [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 0 of 10) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 0 of 10) at t = 2.64e-07 (tn = 6.10e-08 , tcur = 2.64e-07), ||y||_2 = 2.6449178060e-07] + [Pre-RHS processing (stage 1 of 10) at t = 2.64e-07 (tn = 6.10e-08 , tcur = 2.64e-07), ||y||_2 = 2.6449178060e-07] + [Post-stage processing (stage 1 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Pre-RHS processing (stage 2 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Post-stage processing (stage 2 of 10) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Pre-RHS processing (stage 3 of 10) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Post-stage processing (stage 3 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Pre-RHS processing (stage 4 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Post-stage processing (stage 4 of 10) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] + [Post-stage processing (stage 4 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Pre-RHS processing (stage 5 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] + [Post-stage processing (stage 5 of 10) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Pre-RHS processing (stage 6 of 10) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] + [Post-stage processing (stage 6 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Pre-RHS processing (stage 7 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] + [Post-stage processing (stage 7 of 10) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] + [Pre-RHS processing (stage 8 of 10) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] + [Post-stage processing (stage 8 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Pre-RHS processing (stage 9 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] + 1.2817443848e-06 1.2817443848e-06 6.3527471044e-22 +--------------------------------------------------------------------- +Current time = 1.28174438476563e-06 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 3 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 6.103515625e-12 +Last step size = 1.220703125e-06 +Current step size = 2.44140625e-05 +RHS fn evals = 32 +Number of stages used = 10 +End LSRKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out new file mode 100644 index 0000000000..f6b394a890 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out @@ -0,0 +1,60 @@ +Start MRIStep StageInfo test +Using Ex-MRI-GARK method + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 4) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0702389129e+00] + [Pre-RHS processing (stage 1 of 4) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0702389129e+00] + [Post-stage processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323793744e+00] + [Pre-RHS processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323793744e+00] + [Post-stage processing (stage 3 of 4) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553792942e+00] + [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553792942e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 4) at t = 1.79e-02 (tn = 0.00e+00 , tcur = 1.79e-02), ||y||_2 = 2.1062747196e+00] + [Pre-RHS processing (stage 1 of 4) at t = 1.79e-02 (tn = 0.00e+00 , tcur = 1.79e-02), ||y||_2 = 2.1062747196e+00] + [Post-stage processing (stage 2 of 4) at t = 3.59e-02 (tn = 0.00e+00 , tcur = 3.59e-02), ||y||_2 = 2.0623617667e+00] + [Pre-RHS processing (stage 2 of 4) at t = 3.59e-02 (tn = 0.00e+00 , tcur = 3.59e-02), ||y||_2 = 2.0623617667e+00] + [Post-stage processing (stage 3 of 4) at t = 5.38e-02 (tn = 0.00e+00 , tcur = 5.38e-02), ||y||_2 = 1.9935724472e+00] + [Post-step processing at t = 5.38e-02 (tn = 0.00e+00 , tcur = 5.38e-02),||y||_2 = 1.9935724472e+00] + 5.3788411835e-02 1.2244498085e+00 1.5732303610e+00 1.8680695546e-07 8.2659525269e-07 + [Pre-step processing at t = 5.38e-02 (tn = 5.38e-02 , tcur = 5.38e-02),||y||_2 = 1.9935724472e+00] + [Pre-RHS processing (stage 0 of 4) at t = 5.38e-02 (tn = 5.38e-02 , tcur = 5.38e-02), ||y||_2 = 1.9935724472e+00] + [Post-stage processing (stage 1 of 4) at t = 7.17e-02 (tn = 5.38e-02 , tcur = 7.17e-02), ||y||_2 = 1.9065588348e+00] + [Pre-RHS processing (stage 1 of 4) at t = 7.17e-02 (tn = 5.38e-02 , tcur = 7.17e-02), ||y||_2 = 1.9065588348e+00] + [Post-stage processing (stage 2 of 4) at t = 8.96e-02 (tn = 5.38e-02 , tcur = 8.96e-02), ||y||_2 = 1.8105164121e+00] + [Pre-RHS processing (stage 2 of 4) at t = 8.96e-02 (tn = 5.38e-02 , tcur = 8.96e-02), ||y||_2 = 1.8105164121e+00] + [Post-stage processing (stage 3 of 4) at t = 1.08e-01 (tn = 5.38e-02 , tcur = 1.08e-01), ||y||_2 = 1.7172269130e+00] + [Post-step processing at t = 1.08e-01 (tn = 5.38e-02 , tcur = 1.08e-01),||y||_2 = 1.7172269130e+00] + 1.0755261194e-01 1.2235651438e+00 1.2048886296e+00 3.1283219726e-07 2.2452351258e-06 + [Pre-step processing at t = 1.08e-01 (tn = 1.08e-01 , tcur = 1.08e-01),||y||_2 = 1.7172269130e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.08e-01 (tn = 1.08e-01 , tcur = 1.08e-01), ||y||_2 = 1.7172269130e+00] + [Post-stage processing (stage 1 of 4) at t = 1.26e-01 (tn = 1.08e-01 , tcur = 1.26e-01), ||y||_2 = 1.6395059572e+00] + [Pre-RHS processing (stage 1 of 4) at t = 1.26e-01 (tn = 1.08e-01 , tcur = 1.26e-01), ||y||_2 = 1.6395059572e+00] + [Post-stage processing (stage 2 of 4) at t = 1.44e-01 (tn = 1.08e-01 , tcur = 1.44e-01), ||y||_2 = 1.5908512726e+00] + [Pre-RHS processing (stage 2 of 4) at t = 1.44e-01 (tn = 1.08e-01 , tcur = 1.44e-01), ||y||_2 = 1.5908512726e+00] + [Post-stage processing (stage 3 of 4) at t = 1.62e-01 (tn = 1.08e-01 , tcur = 1.62e-01), ||y||_2 = 1.5804053561e+00] + [Post-step processing at t = 1.62e-01 (tn = 1.08e-01 , tcur = 1.62e-01),||y||_2 = 1.5804053561e+00] + 1.6166698095e-01 1.2220806635e+00 1.0020977704e+00 4.0194574003e-07 2.9238596286e-06 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.161666980946477 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.1 +Last step size = 0.0541143690074931 +Current step size = 0.0540029786725355 +Explicit slow RHS fn evals = 12 +Implicit slow RHS fn evals = 0 +Inner stepper failures = 0 +NLS iters = 0 +NLS fails = 0 +NLS iters per step = 0 +LS setups = 0 +End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out new file mode 100644 index 0000000000..f356c64451 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out @@ -0,0 +1,89 @@ +Start MRIStep StageInfo test +Using Im-MRI-GARK method +Using Newton nonlinear solver +Using GMRES iterative linear solver + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 8) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 8) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 8) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0702389129e+00] + [Post-stage processing (stage 2 of 8) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0700721651e+00] + [Pre-RHS processing (stage 2 of 8) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0700721651e+00] + [Post-stage processing (stage 3 of 8) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9322328933e+00] + [Post-stage processing (stage 4 of 8) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9321435064e+00] + [Pre-RHS processing (stage 4 of 8) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9321435064e+00] + [Post-stage processing (stage 5 of 8) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7559990525e+00] + [Post-stage processing (stage 6 of 8) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553790892e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553790892e+00] + [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553790892e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 8) at t = 7.64e-03 (tn = 0.00e+00 , tcur = 7.64e-03), ||y||_2 = 2.1185733610e+00] + [Post-stage processing (stage 2 of 8) at t = 7.64e-03 (tn = 0.00e+00 , tcur = 7.64e-03), ||y||_2 = 2.1185644667e+00] + [Pre-RHS processing (stage 2 of 8) at t = 7.64e-03 (tn = 0.00e+00 , tcur = 7.64e-03), ||y||_2 = 2.1185644667e+00] + [Post-stage processing (stage 3 of 8) at t = 1.53e-02 (tn = 0.00e+00 , tcur = 1.53e-02), ||y||_2 = 2.1103531773e+00] + [Post-stage processing (stage 4 of 8) at t = 1.53e-02 (tn = 0.00e+00 , tcur = 1.53e-02), ||y||_2 = 2.1103486206e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.53e-02 (tn = 0.00e+00 , tcur = 1.53e-02), ||y||_2 = 2.1103486206e+00] + [Post-stage processing (stage 5 of 8) at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02), ||y||_2 = 2.0968505281e+00] + [Post-stage processing (stage 6 of 8) at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02), ||y||_2 = 2.0968232402e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02), ||y||_2 = 2.0968232402e+00] + [Post-step processing at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02),||y||_2 = 2.0968232402e+00] + 2.2915786214e-02 1.2246912820e+00 1.7019985207e+00 5.5793780707e-09 2.1530106586e-09 + [Pre-step processing at t = 2.29e-02 (tn = 2.29e-02 , tcur = 2.29e-02),||y||_2 = 2.0968232402e+00] + [Pre-RHS processing (stage 0 of 8) at t = 2.29e-02 (tn = 2.29e-02 , tcur = 2.29e-02), ||y||_2 = 2.0968232402e+00] + [Post-stage processing (stage 1 of 8) at t = 3.03e-02 (tn = 2.29e-02 , tcur = 3.03e-02), ||y||_2 = 2.0788798708e+00] + [Post-stage processing (stage 2 of 8) at t = 3.03e-02 (tn = 2.29e-02 , tcur = 3.03e-02), ||y||_2 = 2.0788714037e+00] + [Pre-RHS processing (stage 2 of 8) at t = 3.03e-02 (tn = 2.29e-02 , tcur = 3.03e-02), ||y||_2 = 2.0788714037e+00] + [Post-stage processing (stage 3 of 8) at t = 3.77e-02 (tn = 2.29e-02 , tcur = 3.77e-02), ||y||_2 = 2.0564153145e+00] + [Post-stage processing (stage 4 of 8) at t = 3.77e-02 (tn = 2.29e-02 , tcur = 3.77e-02), ||y||_2 = 2.0564109461e+00] + [Pre-RHS processing (stage 4 of 8) at t = 3.77e-02 (tn = 2.29e-02 , tcur = 3.77e-02), ||y||_2 = 2.0564109461e+00] + [Post-stage processing (stage 5 of 8) at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298368062e+00] + [Post-stage processing (stage 6 of 8) at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298104890e+00] + [Pre-RHS processing (stage 6 of 8) at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298104890e+00] + [Post-step processing at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02),||y||_2 = 2.0298104890e+00] + 4.5061997773e-02 1.2245376535e+00 1.6188385208e+00 1.0139641349e-08 1.3537759358e-08 + [Pre-step processing at t = 4.51e-02 (tn = 4.51e-02 , tcur = 4.51e-02),||y||_2 = 2.0298104890e+00] + [Pre-RHS processing (stage 0 of 8) at t = 4.51e-02 (tn = 4.51e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298104890e+00] + [Post-stage processing (stage 1 of 8) at t = 5.25e-02 (tn = 4.51e-02 , tcur = 5.25e-02), ||y||_2 = 1.9994285829e+00] + [Post-stage processing (stage 2 of 8) at t = 5.25e-02 (tn = 4.51e-02 , tcur = 5.25e-02), ||y||_2 = 1.9994197633e+00] + [Pre-RHS processing (stage 2 of 8) at t = 5.25e-02 (tn = 4.51e-02 , tcur = 5.25e-02), ||y||_2 = 1.9994197633e+00] + [Post-stage processing (stage 3 of 8) at t = 5.98e-02 (tn = 4.51e-02 , tcur = 5.98e-02), ||y||_2 = 1.9657929007e+00] + [Post-stage processing (stage 4 of 8) at t = 5.98e-02 (tn = 4.51e-02 , tcur = 5.98e-02), ||y||_2 = 1.9657883234e+00] + [Pre-RHS processing (stage 4 of 8) at t = 5.98e-02 (tn = 4.51e-02 , tcur = 5.98e-02), ||y||_2 = 1.9657883234e+00] + [Post-stage processing (stage 5 of 8) at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02), ||y||_2 = 1.9295492984e+00] + [Post-stage processing (stage 6 of 8) at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02), ||y||_2 = 1.9295215670e+00] + [Pre-RHS processing (stage 6 of 8) at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02), ||y||_2 = 1.9295215670e+00] + [Post-step processing at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02),||y||_2 = 1.9295215670e+00] + 6.7234572226e-02 1.2242836022e+00 1.4913695514e+00 1.4287638628e-08 4.0154499503e-08 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.0672345722257155 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.1 +Last step size = 0.022172574452528 +Current step size = 0.0222074352130945 +Explicit slow RHS fn evals = 0 +Implicit slow RHS fn evals = 50 +Inner stepper failures = 0 +NLS iters = 34 +NLS fails = 0 +NLS iters per step = 11.3333333333333 +LS setups = 0 +Jac fn evals = 0 +LS RHS fn evals = 38 +Prec setup evals = 0 +Prec solves = 0 +LS iters = 38 +LS fails = 0 +Jac-times setups = 0 +Jac-times evals = 38 +LS iters per NLS iter = 1.11764705882353 +Jac evals per NLS iter = 0 +Prec evals per NLS iter = 0 +End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out new file mode 100644 index 0000000000..a997566f4d --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out @@ -0,0 +1,85 @@ +Start MRIStep StageInfo test +Using ImEx-MRI-GARK method +Using Newton nonlinear solver +Using GMRES iterative linear solver + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] + [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] + [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] + [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553780461e+00] + [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553690226e+00] + [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553780461e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] + [Pre-RHS processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] + [Post-stage processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] + [Pre-RHS processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] + [Post-stage processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] + [Pre-RHS processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] + [Post-stage processing (stage 4 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] + [Post-stage processing (stage 5 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220301555e+00] + [Post-step processing at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] + 4.7038717251e-02 1.2245191379e+00 1.6090871497e+00 7.2407223550e-08 3.3077079586e-07 + [Pre-step processing at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] + [Pre-RHS processing (stage 0 of 5) at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] + [Post-stage processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] + [Pre-RHS processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] + [Post-stage processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] + [Post-stage processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] + [Post-stage processing (stage 4 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] + [Post-stage processing (stage 5 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866191431e+00] + [Post-step processing at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] + 9.4077434503e-02 1.2238419876e+00 1.3016221719e+00 8.9882908894e-08 1.7942663662e-06 + [Pre-step processing at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] + [Pre-RHS processing (stage 0 of 5) at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] + [Post-stage processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] + [Post-stage processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] + [Post-stage processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] + [Post-stage processing (stage 4 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906968039e+00] + [Post-stage processing (stage 5 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906958150e+00] + [Post-step processing at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01),||y||_2 = 1.5906968039e+00] + 1.4372138650e-01 1.2226386256e+00 1.0175810107e+00 1.1664470589e-07 2.7813679992e-06 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.143721386500587 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.1 +Last step size = 0.0496439519979517 +Current step size = 0.0499492708252477 +Explicit slow RHS fn evals = 16 +Implicit slow RHS fn evals = 64 +Inner stepper failures = 0 +NLS iters = 48 +NLS fails = 0 +NLS iters per step = 16 +LS setups = 0 +Jac fn evals = 0 +LS RHS fn evals = 58 +Prec setup evals = 0 +Prec solves = 0 +LS iters = 58 +LS fails = 0 +Jac-times setups = 0 +Jac-times evals = 58 +LS iters per NLS iter = 1.20833333333333 +Jac evals per NLS iter = 0 +Prec evals per NLS iter = 0 +End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out new file mode 100644 index 0000000000..f8cb9d6025 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out @@ -0,0 +1,72 @@ +Start MRIStep StageInfo test +Using Ex-MRI-SR method + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277317531e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277317531e+00] + [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8631157730e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8631157730e+00] + [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6894354844e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6894354844e+00] + [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553776312e+00] + [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553905174e+00] + [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553776312e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 2.72e-02 (tn = 0.00e+00 , tcur = 2.72e-02), ||y||_2 = 2.0871216421e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.72e-02 (tn = 0.00e+00 , tcur = 2.72e-02), ||y||_2 = 2.0871216421e+00] + [Post-stage processing (stage 2 of 5) at t = 3.21e-02 (tn = 0.00e+00 , tcur = 3.21e-02), ||y||_2 = 2.0738241098e+00] + [Pre-RHS processing (stage 2 of 5) at t = 3.21e-02 (tn = 0.00e+00 , tcur = 3.21e-02), ||y||_2 = 2.0738241098e+00] + [Post-stage processing (stage 3 of 5) at t = 4.55e-02 (tn = 0.00e+00 , tcur = 4.55e-02), ||y||_2 = 2.0280485196e+00] + [Pre-RHS processing (stage 3 of 5) at t = 4.55e-02 (tn = 0.00e+00 , tcur = 4.55e-02), ||y||_2 = 2.0280485196e+00] + [Post-stage processing (stage 4 of 5) at t = 4.01e-02 (tn = 0.00e+00 , tcur = 4.01e-02), ||y||_2 = 2.0479718989e+00] + [Post-stage processing (stage 5 of 5) at t = 4.01e-02 (tn = 0.00e+00 , tcur = 4.01e-02), ||y||_2 = 2.0479726350e+00] + [Post-step processing at t = 4.01e-02 (tn = 0.00e+00 , tcur = 4.01e-02),||y||_2 = 2.0479718989e+00] + 4.0147173279e-02 1.2245803971e+00 1.6415211694e+00 1.7833581722e-08 1.3150238765e-07 + [Pre-step processing at t = 4.01e-02 (tn = 4.01e-02 , tcur = 4.01e-02),||y||_2 = 2.0479718989e+00] + [Pre-RHS processing (stage 0 of 5) at t = 4.01e-02 (tn = 4.01e-02 , tcur = 4.01e-02), ||y||_2 = 2.0479718989e+00] + [Post-stage processing (stage 1 of 5) at t = 6.73e-02 (tn = 4.01e-02 , tcur = 6.73e-02), ||y||_2 = 1.9292098715e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.73e-02 (tn = 4.01e-02 , tcur = 6.73e-02), ||y||_2 = 1.9292098715e+00] + [Post-stage processing (stage 2 of 5) at t = 7.23e-02 (tn = 4.01e-02 , tcur = 7.23e-02), ||y||_2 = 1.9037272078e+00] + [Pre-RHS processing (stage 2 of 5) at t = 7.23e-02 (tn = 4.01e-02 , tcur = 7.23e-02), ||y||_2 = 1.9037272078e+00] + [Post-stage processing (stage 3 of 5) at t = 8.56e-02 (tn = 4.01e-02 , tcur = 8.56e-02), ||y||_2 = 1.8320067913e+00] + [Pre-RHS processing (stage 3 of 5) at t = 8.56e-02 (tn = 4.01e-02 , tcur = 8.56e-02), ||y||_2 = 1.8320067913e+00] + [Post-stage processing (stage 4 of 5) at t = 8.03e-02 (tn = 4.01e-02 , tcur = 8.03e-02), ||y||_2 = 1.8609952333e+00] + [Post-stage processing (stage 5 of 5) at t = 8.03e-02 (tn = 4.01e-02 , tcur = 8.03e-02), ||y||_2 = 1.8609960500e+00] + [Post-step processing at t = 8.03e-02 (tn = 4.01e-02 , tcur = 8.03e-02),||y||_2 = 1.8609952333e+00] + 8.0294346558e-02 1.2240870650e+00 1.4017539426e+00 2.9546360247e-08 8.8498109596e-07 + [Pre-step processing at t = 8.03e-02 (tn = 8.03e-02 , tcur = 8.03e-02),||y||_2 = 1.8609952333e+00] + [Pre-RHS processing (stage 0 of 5) at t = 8.03e-02 (tn = 8.03e-02 , tcur = 8.03e-02), ||y||_2 = 1.8609952333e+00] + [Post-stage processing (stage 1 of 5) at t = 1.07e-01 (tn = 8.03e-02 , tcur = 1.07e-01), ||y||_2 = 1.7176026494e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.07e-01 (tn = 8.03e-02 , tcur = 1.07e-01), ||y||_2 = 1.7176026494e+00] + [Post-stage processing (stage 2 of 5) at t = 1.12e-01 (tn = 8.03e-02 , tcur = 1.12e-01), ||y||_2 = 1.6940253097e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.12e-01 (tn = 8.03e-02 , tcur = 1.12e-01), ||y||_2 = 1.6940253097e+00] + [Post-stage processing (stage 3 of 5) at t = 1.26e-01 (tn = 8.03e-02 , tcur = 1.26e-01), ||y||_2 = 1.6384682995e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.26e-01 (tn = 8.03e-02 , tcur = 1.26e-01), ||y||_2 = 1.6384682995e+00] + [Post-stage processing (stage 4 of 5) at t = 1.20e-01 (tn = 8.03e-02 , tcur = 1.20e-01), ||y||_2 = 1.6590260096e+00] + [Post-stage processing (stage 5 of 5) at t = 1.20e-01 (tn = 8.03e-02 , tcur = 1.20e-01), ||y||_2 = 1.6590269385e+00] + [Post-step processing at t = 1.20e-01 (tn = 8.03e-02 , tcur = 1.20e-01),||y||_2 = 1.6590260096e+00] + 1.2049198814e-01 1.2232640221e+00 1.1207106820e+00 2.3916633340e-08 1.4539153401e-06 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.120491988140575 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.1 +Last step size = 0.0401976415827198 +Current step size = 0.0402774582255194 +Explicit slow RHS fn evals = 16 +Implicit slow RHS fn evals = 0 +Inner stepper failures = 0 +NLS iters = 0 +NLS fails = 0 +NLS iters per step = 0 +LS setups = 0 +End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out new file mode 100644 index 0000000000..f726d25a29 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out @@ -0,0 +1,85 @@ +Start MRIStep StageInfo test +Using Im-MRI-SR method +Using Newton nonlinear solver +Using GMRES iterative linear solver + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9272516649e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9272516649e+00] + [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8622728321e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8622728321e+00] + [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6900892751e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6900892751e+00] + [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553777059e+00] + [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553835812e+00] + [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553777059e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 3.68e-02 (tn = 0.00e+00 , tcur = 3.68e-02), ||y||_2 = 2.0592361389e+00] + [Pre-RHS processing (stage 1 of 5) at t = 3.68e-02 (tn = 0.00e+00 , tcur = 3.68e-02), ||y||_2 = 2.0592361389e+00] + [Post-stage processing (stage 2 of 5) at t = 4.35e-02 (tn = 0.00e+00 , tcur = 4.35e-02), ||y||_2 = 2.0355544317e+00] + [Pre-RHS processing (stage 2 of 5) at t = 4.35e-02 (tn = 0.00e+00 , tcur = 4.35e-02), ||y||_2 = 2.0355544317e+00] + [Post-stage processing (stage 3 of 5) at t = 6.17e-02 (tn = 0.00e+00 , tcur = 6.17e-02), ||y||_2 = 1.9571096875e+00] + [Pre-RHS processing (stage 3 of 5) at t = 6.17e-02 (tn = 0.00e+00 , tcur = 6.17e-02), ||y||_2 = 1.9571096875e+00] + [Post-stage processing (stage 4 of 5) at t = 5.44e-02 (tn = 0.00e+00 , tcur = 5.44e-02), ||y||_2 = 1.9907845791e+00] + [Post-stage processing (stage 5 of 5) at t = 5.44e-02 (tn = 0.00e+00 , tcur = 5.44e-02), ||y||_2 = 1.9907852935e+00] + [Post-step processing at t = 5.44e-02 (tn = 0.00e+00 , tcur = 5.44e-02),||y||_2 = 1.9907845791e+00] + 5.4416549221e-02 1.2244425898e+00 1.5697017502e+00 9.6643187675e-08 2.9671727586e-07 + [Pre-step processing at t = 5.44e-02 (tn = 5.44e-02 , tcur = 5.44e-02),||y||_2 = 1.9907845791e+00] + [Pre-RHS processing (stage 0 of 5) at t = 5.44e-02 (tn = 5.44e-02 , tcur = 5.44e-02), ||y||_2 = 1.9907845791e+00] + [Post-stage processing (stage 1 of 5) at t = 9.12e-02 (tn = 5.44e-02 , tcur = 9.12e-02), ||y||_2 = 1.8018482507e+00] + [Pre-RHS processing (stage 1 of 5) at t = 9.12e-02 (tn = 5.44e-02 , tcur = 9.12e-02), ||y||_2 = 1.8018482507e+00] + [Post-stage processing (stage 2 of 5) at t = 9.79e-02 (tn = 5.44e-02 , tcur = 9.79e-02), ||y||_2 = 1.7659886342e+00] + [Pre-RHS processing (stage 2 of 5) at t = 9.79e-02 (tn = 5.44e-02 , tcur = 9.79e-02), ||y||_2 = 1.7659886342e+00] + [Post-stage processing (stage 3 of 5) at t = 1.16e-01 (tn = 5.44e-02 , tcur = 1.16e-01), ||y||_2 = 1.6776533917e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.16e-01 (tn = 5.44e-02 , tcur = 1.16e-01), ||y||_2 = 1.6776533917e+00] + [Post-stage processing (stage 4 of 5) at t = 1.09e-01 (tn = 5.44e-02 , tcur = 1.09e-01), ||y||_2 = 1.7110128262e+00] + [Post-stage processing (stage 5 of 5) at t = 1.09e-01 (tn = 5.44e-02 , tcur = 1.09e-01), ||y||_2 = 1.7110136723e+00] + [Post-step processing at t = 1.09e-01 (tn = 5.44e-02 , tcur = 1.09e-01),||y||_2 = 1.7110128262e+00] + 1.0883309844e-01 1.2235363746e+00 1.1960449956e+00 2.0469684348e-07 1.0505289330e-06 + [Pre-step processing at t = 1.09e-01 (tn = 1.09e-01 , tcur = 1.09e-01),||y||_2 = 1.7110128262e+00] + [Pre-RHS processing (stage 0 of 5) at t = 1.09e-01 (tn = 1.09e-01 , tcur = 1.09e-01), ||y||_2 = 1.7110128262e+00] + [Post-stage processing (stage 1 of 5) at t = 1.48e-01 (tn = 1.09e-01 , tcur = 1.48e-01), ||y||_2 = 1.5848610090e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.48e-01 (tn = 1.09e-01 , tcur = 1.48e-01), ||y||_2 = 1.5848610090e+00] + [Post-stage processing (stage 2 of 5) at t = 1.55e-01 (tn = 1.09e-01 , tcur = 1.55e-01), ||y||_2 = 1.5794413328e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.55e-01 (tn = 1.09e-01 , tcur = 1.55e-01), ||y||_2 = 1.5794413328e+00] + [Post-stage processing (stage 3 of 5) at t = 1.74e-01 (tn = 1.09e-01 , tcur = 1.74e-01), ||y||_2 = 1.5966533845e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.74e-01 (tn = 1.09e-01 , tcur = 1.74e-01), ||y||_2 = 1.5966533845e+00] + [Post-stage processing (stage 4 of 5) at t = 1.66e-01 (tn = 1.09e-01 , tcur = 1.66e-01), ||y||_2 = 1.5843328694e+00] + [Post-stage processing (stage 5 of 5) at t = 1.66e-01 (tn = 1.09e-01 , tcur = 1.66e-01), ||y||_2 = 1.5843338593e+00] + [Post-step processing at t = 1.66e-01 (tn = 1.09e-01 , tcur = 1.66e-01),||y||_2 = 1.5843328694e+00] + 1.6631602874e-01 1.2219246454e+00 1.0084695345e+00 3.4011255701e-07 1.4555240657e-06 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.166316028736013 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.1 +Last step size = 0.0574829302949148 +Current step size = 0.0577668918865172 +Explicit slow RHS fn evals = 0 +Implicit slow RHS fn evals = 64 +Inner stepper failures = 0 +NLS iters = 48 +NLS fails = 0 +NLS iters per step = 16 +LS setups = 0 +Jac fn evals = 0 +LS RHS fn evals = 59 +Prec setup evals = 0 +Prec solves = 0 +LS iters = 59 +LS fails = 0 +Jac-times setups = 0 +Jac-times evals = 59 +LS iters per NLS iter = 1.22916666666667 +Jac evals per NLS iter = 0 +Prec evals per NLS iter = 0 +End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out new file mode 100644 index 0000000000..17f7ab21c4 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out @@ -0,0 +1,85 @@ +Start MRIStep StageInfo test +Using ImEx-MRI-SR method +Using Newton nonlinear solver +Using GMRES iterative linear solver + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] + [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] + [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] + [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553780461e+00] + [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553690226e+00] + [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553780461e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] + [Pre-RHS processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] + [Post-stage processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] + [Pre-RHS processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] + [Post-stage processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] + [Pre-RHS processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] + [Post-stage processing (stage 4 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] + [Post-stage processing (stage 5 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220301555e+00] + [Post-step processing at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] + 4.7038717251e-02 1.2245191379e+00 1.6090871497e+00 7.2407223550e-08 3.3077079586e-07 + [Pre-step processing at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] + [Pre-RHS processing (stage 0 of 5) at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] + [Post-stage processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] + [Pre-RHS processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] + [Post-stage processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] + [Post-stage processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] + [Post-stage processing (stage 4 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] + [Post-stage processing (stage 5 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866191431e+00] + [Post-step processing at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] + 9.4077434503e-02 1.2238419876e+00 1.3016221719e+00 8.9882908894e-08 1.7942663662e-06 + [Pre-step processing at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] + [Pre-RHS processing (stage 0 of 5) at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] + [Post-stage processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] + [Post-stage processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] + [Post-stage processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] + [Post-stage processing (stage 4 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906968039e+00] + [Post-stage processing (stage 5 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906958150e+00] + [Post-step processing at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01),||y||_2 = 1.5906968039e+00] + 1.4372138650e-01 1.2226386256e+00 1.0175810107e+00 1.1664470589e-07 2.7813679992e-06 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.143721386500587 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.1 +Last step size = 0.0496439519979517 +Current step size = 0.0499492708252477 +Explicit slow RHS fn evals = 16 +Implicit slow RHS fn evals = 64 +Inner stepper failures = 0 +NLS iters = 48 +NLS fails = 0 +NLS iters per step = 16 +LS setups = 0 +Jac fn evals = 0 +LS RHS fn evals = 58 +Prec setup evals = 0 +Prec solves = 0 +LS iters = 58 +LS fails = 0 +Jac-times setups = 0 +Jac-times evals = 58 +LS iters per NLS iter = 1.20833333333333 +Jac evals per NLS iter = 0 +Prec evals per NLS iter = 0 +End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out new file mode 100644 index 0000000000..651acf0af6 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out @@ -0,0 +1,64 @@ +Start MRIStep StageInfo test +Using MERK method + t u v u err v err +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 + [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 4) at t = 5.00e-02 (tn = 0.00e+00 , tcur = 5.00e-02), ||y||_2 = 2.0100518077e+00] + [Pre-RHS processing (stage 1 of 4) at t = 5.00e-02 (tn = 0.00e+00 , tcur = 5.00e-02), ||y||_2 = 2.0100518077e+00] + [Post-stage processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323737599e+00] + [Pre-RHS processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323737599e+00] + [Post-stage processing (stage 4 of 4) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553417874e+00] + [Post-stage processing (stage 3 of 4) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553802047e+00] + [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553802047e+00] + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 4) at t = 1.43e-02 (tn = 0.00e+00 , tcur = 1.43e-02), ||y||_2 = 2.1117506552e+00] + [Pre-RHS processing (stage 1 of 4) at t = 1.43e-02 (tn = 0.00e+00 , tcur = 1.43e-02), ||y||_2 = 2.1117506552e+00] + [Post-stage processing (stage 2 of 4) at t = 1.90e-02 (tn = 0.00e+00 , tcur = 1.90e-02), ||y||_2 = 2.1043459618e+00] + [Pre-RHS processing (stage 2 of 4) at t = 1.90e-02 (tn = 0.00e+00 , tcur = 1.90e-02), ||y||_2 = 2.1043459618e+00] + [Post-stage processing (stage 4 of 4) at t = 2.86e-02 (tn = 0.00e+00 , tcur = 2.86e-02), ||y||_2 = 2.0835156932e+00] + [Post-stage processing (stage 3 of 4) at t = 2.86e-02 (tn = 0.00e+00 , tcur = 2.86e-02), ||y||_2 = 2.0835163684e+00] + [Post-step processing at t = 2.86e-02 (tn = 0.00e+00 , tcur = 2.86e-02),||y||_2 = 2.0835163684e+00] + 2.8560774168e-02 1.2246616429e+00 1.6855990976e+00 2.2506326580e-08 3.6164009787e-08 + [Pre-step processing at t = 2.86e-02 (tn = 2.86e-02 , tcur = 2.86e-02),||y||_2 = 2.0835163684e+00] + [Pre-RHS processing (stage 0 of 4) at t = 2.86e-02 (tn = 2.86e-02 , tcur = 2.86e-02), ||y||_2 = 2.0835163684e+00] + [Post-stage processing (stage 1 of 4) at t = 4.28e-02 (tn = 2.86e-02 , tcur = 4.28e-02), ||y||_2 = 2.0382427189e+00] + [Pre-RHS processing (stage 1 of 4) at t = 4.28e-02 (tn = 2.86e-02 , tcur = 4.28e-02), ||y||_2 = 2.0382427189e+00] + [Post-stage processing (stage 2 of 4) at t = 4.76e-02 (tn = 2.86e-02 , tcur = 4.76e-02), ||y||_2 = 2.0197685795e+00] + [Pre-RHS processing (stage 2 of 4) at t = 4.76e-02 (tn = 2.86e-02 , tcur = 4.76e-02), ||y||_2 = 2.0197685795e+00] + [Post-stage processing (stage 4 of 4) at t = 5.71e-02 (tn = 2.86e-02 , tcur = 5.71e-02), ||y||_2 = 1.9785258650e+00] + [Post-stage processing (stage 3 of 4) at t = 5.71e-02 (tn = 2.86e-02 , tcur = 5.71e-02), ||y||_2 = 1.9785265655e+00] + [Post-step processing at t = 5.71e-02 (tn = 2.86e-02 , tcur = 5.71e-02),||y||_2 = 1.9785265655e+00] + 5.7121548336e-02 1.2244119400e+00 1.5541501767e+00 3.8773453559e-08 5.2852703813e-07 + [Pre-step processing at t = 5.71e-02 (tn = 5.71e-02 , tcur = 5.71e-02),||y||_2 = 1.9785265655e+00] + [Pre-RHS processing (stage 0 of 4) at t = 5.71e-02 (tn = 5.71e-02 , tcur = 5.71e-02), ||y||_2 = 1.9785265655e+00] + [Post-stage processing (stage 1 of 4) at t = 7.16e-02 (tn = 5.71e-02 , tcur = 7.16e-02), ||y||_2 = 1.9070735973e+00] + [Pre-RHS processing (stage 1 of 4) at t = 7.16e-02 (tn = 5.71e-02 , tcur = 7.16e-02), ||y||_2 = 1.9070735973e+00] + [Post-stage processing (stage 2 of 4) at t = 7.64e-02 (tn = 5.71e-02 , tcur = 7.64e-02), ||y||_2 = 1.8816324251e+00] + [Pre-RHS processing (stage 2 of 4) at t = 7.64e-02 (tn = 5.71e-02 , tcur = 7.64e-02), ||y||_2 = 1.8816324251e+00] + [Post-stage processing (stage 4 of 4) at t = 8.61e-02 (tn = 5.71e-02 , tcur = 8.61e-02), ||y||_2 = 1.8296338557e+00] + [Post-stage processing (stage 3 of 4) at t = 8.61e-02 (tn = 5.71e-02 , tcur = 8.61e-02), ||y||_2 = 1.8296348692e+00] + [Post-step processing at t = 8.61e-02 (tn = 5.71e-02 , tcur = 8.61e-02),||y||_2 = 1.8296348692e+00] + 8.6097654722e-02 1.2239885854e+00 1.3599322400e+00 4.6675652676e-08 9.1623140341e-07 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.0860976547220178 +Steps = 3 +Step attempts = 4 +Stability limited steps = 0 +Accuracy limited steps = 4 +Error test fails = 1 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.1 +Last step size = 0.0289761063859351 +Current step size = 0.0288866044534405 +Explicit slow RHS fn evals = 12 +Implicit slow RHS fn evals = 0 +Inner stepper failures = 0 +NLS iters = 0 +NLS fails = 0 +NLS iters per step = 0 +LS setups = 0 +End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.out new file mode 100644 index 0000000000..3e8770502d --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.out @@ -0,0 +1,28 @@ +Start SplittingStep StageInfo test + t y y err +--------------------------------------------------------------------- + 0.000000000000000e+00 1.000000000000000e+00 0.000000000000000e+00 + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 1.0000000000e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 9.9899900167e-01] + 1.0000000000e-03 9.9899900167e-01 9.9866566894e-07 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 9.9899900167e-01] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 9.9799800734e-01] + 2.0000000000e-03 9.9799800734e-01 1.9953280224e-06 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 9.9799800734e-01] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 9.9699701901e-01] + 3.0000000000e-03 9.9699701901e-01 2.9899850904e-06 +--------------------------------------------------------------------- +Current time = 0.003 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 0 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +Partition 1 evolves = 3 +Partition 2 evolves = 3 +End SplittingStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.out new file mode 100644 index 0000000000..1388944790 --- /dev/null +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.out @@ -0,0 +1,64 @@ +Start SPRKStep StageInfo test + t q1 q2 q3 q4 +------------------------------------------------------------------------------------------------------------------------------ + 0.000000000000000e+00 4.000000000000000e-01 0.000000000000000e+00 0.000000000000000e+00 2.000000000000000e+00 + [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.0396078054e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.34e-04 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.0396078054e+00] + [Pre-RHS processing (stage 0 of 4) at t = 5.15e-04 (tn = 0.00e+00 , tcur = 1.34e-04), ||y||_2 = 2.0396079787e+00] + [Post-stage processing (stage 0 of 4) at t = 1.34e-04 (tn = 0.00e+00 , tcur = 1.34e-04), ||y||_2 = 2.0396081541e+00] + [Pre-RHS processing (stage 1 of 4) at t = -9.03e-05 (tn = 0.00e+00 , tcur = 1.34e-04), ||y||_2 = 2.0396081541e+00] + [Pre-RHS processing (stage 1 of 4) at t = 4.30e-04 (tn = 0.00e+00 , tcur = -9.03e-05), ||y||_2 = 2.0396116094e+00] + [Post-stage processing (stage 1 of 4) at t = -9.03e-05 (tn = 0.00e+00 , tcur = -9.03e-05), ||y||_2 = 2.0396115204e+00] + [Pre-RHS processing (stage 2 of 4) at t = 6.66e-04 (tn = 0.00e+00 , tcur = -9.03e-05), ||y||_2 = 2.0396115204e+00] + [Pre-RHS processing (stage 2 of 4) at t = 8.71e-04 (tn = 0.00e+00 , tcur = 6.66e-04), ||y||_2 = 2.0396057340e+00] + [Post-stage processing (stage 2 of 4) at t = 6.66e-04 (tn = 0.00e+00 , tcur = 6.66e-04), ||y||_2 = 2.0396059367e+00] + [Pre-RHS processing (stage 3 of 4) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 6.66e-04), ||y||_2 = 2.0396059367e+00] + [Pre-RHS processing (stage 3 of 4) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.0396023491e+00] + [Post-stage processing (stage 3 of 4) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.0396024276e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.0396024276e+00] + 1.0000000000e-03 3.9999687501e-01 1.9999947917e-03 -6.2499544275e-03 1.9999843751e+00 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.0396024276e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.13e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.0396024276e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.52e-03 (tn = 1.00e-03 , tcur = 1.13e-03), ||y||_2 = 2.0396010553e+00] + [Post-stage processing (stage 0 of 4) at t = 1.13e-03 (tn = 1.00e-03 , tcur = 1.13e-03), ||y||_2 = 2.0396016098e+00] + [Pre-RHS processing (stage 1 of 4) at t = 9.10e-04 (tn = 1.00e-03 , tcur = 1.13e-03), ||y||_2 = 2.0396016098e+00] + [Pre-RHS processing (stage 1 of 4) at t = 1.43e-03 (tn = 1.00e-03 , tcur = 9.10e-04), ||y||_2 = 2.0396076483e+00] + [Post-stage processing (stage 1 of 4) at t = 9.10e-04 (tn = 1.00e-03 , tcur = 9.10e-04), ||y||_2 = 2.0396074962e+00] + [Pre-RHS processing (stage 2 of 4) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 9.10e-04), ||y||_2 = 2.0396074962e+00] + [Pre-RHS processing (stage 2 of 4) at t = 1.87e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.0395930192e+00] + [Post-stage processing (stage 2 of 4) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.0395935467e+00] + [Pre-RHS processing (stage 3 of 4) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.0395935467e+00] + [Pre-RHS processing (stage 3 of 4) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.0395861214e+00] + [Post-stage processing (stage 3 of 4) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.0395862946e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.0395862946e+00] + 2.0000000000e-03 3.9998750018e-01 3.9999583342e-03 -1.2499635430e-02 1.9999375021e+00 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.0395862946e+00] + [Pre-RHS processing (stage 0 of 4) at t = 2.13e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.0395862946e+00] + [Pre-RHS processing (stage 0 of 4) at t = 2.52e-03 (tn = 2.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.0395833769e+00] + [Post-stage processing (stage 0 of 4) at t = 2.13e-03 (tn = 2.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.0395843104e+00] + [Pre-RHS processing (stage 1 of 4) at t = 1.91e-03 (tn = 2.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.0395843104e+00] + [Pre-RHS processing (stage 1 of 4) at t = 2.43e-03 (tn = 2.00e-03 , tcur = 1.91e-03), ||y||_2 = 2.0395929317e+00] + [Post-stage processing (stage 1 of 4) at t = 1.91e-03 (tn = 2.00e-03 , tcur = 1.91e-03), ||y||_2 = 2.0395927166e+00] + [Pre-RHS processing (stage 2 of 4) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 1.91e-03), ||y||_2 = 2.0395927166e+00] + [Pre-RHS processing (stage 2 of 4) at t = 2.87e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.0395695501e+00] + [Post-stage processing (stage 2 of 4) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.0395704024e+00] + [Pre-RHS processing (stage 3 of 4) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.0395704024e+00] + [Pre-RHS processing (stage 3 of 4) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.0395591399e+00] + [Post-stage processing (stage 3 of 4) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.0395594079e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.0395594079e+00] + 3.0000000000e-03 3.9997187592e-01 5.9998593813e-03 -1.8748769629e-02 1.9998593855e+00 +------------------------------------------------------------------------------------------------------------------------------ +Current time = 0.003 +Steps = 3 +Step attempts = 3 +Stability limited steps = 0 +Accuracy limited steps = 0 +Error test fails = 0 +NLS step fails = 0 +Inequality constraint fails = 0 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +f1 RHS fn evals = 12 +f2 RHS fn evals = 12 +End SPRKStep StageInfo test From e5fc63bd763ef4747b7e2409a49b1868f66cd0de Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Thu, 29 Jan 2026 15:25:58 -0500 Subject: [PATCH 16/32] Updated answers submodule commit --- test/answers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/answers b/test/answers index ef077d3b29..f41159e61e 160000 --- a/test/answers +++ b/test/answers @@ -1 +1 @@ -Subproject commit ef077d3b297f2acf66923da2da59232f8f232d2b +Subproject commit f41159e61edde697658830431eabf5343768244e From a4d6557ab47e294e466b667d58ad1c1a4e72bf49 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Thu, 29 Jan 2026 22:51:04 -0500 Subject: [PATCH 17/32] Formatting --- .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp | 2 +- .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp | 2 +- .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp index 098097859c..5b20eb68c5 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -39,7 +39,7 @@ using namespace problems::kpr; // store the main integrator global memory for these tests only, so that we // can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. // This would normally be stored in user_data, but here we reuse problem -// defintions from other tests. +// definitions from other tests. void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp index ee00bded48..bac2b9efa4 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -37,7 +37,7 @@ using namespace problems::kpr; // store the main integrator global memory for these tests only, so that we // can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. // This would normally be stored in user_data, but here we reuse problem -// defintions from other tests. +// definitions from other tests. void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp index 9300613873..ce84acfb8b 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -38,7 +38,7 @@ using namespace problems::estep; // store the main integrator global memory for these tests only, so that we // can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. // This would normally be stored in user_data, but here we reuse problem -// defintions from other tests. +// definitions from other tests. void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index 438f80fa12..788c9e041f 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -37,7 +37,7 @@ using namespace problems::prv; // store the main integrator global memory for these tests only, so that we // can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. // This would normally be stored in user_data, but here we reuse problem -// defintions from other tests. +// definitions from other tests. void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index 2c51d1876b..56acff94e5 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -42,7 +42,7 @@ using namespace problems::kpr; // store the main integrator global memory for these tests only, so that we // can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. // This would normally be stored in user_data, but here we reuse problem -// defintions from other tests. +// definitions from other tests. void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp index 2a29241a78..1d8936f4da 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -38,7 +38,7 @@ using namespace problems::estep; // store the main integrator global memory for these tests only, so that we // can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. // This would normally be stored in user_data, but here we reuse problem -// defintions from other tests. +// definitions from other tests. void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp index 569a464c1e..991029e0e3 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -37,7 +37,7 @@ using namespace problems::kepler; // store the main integrator global memory for these tests only, so that we // can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. // This would normally be stored in user_data, but here we reuse problem -// defintions from other tests. +// definitions from other tests. void* arkode_mem = nullptr; // Include the pre/post step and stage processing routines now that arkode_mem is defined From 78bba689cf68c88e2ceb556bcf00dd6849ffaa21 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Thu, 29 Jan 2026 22:59:18 -0500 Subject: [PATCH 18/32] Added selected LSRK method to output --- .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index 788c9e041f..3a19abdd59 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -68,27 +68,33 @@ int main(int argc, char* argv[]) int flag; if (method == 0) { + cout << "Using RKC method" << endl; flag = LSRKStepSetSTSMethodByName(arkode_mem, "ARKODE_LSRK_RKC_2"); } else if (method == 1) { + cout << "Using RKL method" << endl; flag = LSRKStepSetSTSMethodByName(arkode_mem, "ARKODE_LSRK_RKL_2"); } else if (method == 2) { + cout << "Using SSP(s,2) method" << endl; flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_S_2"); } else if (method == 3) { + cout << "Using SSP(s,3) method" << endl; flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_S_3"); } else if (method == 4) { + cout << "Using SSP(4,3) method" << endl; flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_S_3"); if (flag == 0) { flag = LSRKStepSetNumSSPStages(arkode_mem, 4); } } else if (method == 5) { + cout << "Using SSP(10,4) method" << endl; flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_10_4"); } else From a291b4d25a25ae8db24257ea373b862eae75b64f Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Thu, 29 Jan 2026 23:01:31 -0500 Subject: [PATCH 19/32] Added selected LSRK method to output --- .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out | 1 + .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out | 1 + .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out | 1 + .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out | 1 + .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out | 1 + .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out | 1 + 6 files changed, 6 insertions(+) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out index 708dbf3084..db25a45643 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out @@ -1,4 +1,5 @@ Start LSRKStep StageInfo test +Using RKC method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out index cf89be1e94..851b298a95 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_1.out @@ -1,4 +1,5 @@ Start LSRKStep StageInfo test +Using RKL method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out index 519cca6ef7..eb32a475a9 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out @@ -1,4 +1,5 @@ Start LSRKStep StageInfo test +Using SSP(s,2) method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out index bb4088f1a8..9b8549e6b9 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out @@ -1,4 +1,5 @@ Start LSRKStep StageInfo test +Using SSP(s,3) method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out index 9e12c1f98c..711b393e9d 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out @@ -1,4 +1,5 @@ Start LSRKStep StageInfo test +Using SSP(4,3) method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out index ef7c10d695..f5f575c0a7 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out @@ -1,4 +1,5 @@ Start LSRKStep StageInfo test +Using SSP(10,4) method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 From 16fb3244efddc41fca3a7eb9db6fb273860fbb41 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 10:13:19 -0500 Subject: [PATCH 20/32] Python bindings --- .../sundials4py/arkode/arkode_generated.hpp | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/bindings/sundials4py/arkode/arkode_generated.hpp b/bindings/sundials4py/arkode/arkode_generated.hpp index a494d031d4..ae68602b7e 100644 --- a/bindings/sundials4py/arkode/arkode_generated.hpp +++ b/bindings/sundials4py/arkode/arkode_generated.hpp @@ -500,6 +500,26 @@ m.def("ARKodeGetReturnFlagName", ARKodeGetReturnFlagName, nb::arg("flag")); m.def("ARKodeWriteParameters", ARKodeWriteParameters, nb::arg("arkode_mem"), nb::arg("fp")); +m.def( + "ARKodeGetStageIndex", + [](void* arkode_mem) -> std::tuple + { + auto ARKodeGetStageIndex_adapt_modifiable_immutable_to_return = + [](void* arkode_mem) -> std::tuple + { + int stage_adapt_modifiable; + int max_stages_adapt_modifiable; + + int r = ARKodeGetStageIndex(arkode_mem, &stage_adapt_modifiable, + &max_stages_adapt_modifiable); + return std::make_tuple(r, stage_adapt_modifiable, + max_stages_adapt_modifiable); + }; + + return ARKodeGetStageIndex_adapt_modifiable_immutable_to_return(arkode_mem); + }, + nb::arg("arkode_mem")); + m.def( "ARKodeGetNumExpSteps", [](void* arkode_mem) -> std::tuple @@ -674,6 +694,40 @@ m.def( }, nb::arg("arkode_mem")); +m.def( + "ARKodeGetLastTime", + [](void* arkode_mem) -> std::tuple + { + auto ARKodeGetLastTime_adapt_modifiable_immutable_to_return = + [](void* arkode_mem) -> std::tuple + { + sunrealtype tn_adapt_modifiable; + + int r = ARKodeGetLastTime(arkode_mem, &tn_adapt_modifiable); + return std::make_tuple(r, tn_adapt_modifiable); + }; + + return ARKodeGetLastTime_adapt_modifiable_immutable_to_return(arkode_mem); + }, + nb::arg("arkode_mem")); + +m.def( + "ARKodeGetLastState", + [](void* arkode_mem) -> std::tuple + { + auto ARKodeGetLastState_adapt_modifiable_immutable_to_return = + [](void* arkode_mem) -> std::tuple + { + N_Vector state_adapt_modifiable; + + int r = ARKodeGetLastState(arkode_mem, &state_adapt_modifiable); + return std::make_tuple(r, state_adapt_modifiable); + }; + + return ARKodeGetLastState_adapt_modifiable_immutable_to_return(arkode_mem); + }, + nb::arg("arkode_mem"), "nb::rv_policy::reference", nb::rv_policy::reference); + m.def( "ARKodeGetCurrentTime", [](void* arkode_mem) -> std::tuple From 29c3beaf5e0bf735c29bfaee1064d2e026d09040 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 12:44:09 -0500 Subject: [PATCH 21/32] Fixed approach for various 'stageinfo' unit tests to share the stageinfo.hpp header --- .../arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp | 4 +--- .../arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp | 4 +--- .../arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp | 4 +--- .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp | 4 +--- .../arkode/CXX_serial/ark_test_stageinfo_mristep.cpp | 4 +--- .../arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp | 4 +--- .../arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp | 4 +--- test/unit_tests/arkode/CXX_serial/stageinfo.hpp | 2 ++ 8 files changed, 9 insertions(+), 21 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp index 5b20eb68c5..d7f7bf483f 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -32,6 +32,7 @@ #include "problems/kpr.hpp" #include "utilities/check_return.hpp" +#include "stageinfo.hpp" using namespace std; using namespace problems::kpr; @@ -42,9 +43,6 @@ using namespace problems::kpr; // definitions from other tests. void* arkode_mem = nullptr; -// Include the pre/post step and stage processing routines now that arkode_mem is defined -#include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start ARKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp index bac2b9efa4..4ef6f5dd6c 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -30,6 +30,7 @@ #include "problems/kpr.hpp" #include "utilities/check_return.hpp" +#include "stageinfo.hpp" using namespace std; using namespace problems::kpr; @@ -40,9 +41,6 @@ using namespace problems::kpr; // definitions from other tests. void* arkode_mem = nullptr; -// Include the pre/post step and stage processing routines now that arkode_mem is defined -#include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start ERKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp index ce84acfb8b..6e2e2db754 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -31,6 +31,7 @@ #include "problems/estep.hpp" #include "utilities/check_return.hpp" +#include "stageinfo.hpp" using namespace std; using namespace problems::estep; @@ -41,9 +42,6 @@ using namespace problems::estep; // definitions from other tests. void* arkode_mem = nullptr; -// Include the pre/post step and stage processing routines now that arkode_mem is defined -#include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start ForcingStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index 3a19abdd59..acc2fec6c7 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -30,6 +30,7 @@ #include "problems/prv.hpp" #include "sundials/sundials_nvector.h" #include "utilities/check_return.hpp" +#include "stageinfo.hpp" using namespace std; using namespace problems::prv; @@ -40,9 +41,6 @@ using namespace problems::prv; // definitions from other tests. void* arkode_mem = nullptr; -// Include the pre/post step and stage processing routines now that arkode_mem is defined -#include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start LSRKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index 56acff94e5..b429e06b0d 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -35,6 +35,7 @@ #include "problems/kpr.hpp" #include "utilities/check_return.hpp" +#include "stageinfo.hpp" using namespace std; using namespace problems::kpr; @@ -45,9 +46,6 @@ using namespace problems::kpr; // definitions from other tests. void* arkode_mem = nullptr; -// Include the pre/post step and stage processing routines now that arkode_mem is defined -#include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start MRIStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp index 1d8936f4da..2057a70839 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -31,6 +31,7 @@ #include "problems/estep.hpp" #include "utilities/check_return.hpp" +#include "stageinfo.hpp" using namespace std; using namespace problems::estep; @@ -41,9 +42,6 @@ using namespace problems::estep; // definitions from other tests. void* arkode_mem = nullptr; -// Include the pre/post step and stage processing routines now that arkode_mem is defined -#include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start SplittingStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp index 991029e0e3..22003b08f7 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -30,6 +30,7 @@ #include "problems/kepler.hpp" #include "utilities/check_return.hpp" +#include "stageinfo.hpp" using namespace std; using namespace problems::kepler; @@ -40,9 +41,6 @@ using namespace problems::kepler; // definitions from other tests. void* arkode_mem = nullptr; -// Include the pre/post step and stage processing routines now that arkode_mem is defined -#include "stageinfo.hpp" - int main(int argc, char* argv[]) { cout << "Start SPRKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/stageinfo.hpp b/test/unit_tests/arkode/CXX_serial/stageinfo.hpp index 8898ad8a71..15d8e4e113 100644 --- a/test/unit_tests/arkode/CXX_serial/stageinfo.hpp +++ b/test/unit_tests/arkode/CXX_serial/stageinfo.hpp @@ -23,6 +23,8 @@ #include "arkode/arkode.h" #include "sundials/sundials_math.h" +extern void* arkode_mem; + int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; From 81c3da967948cfab45452a7848020f3b05fa54e2 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 12:44:31 -0500 Subject: [PATCH 22/32] Updated answers submodule commit --- test/answers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/answers b/test/answers index 71bf5cddce..5c2937c5e9 160000 --- a/test/answers +++ b/test/answers @@ -1 +1 @@ -Subproject commit 71bf5cddce4e356091db2c8c620ace9b9f7143ca +Subproject commit 5c2937c5e982cf9a699c57c3e80b77a9a3bb7ea7 From 7f752838e910dee44b2394aa6a1a9b20bc1e4672 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 13:12:01 -0500 Subject: [PATCH 23/32] Formatting --- .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp | 2 +- .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp | 2 +- .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp | 2 +- .../arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp index d7f7bf483f..6fe449caff 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -31,8 +31,8 @@ #include "sunlinsol/sunlinsol_spgmr.h" #include "problems/kpr.hpp" -#include "utilities/check_return.hpp" #include "stageinfo.hpp" +#include "utilities/check_return.hpp" using namespace std; using namespace problems::kpr; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp index 4ef6f5dd6c..672fac6f3e 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -29,8 +29,8 @@ #include "sundials/sundials_context.hpp" #include "problems/kpr.hpp" -#include "utilities/check_return.hpp" #include "stageinfo.hpp" +#include "utilities/check_return.hpp" using namespace std; using namespace problems::kpr; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp index 6e2e2db754..1a2a136ad4 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -30,8 +30,8 @@ #include "sundials/sundials_context.hpp" #include "problems/estep.hpp" -#include "utilities/check_return.hpp" #include "stageinfo.hpp" +#include "utilities/check_return.hpp" using namespace std; using namespace problems::estep; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index acc2fec6c7..1c97438605 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -28,9 +28,9 @@ #include "nvector/nvector_serial.h" #include "problems/prv.hpp" +#include "stageinfo.hpp" #include "sundials/sundials_nvector.h" #include "utilities/check_return.hpp" -#include "stageinfo.hpp" using namespace std; using namespace problems::prv; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index b429e06b0d..fc454b67e8 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -34,8 +34,8 @@ #include "sunlinsol/sunlinsol_spgmr.h" #include "problems/kpr.hpp" -#include "utilities/check_return.hpp" #include "stageinfo.hpp" +#include "utilities/check_return.hpp" using namespace std; using namespace problems::kpr; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp index 2057a70839..c6c49f9fb2 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -30,8 +30,8 @@ #include "sundials/sundials_context.hpp" #include "problems/estep.hpp" -#include "utilities/check_return.hpp" #include "stageinfo.hpp" +#include "utilities/check_return.hpp" using namespace std; using namespace problems::estep; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp index 22003b08f7..dddab7376d 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -29,8 +29,8 @@ #include "sundials/sundials_context.hpp" #include "problems/kepler.hpp" -#include "utilities/check_return.hpp" #include "stageinfo.hpp" +#include "utilities/check_return.hpp" using namespace std; using namespace problems::kepler; From 75df6a6aa1e2fdeb3b6dd8e994bb74b248750576 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 14:34:06 -0500 Subject: [PATCH 24/32] Moved callback functions back into each 'stageinfo' test code file --- .../CXX_serial/ark_test_stageinfo_arkstep.cpp | 127 ++++++++++++++- .../CXX_serial/ark_test_stageinfo_erkstep.cpp | 127 ++++++++++++++- .../ark_test_stageinfo_forcingstep.cpp | 127 ++++++++++++++- .../ark_test_stageinfo_lsrkstep.cpp | 127 ++++++++++++++- .../CXX_serial/ark_test_stageinfo_mristep.cpp | 127 ++++++++++++++- .../ark_test_stageinfo_splittingstep.cpp | 127 ++++++++++++++- .../ark_test_stageinfo_sprkstep.cpp | 127 ++++++++++++++- .../arkode/CXX_serial/stageinfo.hpp | 146 ------------------ 8 files changed, 854 insertions(+), 181 deletions(-) delete mode 100644 test/unit_tests/arkode/CXX_serial/stageinfo.hpp diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp index 6fe449caff..4b5d954844 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -31,18 +31,135 @@ #include "sunlinsol/sunlinsol_spgmr.h" #include "problems/kpr.hpp" -#include "stageinfo.hpp" #include "utilities/check_return.hpp" using namespace std; using namespace problems::kpr; -// store the main integrator global memory for these tests only, so that we -// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. -// This would normally be stored in user_data, but here we reuse problem -// definitions from other tests. +// Store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the step and stage pre/postprocessing +// callback functions below. This would normally be stored in user_data, but +// here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + int main(int argc, char* argv[]) { cout << "Start ARKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp index 672fac6f3e..ed608828ac 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -29,18 +29,135 @@ #include "sundials/sundials_context.hpp" #include "problems/kpr.hpp" -#include "stageinfo.hpp" #include "utilities/check_return.hpp" using namespace std; using namespace problems::kpr; -// store the main integrator global memory for these tests only, so that we -// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. -// This would normally be stored in user_data, but here we reuse problem -// definitions from other tests. +// Store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the step and stage pre/postprocessing +// callback functions below. This would normally be stored in user_data, but +// here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + int main(int argc, char* argv[]) { cout << "Start ERKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp index 1a2a136ad4..99a1ef920d 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -30,18 +30,135 @@ #include "sundials/sundials_context.hpp" #include "problems/estep.hpp" -#include "stageinfo.hpp" #include "utilities/check_return.hpp" using namespace std; using namespace problems::estep; -// store the main integrator global memory for these tests only, so that we -// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. -// This would normally be stored in user_data, but here we reuse problem -// definitions from other tests. +// Store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the step and stage pre/postprocessing +// callback functions below. This would normally be stored in user_data, but +// here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + int main(int argc, char* argv[]) { cout << "Start ForcingStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index 1c97438605..979e80749c 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -28,19 +28,136 @@ #include "nvector/nvector_serial.h" #include "problems/prv.hpp" -#include "stageinfo.hpp" #include "sundials/sundials_nvector.h" #include "utilities/check_return.hpp" using namespace std; using namespace problems::prv; -// store the main integrator global memory for these tests only, so that we -// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. -// This would normally be stored in user_data, but here we reuse problem -// definitions from other tests. +// Store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the step and stage pre/postprocessing +// callback functions below. This would normally be stored in user_data, but +// here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + int main(int argc, char* argv[]) { cout << "Start LSRKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index fc454b67e8..fedff905d4 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -34,18 +34,135 @@ #include "sunlinsol/sunlinsol_spgmr.h" #include "problems/kpr.hpp" -#include "stageinfo.hpp" #include "utilities/check_return.hpp" using namespace std; using namespace problems::kpr; -// store the main integrator global memory for these tests only, so that we -// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. -// This would normally be stored in user_data, but here we reuse problem -// definitions from other tests. +// Store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the step and stage pre/postprocessing +// callback functions below. This would normally be stored in user_data, but +// here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + int main(int argc, char* argv[]) { cout << "Start MRIStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp index c6c49f9fb2..c9f8b89a92 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -30,18 +30,135 @@ #include "sundials/sundials_context.hpp" #include "problems/estep.hpp" -#include "stageinfo.hpp" #include "utilities/check_return.hpp" using namespace std; using namespace problems::estep; -// store the main integrator global memory for these tests only, so that we -// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. -// This would normally be stored in user_data, but here we reuse problem -// definitions from other tests. +// Store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the step and stage pre/postprocessing +// callback functions below. This would normally be stored in user_data, but +// here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + int main(int argc, char* argv[]) { cout << "Start SplittingStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp index dddab7376d..876171bdd7 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -29,18 +29,135 @@ #include "sundials/sundials_context.hpp" #include "problems/kepler.hpp" -#include "stageinfo.hpp" #include "utilities/check_return.hpp" using namespace std; using namespace problems::kepler; -// store the main integrator global memory for these tests only, so that we -// can call ARKodeGetLastTime etc in the callback functions from stageinfo.hpp. -// This would normally be stored in user_data, but here we reuse problem -// definitions from other tests. +// Store the main integrator global memory for these tests only, so that we +// can call ARKodeGetLastTime etc in the step and stage pre/postprocessing +// callback functions below. This would normally be stored in user_data, but +// here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + int main(int argc, char* argv[]) { cout << "Start SPRKStep StageInfo test" << endl; diff --git a/test/unit_tests/arkode/CXX_serial/stageinfo.hpp b/test/unit_tests/arkode/CXX_serial/stageinfo.hpp deleted file mode 100644 index 15d8e4e113..0000000000 --- a/test/unit_tests/arkode/CXX_serial/stageinfo.hpp +++ /dev/null @@ -1,146 +0,0 @@ -/* ----------------------------------------------------------------------------- - * Programmer(s): Daniel R. Reynolds @ UMBC - * ----------------------------------------------------------------------------- - * SUNDIALS Copyright Start - * Copyright (c) 2025-2026, Lawrence Livermore National Security, - * University of Maryland Baltimore County, and the SUNDIALS contributors. - * Copyright (c) 2013-2025, Lawrence Livermore National Security - * and Southern Methodist University. - * Copyright (c) 2002-2013, Lawrence Livermore National Security. - * All rights reserved. - * - * See the top-level LICENSE and NOTICE files for details. - * - * SPDX-License-Identifier: BSD-3-Clause - * SUNDIALS Copyright End - * ----------------------------------------------------------------------------- - * Utility routines for various "ark_test_stageinfo" unit tests. - * ---------------------------------------------------------------------------*/ - -#ifndef STAGEINFO_HPP_ -#define STAGEINFO_HPP_ - -#include "arkode/arkode.h" -#include "sundials/sundials_math.h" - -extern void* arkode_mem; - -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step failure processing at t = " - << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << ")," << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << "), " << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Post-stage processing (stage " << stage << " of " - << max_stages << ") at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << "), " - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -#endif // STAGEINFO_HPP_ From 71b7a22561b28d789eb326d44fe951ed9fd82cdf Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 14:54:23 -0500 Subject: [PATCH 25/32] Adjusted declaration of callback functions to [hopefully] fix single and extended precision CI builds --- .../CXX_serial/ark_test_stageinfo_arkstep.cpp | 243 +++++++++--------- .../CXX_serial/ark_test_stageinfo_erkstep.cpp | 213 +++++++-------- .../ark_test_stageinfo_forcingstep.cpp | 243 +++++++++--------- .../ark_test_stageinfo_lsrkstep.cpp | 243 +++++++++--------- .../CXX_serial/ark_test_stageinfo_mristep.cpp | 243 +++++++++--------- .../ark_test_stageinfo_splittingstep.cpp | 243 +++++++++--------- .../ark_test_stageinfo_sprkstep.cpp | 189 +++++++------- 7 files changed, 833 insertions(+), 784 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp index 4b5d954844..72071487db 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -41,124 +41,11 @@ using namespace problems::kpr; // callback functions below. This would normally be stored in user_data, but // here we reuse problem definitions from other tests. void* arkode_mem = nullptr; - -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step failure processing at t = " - << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << ")," << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << "), " << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Post-stage processing (stage " << stage << " of " - << max_stages << ") at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << "), " - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data); +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data); int main(int argc, char* argv[]) { @@ -295,4 +182,124 @@ int main(int argc, char* argv[]) return 0; } + +// Callback functions +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + /*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp index ed608828ac..ee62bae0cd 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -39,8 +39,113 @@ using namespace problems::kpr; // callback functions below. This would normally be stored in user_data, but // here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data); +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data); -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +int main(int argc, char* argv[]) +{ + cout << "Start ERKStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Create initial condition + N_Vector y = N_VNew_Serial(2, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + sunrealtype utrue, vtrue; + int flag = true_sol(zero, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + sunrealtype* ydata = N_VGetArrayPointer(y); + ydata[0] = utrue; + ydata[1] = vtrue; + + // Create ERKStep memory structure + arkode_mem = ERKStepCreate(ode_rhs, zero, y, sunctx); + if (check_ptr(arkode_mem, "ERKStepCreate")) { return 1; } + + flag = ARKodeSetUserData(arkode_mem, &problem_data); + if (check_flag(flag, "ARKodeSetUserData")) { return 1; } + + // Relative and absolute tolerances + const sunrealtype rtol = SUN_RCONST(1.0e-6); + const sunrealtype atol = SUN_RCONST(1.0e-10); + + flag = ARKodeSStolerances(arkode_mem, rtol, atol); + if (check_flag(flag, "ARKodeSStolerances")) { return 1; } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = one; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + // Output initial contion + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << " t "; + cout << " u "; + cout << " v "; + cout << " u err "; + cout << " v err " << endl; + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) << abs(ydata[1] - vtrue) + << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKodeEvolve")) { return 1; } + + flag = true_sol(tret, &utrue, &vtrue); + if (check_flag(flag, "true_sol")) { return 1; } + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << abs(ydata[0] - utrue) << setw(25) + << abs(ydata[1] - vtrue) << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + ARKodeFree(&arkode_mem); + + cout << "End ERKStep StageInfo test" << endl; + + return 0; +} + + +// Callback functions +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) @@ -61,7 +166,7 @@ int preprocess_step(sunrealtype t, N_Vector y, void* user_data) return 0; } -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) @@ -82,7 +187,7 @@ int postprocess_step(sunrealtype t, N_Vector y, void* user_data) return 0; } -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) @@ -103,7 +208,7 @@ int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) return 0; } -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) { int stage, max_stages; sunrealtype tn, tcur; @@ -130,7 +235,7 @@ int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) return 0; } -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) { int stage, max_stages; sunrealtype tn, tcur; @@ -158,102 +263,4 @@ int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) return 0; } -int main(int argc, char* argv[]) -{ - cout << "Start ERKStep StageInfo test" << endl; - - // SUNDIALS context object for this simulation - sundials::Context sunctx; - - // Create initial condition - N_Vector y = N_VNew_Serial(2, sunctx); - if (check_ptr(y, "N_VNew_Serial")) { return 1; } - - sunrealtype utrue, vtrue; - int flag = true_sol(zero, &utrue, &vtrue); - if (check_flag(flag, "true_sol")) { return 1; } - - sunrealtype* ydata = N_VGetArrayPointer(y); - ydata[0] = utrue; - ydata[1] = vtrue; - - // Create ERKStep memory structure - arkode_mem = ERKStepCreate(ode_rhs, zero, y, sunctx); - if (check_ptr(arkode_mem, "ERKStepCreate")) { return 1; } - - flag = ARKodeSetUserData(arkode_mem, &problem_data); - if (check_flag(flag, "ARKodeSetUserData")) { return 1; } - - // Relative and absolute tolerances - const sunrealtype rtol = SUN_RCONST(1.0e-6); - const sunrealtype atol = SUN_RCONST(1.0e-10); - - flag = ARKodeSStolerances(arkode_mem, rtol, atol); - if (check_flag(flag, "ARKodeSStolerances")) { return 1; } - - // Set pre/post step and stage routines - flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); - if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } - flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); - if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } - flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); - if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } - flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); - if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } - flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); - if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } - - // Initial time and fist output time - const sunrealtype dtout = one; // output interval - const int nout = 3; // number of outputs - sunrealtype tret = zero; - sunrealtype tout = tret + dtout; - - // Output initial contion - cout << scientific; - cout << setprecision(numeric_limits::digits10); - cout << " t "; - cout << " u "; - cout << " v "; - cout << " u err "; - cout << " v err " << endl; - for (int i = 0; i < 9; i++) { cout << "--------------"; } - cout << endl; - - cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] - << setw(25) << abs(ydata[0] - utrue) << setw(25) << abs(ydata[1] - vtrue) - << endl; - - // Advance in time - for (int i = 0; i < nout; i++) - { - flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); - if (check_flag(flag, "ARKodeEvolve")) { return 1; } - - flag = true_sol(tret, &utrue, &vtrue); - if (check_flag(flag, "true_sol")) { return 1; } - - cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] - << setw(25) << abs(ydata[0] - utrue) << setw(25) - << abs(ydata[1] - vtrue) << endl; - - // update output time - tout += dtout; - } - for (int i = 0; i < 9; i++) { cout << "--------------"; } - cout << endl; - - // Print some final statistics - flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); - if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } - - // Clean up and return with successful completion - N_VDestroy(y); - ARKodeFree(&arkode_mem); - - cout << "End ERKStep StageInfo test" << endl; - - return 0; -} - /*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp index 99a1ef920d..b3467ea454 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -40,124 +40,11 @@ using namespace problems::estep; // callback functions below. This would normally be stored in user_data, but // here we reuse problem definitions from other tests. void* arkode_mem = nullptr; - -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step failure processing at t = " - << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << ")," << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << "), " << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Post-stage processing (stage " << stage << " of " - << max_stages << ") at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << "), " - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data); +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data); int main(int argc, char* argv[]) { @@ -287,4 +174,124 @@ int main(int argc, char* argv[]) return 0; } + +// Callback functions +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + /*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index 979e80749c..03e0cff2cb 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -39,124 +39,11 @@ using namespace problems::prv; // callback functions below. This would normally be stored in user_data, but // here we reuse problem definitions from other tests. void* arkode_mem = nullptr; - -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step failure processing at t = " - << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << ")," << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << "), " << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Post-stage processing (stage " << stage << " of " - << max_stages << ") at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << "), " - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data); +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data); int main(int argc, char* argv[]) { @@ -295,4 +182,124 @@ int main(int argc, char* argv[]) return 0; } + +// Callback functions +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + /*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index fedff905d4..79bc2ee195 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -44,124 +44,11 @@ using namespace problems::kpr; // callback functions below. This would normally be stored in user_data, but // here we reuse problem definitions from other tests. void* arkode_mem = nullptr; - -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step failure processing at t = " - << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << ")," << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << "), " << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Post-stage processing (stage " << stage << " of " - << max_stages << ") at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << "), " - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data); +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data); int main(int argc, char* argv[]) { @@ -374,4 +261,124 @@ int main(int argc, char* argv[]) return 0; } + +// Callback functions +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + /*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp index c9f8b89a92..598353f08c 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -40,124 +40,11 @@ using namespace problems::estep; // callback functions below. This would normally be stored in user_data, but // here we reuse problem definitions from other tests. void* arkode_mem = nullptr; - -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step processing at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << ")," - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) -{ - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - std::cout << " [Post-step failure processing at t = " - << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << ")," << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages - << ") at t = " << std::setprecision(2) << t << " (tn = " << tn - << " , tcur = " << tcur << "), " << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} - -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) -{ - int stage, max_stages; - sunrealtype tn, tcur; - if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetLastTime" << std::endl; - return -1; - } - if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; - return -1; - } - if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) - { - std::cerr << "Error in ARKodeGetStageIndex" << std::endl; - return -1; - } - std::cout << " [Post-stage processing (stage " << stage << " of " - << max_stages << ") at t = " << std::setprecision(2) << t - << " (tn = " << tn << " , tcur = " << tcur << "), " - << std::setprecision(10) - << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl - << std::flush; - return 0; -} +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data); +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data); int main(int argc, char* argv[]) { @@ -287,4 +174,124 @@ int main(int argc, char* argv[]) return 0; } + +// Callback functions +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Pre-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step processing at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << ")," + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +{ + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + std::cout << " [Post-step failure processing at t = " + << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << ")," << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Pre-RHS processing (stage " << stage << " of " << max_stages + << ") at t = " << std::setprecision(2) << t << " (tn = " << tn + << " , tcur = " << tcur << "), " << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +{ + int stage, max_stages; + sunrealtype tn, tcur; + if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetLastTime" << std::endl; + return -1; + } + if (ARKodeGetCurrentTime(arkode_mem, &tcur) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetCurrentTime" << std::endl; + return -1; + } + if (ARKodeGetStageIndex(arkode_mem, &stage, &max_stages) != ARK_SUCCESS) + { + std::cerr << "Error in ARKodeGetStageIndex" << std::endl; + return -1; + } + std::cout << " [Post-stage processing (stage " << stage << " of " + << max_stages << ") at t = " << std::setprecision(2) << t + << " (tn = " << tn << " , tcur = " << tcur << "), " + << std::setprecision(10) + << "||y||_2 = " << SUNRsqrt(N_VDotProd(y, y)) << "]" << std::endl + << std::flush; + return 0; +} + /*---- end of file ----*/ diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp index 876171bdd7..45df1a2dfd 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -39,8 +39,101 @@ using namespace problems::kepler; // callback functions below. This would normally be stored in user_data, but // here we reuse problem definitions from other tests. void* arkode_mem = nullptr; +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data); +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data); +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data); -int preprocess_step(sunrealtype t, N_Vector y, void* user_data) +int main(int argc, char* argv[]) +{ + cout << "Start SPRKStep StageInfo test" << endl; + + // SUNDIALS context object for this simulation + sundials::Context sunctx; + + // Create initial condition + N_Vector y = N_VNew_Serial(4, sunctx); + if (check_ptr(y, "N_VNew_Serial")) { return 1; } + + int flag = initial_condition(y, eccentricity); + if (check_flag(flag, "initial_condition")) { return 1; } + + // Create SPRKStep memory structure + arkode_mem = SPRKStepCreate(ode_rhs_force, ode_rhs_velocity, zero, y, sunctx); + if (check_ptr(arkode_mem, "SPKStepCreate")) { return 1; } + + // Step size + const sunrealtype dt = SUN_RCONST(0.001); + flag = ARKodeSetFixedStep(arkode_mem, dt); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + + // Set pre/post step and stage routines + flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); + if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); + if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } + flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); + if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } + flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); + if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } + flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); + if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } + + // Initial time and fist output time + const sunrealtype dtout = dt; // output interval + const int nout = 3; // number of outputs + sunrealtype tret = zero; + sunrealtype tout = tret + dtout; + + // Output initial contion + sunrealtype* ydata = N_VGetArrayPointer(y); + if (check_ptr(y, "N_VGetArrayPointer")) { return 1; } + + cout << scientific; + cout << setprecision(numeric_limits::digits10); + cout << " t "; + cout << " q1 "; + cout << " q2 "; + cout << " q3 "; + cout << " q4 " << endl; + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << ydata[2] << setw(25) << ydata[3] << endl; + + // Advance in time + for (int i = 0; i < nout; i++) + { + flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); + if (check_flag(flag, "ARKodeEvolve")) { return 1; } + + cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] + << setw(25) << ydata[2] << setw(25) << ydata[3] << endl; + + // update output time + tout += dtout; + } + for (int i = 0; i < 9; i++) { cout << "--------------"; } + cout << endl; + + // Print some final statistics + flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); + if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } + + // Clean up and return with successful completion + N_VDestroy(y); + ARKodeFree(&arkode_mem); + + cout << "End SPRKStep StageInfo test" << endl; + + return 0; +} + + +// Callback functions +static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) @@ -61,7 +154,7 @@ int preprocess_step(sunrealtype t, N_Vector y, void* user_data) return 0; } -int postprocess_step(sunrealtype t, N_Vector y, void* user_data) +static int postprocess_step(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) @@ -82,7 +175,7 @@ int postprocess_step(sunrealtype t, N_Vector y, void* user_data) return 0; } -int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) +static int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) { sunrealtype tn, tcur; if (ARKodeGetLastTime(arkode_mem, &tn) != ARK_SUCCESS) @@ -103,7 +196,7 @@ int postprocess_step_fail(sunrealtype t, N_Vector y, void* user_data) return 0; } -int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) +static int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) { int stage, max_stages; sunrealtype tn, tcur; @@ -130,7 +223,7 @@ int preprocess_stage(sunrealtype t, N_Vector y, void* user_data) return 0; } -int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) +static int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) { int stage, max_stages; sunrealtype tn, tcur; @@ -158,90 +251,4 @@ int postprocess_stage(sunrealtype t, N_Vector y, void* user_data) return 0; } -int main(int argc, char* argv[]) -{ - cout << "Start SPRKStep StageInfo test" << endl; - - // SUNDIALS context object for this simulation - sundials::Context sunctx; - - // Create initial condition - N_Vector y = N_VNew_Serial(4, sunctx); - if (check_ptr(y, "N_VNew_Serial")) { return 1; } - - int flag = initial_condition(y, eccentricity); - if (check_flag(flag, "initial_condition")) { return 1; } - - // Create SPRKStep memory structure - arkode_mem = SPRKStepCreate(ode_rhs_force, ode_rhs_velocity, zero, y, sunctx); - if (check_ptr(arkode_mem, "SPKStepCreate")) { return 1; } - - // Step size - const sunrealtype dt = SUN_RCONST(0.001); - flag = ARKodeSetFixedStep(arkode_mem, dt); - if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } - - // Set pre/post step and stage routines - flag = ARKodeSetPreprocessStepFn(arkode_mem, preprocess_step); - if (check_flag(flag, "ARKodeSetPreprocessStepFn")) { return 1; } - flag = ARKodeSetPostprocessStepFn(arkode_mem, postprocess_step); - if (check_flag(flag, "ARKodeSetPostprocessStepFn")) { return 1; } - flag = ARKodeSetPostprocessStepFailFn(arkode_mem, postprocess_step_fail); - if (check_flag(flag, "ARKodeSetPostprocessStepFailFn")) { return 1; } - flag = ARKodeSetPreprocessRHSFn(arkode_mem, preprocess_stage); - if (check_flag(flag, "ARKodeSetPreprocessRHSFn")) { return 1; } - flag = ARKodeSetPostprocessStageFn(arkode_mem, postprocess_stage); - if (check_flag(flag, "ARKodeSetPostprocessStageFn")) { return 1; } - - // Initial time and fist output time - const sunrealtype dtout = dt; // output interval - const int nout = 3; // number of outputs - sunrealtype tret = zero; - sunrealtype tout = tret + dtout; - - // Output initial contion - sunrealtype* ydata = N_VGetArrayPointer(y); - if (check_ptr(y, "N_VGetArrayPointer")) { return 1; } - - cout << scientific; - cout << setprecision(numeric_limits::digits10); - cout << " t "; - cout << " q1 "; - cout << " q2 "; - cout << " q3 "; - cout << " q4 " << endl; - for (int i = 0; i < 9; i++) { cout << "--------------"; } - cout << endl; - - cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] - << setw(25) << ydata[2] << setw(25) << ydata[3] << endl; - - // Advance in time - for (int i = 0; i < nout; i++) - { - flag = ARKodeEvolve(arkode_mem, tout, y, &tret, ARK_ONE_STEP); - if (check_flag(flag, "ARKodeEvolve")) { return 1; } - - cout << setw(22) << tret << setw(25) << ydata[0] << setw(25) << ydata[1] - << setw(25) << ydata[2] << setw(25) << ydata[3] << endl; - - // update output time - tout += dtout; - } - for (int i = 0; i < 9; i++) { cout << "--------------"; } - cout << endl; - - // Print some final statistics - flag = ARKodePrintAllStats(arkode_mem, stdout, SUN_OUTPUTFORMAT_TABLE); - if (check_flag(flag, "ARKodePrintAllStats")) { return 1; } - - // Clean up and return with successful completion - N_VDestroy(y); - ARKodeFree(&arkode_mem); - - cout << "End SPRKStep StageInfo test" << endl; - - return 0; -} - /*---- end of file ----*/ From 385dba93cdb42e0809326df7fdf10f46ca4e02fa Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 17:46:30 -0500 Subject: [PATCH 26/32] Formatting --- test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp | 1 - test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp | 1 - .../arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp | 1 - .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp | 1 - test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp | 1 - .../arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp | 1 - .../unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp | 1 - 7 files changed, 7 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp index 72071487db..4145c3d236 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep.cpp @@ -182,7 +182,6 @@ int main(int argc, char* argv[]) return 0; } - // Callback functions static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp index ee62bae0cd..375bee9e5c 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.cpp @@ -143,7 +143,6 @@ int main(int argc, char* argv[]) return 0; } - // Callback functions static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp index b3467ea454..e5b6bf75d2 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_forcingstep.cpp @@ -174,7 +174,6 @@ int main(int argc, char* argv[]) return 0; } - // Callback functions static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index 03e0cff2cb..cad68e3e32 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -182,7 +182,6 @@ int main(int argc, char* argv[]) return 0; } - // Callback functions static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index 79bc2ee195..86d2c4ec54 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -261,7 +261,6 @@ int main(int argc, char* argv[]) return 0; } - // Callback functions static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp index 598353f08c..66b1ee3357 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_splittingstep.cpp @@ -174,7 +174,6 @@ int main(int argc, char* argv[]) return 0; } - // Callback functions static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp index 45df1a2dfd..8e953e73c2 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_sprkstep.cpp @@ -131,7 +131,6 @@ int main(int argc, char* argv[]) return 0; } - // Callback functions static int preprocess_step(sunrealtype t, N_Vector y, void* user_data) { From 42b97050a00a7341d2967db21da2ab825d0de2c4 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Fri, 30 Jan 2026 21:56:47 -0500 Subject: [PATCH 27/32] Updated answers submodule commit --- test/answers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/answers b/test/answers index 5c2937c5e9..4070d3978d 160000 --- a/test/answers +++ b/test/answers @@ -1 +1 @@ -Subproject commit 5c2937c5e982cf9a699c57c3e80b77a9a3bb7ea7 +Subproject commit 4070d3978de259c1063961ea0b03c4f43a1256e4 From f4c679d7ee64c3b1c1a90afa91e035411502e7f4 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 3 Feb 2026 09:22:55 -0500 Subject: [PATCH 28/32] Updated ark_test_stageinfo_mristep.cpp to use fixed step sizes, since otherwise imex-mri-gark methods would not be tested --- .../arkode/CXX_serial/ark_test_stageinfo_mristep.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp index 86d2c4ec54..25791660d3 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep.cpp @@ -177,6 +177,12 @@ int main(int argc, char* argv[]) flag = ARKodeSStolerances(arkode_mem, rtol, atol); if (check_flag(flag, "ARKodeSStolerances")) { return 1; } + // Set the slow step size + const sunrealtype hfixed = SUN_RCONST(0.001); + + flag = ARKodeSetFixedStep(arkode_mem, hfixed); + if (check_flag(flag, "ARKodeSetFixedStep")) { return 1; } + SUNMatrix A = nullptr; SUNLinearSolver LS = nullptr; From 19c521d9bc6176a6db5893650f3bd55ca4366624 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 3 Feb 2026 10:19:27 -0500 Subject: [PATCH 29/32] Updated .out files for Jenkins --- .../ark_test_stageinfo_arkstep_0.out | 46 +++---- .../ark_test_stageinfo_arkstep_1.out | 54 ++++---- .../ark_test_stageinfo_arkstep_2.out | 64 +++++----- .../CXX_serial/ark_test_stageinfo_erkstep.out | 32 ++--- .../ark_test_stageinfo_lsrkstep_0.out | 6 +- .../ark_test_stageinfo_lsrkstep_3.out | 2 +- .../ark_test_stageinfo_lsrkstep_4.out | 4 +- .../ark_test_stageinfo_lsrkstep_5.out | 4 +- .../ark_test_stageinfo_mristep_0.out | 74 +++++------ .../ark_test_stageinfo_mristep_1.out | 111 +++++++---------- .../ark_test_stageinfo_mristep_2.out | 117 +++++++++--------- .../ark_test_stageinfo_mristep_3.out | 92 ++++++-------- .../ark_test_stageinfo_mristep_4.out | 104 +++++++--------- .../ark_test_stageinfo_mristep_5.out | 106 +++++++--------- .../ark_test_stageinfo_mristep_6.out | 78 +++++------- 15 files changed, 406 insertions(+), 488 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out index 9acf3930f3..49bdd17c7d 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_0.out @@ -1,6 +1,6 @@ Start ARKStep StageInfo test Using ERK method - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] @@ -20,27 +20,27 @@ Using ERK method [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] [Post-stage processing (stage 1 of 5) at t = 5.97e-03 (tn = 1.03e-04 , tcur = 5.97e-03), ||y||_2 = 2.1212628048e+00] [Pre-RHS processing (stage 1 of 5) at t = 5.97e-03 (tn = 1.03e-04 , tcur = 5.97e-03), ||y||_2 = 2.1212628048e+00] - [Post-stage processing (stage 2 of 5) at t = 8.90e-03 (tn = 1.03e-04 , tcur = 8.90e-03), ||y||_2 = 2.1151489029e+00] - [Pre-RHS processing (stage 2 of 5) at t = 8.90e-03 (tn = 1.03e-04 , tcur = 8.90e-03), ||y||_2 = 2.1151489029e+00] - [Post-stage processing (stage 3 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1129070889e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1129070889e+00] - [Post-stage processing (stage 4 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1110724430e+00] - [Pre-RHS processing (stage 4 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1110724430e+00] - [Post-step processing at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02),||y||_2 = 2.1110724430e+00] - 1.4770753232e-02 1.2247225752e+00 1.7195003557e+00 2.8937936936e-08 2.5927171299e-08 - [Pre-step processing at t = 1.48e-02 (tn = 1.48e-02 , tcur = 1.48e-02),||y||_2 = 2.1110724430e+00] - [Post-stage processing (stage 1 of 5) at t = 2.06e-02 (tn = 1.48e-02 , tcur = 2.06e-02), ||y||_2 = 2.1030688067e+00] - [Pre-RHS processing (stage 1 of 5) at t = 2.06e-02 (tn = 1.48e-02 , tcur = 2.06e-02), ||y||_2 = 2.1030688067e+00] - [Post-stage processing (stage 2 of 5) at t = 2.35e-02 (tn = 1.48e-02 , tcur = 2.35e-02), ||y||_2 = 2.0933502617e+00] - [Pre-RHS processing (stage 2 of 5) at t = 2.35e-02 (tn = 1.48e-02 , tcur = 2.35e-02), ||y||_2 = 2.0933502617e+00] - [Post-stage processing (stage 3 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0833181423e+00] - [Pre-RHS processing (stage 3 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0833181423e+00] - [Post-stage processing (stage 4 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0816387128e+00] - [Pre-RHS processing (stage 4 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0816387128e+00] - [Post-step processing at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02),||y||_2 = 2.0816387128e+00] - 2.9275139624e-02 1.2246573481e+00 1.6832807581e+00 5.5763322404e-08 6.7822652161e-08 + [Post-stage processing (stage 2 of 5) at t = 8.90e-03 (tn = 1.03e-04 , tcur = 8.90e-03), ||y||_2 = 2.1151489033e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.90e-03 (tn = 1.03e-04 , tcur = 8.90e-03), ||y||_2 = 2.1151489033e+00] + [Post-stage processing (stage 3 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1129070894e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1129070894e+00] + [Post-stage processing (stage 4 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1110724436e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1110724436e+00] + [Post-step processing at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02),||y||_2 = 2.1110724436e+00] + 1.4770752770e-02 1.2247225752e+00 1.7195003557e+00 2.8937936936e-08 2.5927171299e-08 + [Pre-step processing at t = 1.48e-02 (tn = 1.48e-02 , tcur = 1.48e-02),||y||_2 = 2.1110724436e+00] + [Post-stage processing (stage 1 of 5) at t = 2.06e-02 (tn = 1.48e-02 , tcur = 2.06e-02), ||y||_2 = 2.1030688076e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.06e-02 (tn = 1.48e-02 , tcur = 2.06e-02), ||y||_2 = 2.1030688076e+00] + [Post-stage processing (stage 2 of 5) at t = 2.35e-02 (tn = 1.48e-02 , tcur = 2.35e-02), ||y||_2 = 2.0933502627e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.35e-02 (tn = 1.48e-02 , tcur = 2.35e-02), ||y||_2 = 2.0933502627e+00] + [Post-stage processing (stage 3 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0833181435e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0833181435e+00] + [Post-stage processing (stage 4 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0816387141e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02), ||y||_2 = 2.0816387141e+00] + [Post-step processing at t = 2.93e-02 (tn = 1.48e-02 , tcur = 2.93e-02),||y||_2 = 2.0816387141e+00] + 2.9275139161e-02 1.2246573481e+00 1.6832807581e+00 5.5763322404e-08 6.7822652161e-08 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0292751396243773 +Current time = 0.0292751391609328 Steps = 3 Step attempts = 3 Stability limited steps = 0 @@ -49,8 +49,8 @@ Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0145043863921471 -Current step size = 0.0149829090932849 +Last step size = 0.0145043863910885 +Current step size = 0.0149829090634053 Explicit RHS fn evals = 15 Implicit RHS fn evals = 0 NLS iters = 0 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out index e71dadd09c..59318ce051 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out @@ -2,7 +2,7 @@ Start ARKStep StageInfo test Using DIRK method Using Newton nonlinear solver Using GMRES iterative linear solver - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-RHS processing (stage 0 of 6) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] @@ -22,33 +22,33 @@ Using GMRES iterative linear solver [Post-step processing at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] 1.0298602561e-04 1.2247448703e+00 1.7320501952e+00 7.8541617654e-12 2.7311486406e-14 [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] - [Post-stage processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363096e+00] - [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363096e+00] + [Post-stage processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363098e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363098e+00] [Post-stage processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1210284133e+00] [Pre-RHS processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1210284133e+00] - [Post-stage processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721824e+00] - [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721824e+00] - [Post-stage processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895068e+00] - [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895068e+00] - [Post-stage processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851653e+00] - [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851653e+00] - [Post-step processing at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02),||y||_2 = 2.1087851653e+00] - 1.6345098954e-02 1.2247176001e+00 1.7166949855e+00 4.4663852616e-09 6.0447387096e-09 - [Pre-step processing at t = 1.63e-02 (tn = 1.63e-02 , tcur = 1.63e-02),||y||_2 = 2.1087851653e+00] - [Post-stage processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030131e+00] - [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030131e+00] - [Post-stage processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048030e+00] - [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048030e+00] - [Post-stage processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671857e+00] - [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671857e+00] - [Post-stage processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966594e+00] - [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966594e+00] - [Post-stage processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934048e+00] - [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934048e+00] - [Post-step processing at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02),||y||_2 = 2.0724934048e+00] - 3.2548715292e-02 1.2246367417e+00 1.6719730154e+00 8.0260507129e-09 5.9880216341e-09 + [Post-stage processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721828e+00] + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721828e+00] + [Post-stage processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895079e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895079e+00] + [Post-stage processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851663e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851663e+00] + [Post-step processing at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02),||y||_2 = 2.1087851663e+00] + 1.6345098313e-02 1.2247176001e+00 1.7166949855e+00 4.4663852616e-09 6.0447387096e-09 + [Pre-step processing at t = 1.63e-02 (tn = 1.63e-02 , tcur = 1.63e-02),||y||_2 = 2.1087851663e+00] + [Post-stage processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030146e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030146e+00] + [Post-stage processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048041e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048041e+00] + [Post-stage processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671872e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671872e+00] + [Post-stage processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966613e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966613e+00] + [Post-stage processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934067e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934067e+00] + [Post-step processing at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02),||y||_2 = 2.0724934067e+00] + 3.2548714654e-02 1.2246367417e+00 1.6719730154e+00 8.0260507129e-09 5.9880216341e-09 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0325487152923576 +Current time = 0.0325487146540888 Steps = 3 Step attempts = 3 Stability limited steps = 0 @@ -57,8 +57,8 @@ Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0162036163379197 -Current step size = 0.0160003634180696 +Last step size = 0.0162036163408584 +Current step size = 0.0160003634285686 Explicit RHS fn evals = 0 Implicit RHS fn evals = 49 NLS iters = 31 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out index c7df90650a..6b88dade9c 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out @@ -2,7 +2,7 @@ Start ARKStep StageInfo test Using ImEx method Using Newton nonlinear solver Using GMRES iterative linear solver - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-RHS processing (stage 0 of 7) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] @@ -27,36 +27,36 @@ Using GMRES iterative linear solver [Pre-RHS processing (stage 0 of 7) at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] [Post-stage processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1212262228e+00] [Pre-RHS processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1212262228e+00] - [Post-stage processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953892e+00] - [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953892e+00] - [Post-stage processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654976e+00] - [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654976e+00] - [Post-stage processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503426e+00] - [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503426e+00] - [Post-stage processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817810e+00] - [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817810e+00] - [Post-stage processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469358e+00] - [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469358e+00] - [Post-step processing at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02),||y||_2 = 2.0649991558e+00] - 3.5024521932e-02 1.2246196097e+00 1.6626870797e+00 6.6819398681e-08 6.5525542281e-07 - [Pre-step processing at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02),||y||_2 = 2.0649991558e+00] - [Pre-RHS processing (stage 0 of 7) at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02), ||y||_2 = 2.0649991558e+00] - [Post-stage processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161449e+00] - [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161449e+00] - [Post-stage processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194404e+00] - [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194404e+00] - [Post-stage processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366549e+00] - [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366549e+00] - [Post-stage processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070541e+00] - [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070541e+00] - [Post-stage processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914710e+00] - [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914710e+00] - [Post-stage processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758117e+00] - [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758117e+00] - [Post-step processing at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02),||y||_2 = 1.9169542285e+00] - 6.9697813939e-02 1.2242491983e+00 1.4751025098e+00 2.2221884333e-08 2.5857302401e-06 + [Post-stage processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953910e+00] + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953910e+00] + [Post-stage processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654988e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654988e+00] + [Post-stage processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503427e+00] + [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503427e+00] + [Post-stage processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817859e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817859e+00] + [Post-stage processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469454e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469454e+00] + [Post-step processing at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02),||y||_2 = 2.0649991654e+00] + 3.5024518851e-02 1.2246196097e+00 1.6626870797e+00 6.6819398681e-08 6.5525542281e-07 + [Pre-step processing at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02),||y||_2 = 2.0649991654e+00] + [Pre-RHS processing (stage 0 of 7) at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02), ||y||_2 = 2.0649991654e+00] + [Post-stage processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161565e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161565e+00] + [Post-stage processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194532e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194532e+00] + [Post-stage processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366671e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366671e+00] + [Post-stage processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070643e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070643e+00] + [Post-stage processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914853e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914853e+00] + [Post-stage processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758274e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758274e+00] + [Post-step processing at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02),||y||_2 = 1.9169542441e+00] + 6.9697810906e-02 1.2242491983e+00 1.4751025098e+00 2.2221884333e-08 2.5857302401e-06 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0696978139393375 +Current time = 0.0696978109064544 Steps = 3 Step attempts = 3 Stability limited steps = 0 @@ -65,8 +65,8 @@ Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0346732920075373 -Current step size = 0.0331306528243113 +Last step size = 0.0346732920553526 +Current step size = 0.0331306530355695 Explicit RHS fn evals = 23 Implicit RHS fn evals = 62 NLS iters = 39 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out index 24eb193950..f14856a4d7 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_erkstep.out @@ -1,5 +1,5 @@ Start ERKStep StageInfo test - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] @@ -19,13 +19,13 @@ Start ERKStep StageInfo test [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] [Post-stage processing (stage 1 of 5) at t = 6.56e-03 (tn = 1.03e-04 , tcur = 6.56e-03), ||y||_2 = 2.1212571010e+00] [Pre-RHS processing (stage 1 of 5) at t = 6.56e-03 (tn = 1.03e-04 , tcur = 6.56e-03), ||y||_2 = 2.1212571010e+00] - [Post-stage processing (stage 2 of 5) at t = 9.78e-03 (tn = 1.03e-04 , tcur = 9.78e-03), ||y||_2 = 2.1138657560e+00] - [Pre-RHS processing (stage 2 of 5) at t = 9.78e-03 (tn = 1.03e-04 , tcur = 9.78e-03), ||y||_2 = 2.1138657560e+00] - [Post-stage processing (stage 3 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1111621624e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1111621624e+00] - [Post-stage processing (stage 4 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1089486495e+00] - [Pre-RHS processing (stage 4 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1089486495e+00] - [Post-step failure processing at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02),||y||_2 = 2.1089486495e+00] + [Post-stage processing (stage 2 of 5) at t = 9.78e-03 (tn = 1.03e-04 , tcur = 9.78e-03), ||y||_2 = 2.1138657565e+00] + [Pre-RHS processing (stage 2 of 5) at t = 9.78e-03 (tn = 1.03e-04 , tcur = 9.78e-03), ||y||_2 = 2.1138657565e+00] + [Post-stage processing (stage 3 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1111621630e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1111621630e+00] + [Post-stage processing (stage 4 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1089486502e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02), ||y||_2 = 2.1089486502e+00] + [Post-step failure processing at t = 1.62e-02 (tn = 1.03e-04 , tcur = 1.62e-02),||y||_2 = 2.1089486502e+00] [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] [Post-stage processing (stage 1 of 5) at t = 6.49e-03 (tn = 1.03e-04 , tcur = 6.49e-03), ||y||_2 = 2.1212577772e+00] [Pre-RHS processing (stage 1 of 5) at t = 6.49e-03 (tn = 1.03e-04 , tcur = 6.49e-03), ||y||_2 = 2.1212577772e+00] @@ -36,7 +36,7 @@ Start ERKStep StageInfo test [Post-stage processing (stage 4 of 5) at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02), ||y||_2 = 2.1092106860e+00] [Pre-RHS processing (stage 4 of 5) at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02), ||y||_2 = 2.1092106860e+00] [Post-step processing at t = 1.61e-02 (tn = 1.03e-04 , tcur = 1.61e-02),||y||_2 = 2.1092106860e+00] - 1.6063645342e-02 1.2247184913e+00 1.7172170321e+00 4.4212199679e-08 2.9106373090e-08 + 1.6063645340e-02 1.2247184913e+00 1.7172170321e+00 4.4212199679e-08 2.9106373090e-08 [Pre-step processing at t = 1.61e-02 (tn = 1.61e-02 , tcur = 1.61e-02),||y||_2 = 2.1092106860e+00] [Post-stage processing (stage 1 of 5) at t = 2.24e-02 (tn = 1.61e-02 , tcur = 2.24e-02), ||y||_2 = 2.0996520676e+00] [Pre-RHS processing (stage 1 of 5) at t = 2.24e-02 (tn = 1.61e-02 , tcur = 2.24e-02), ||y||_2 = 2.0996520676e+00] @@ -44,12 +44,12 @@ Start ERKStep StageInfo test [Pre-RHS processing (stage 2 of 5) at t = 2.56e-02 (tn = 1.61e-02 , tcur = 2.56e-02), ||y||_2 = 2.0880076268e+00] [Post-stage processing (stage 3 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0760211062e+00] [Pre-RHS processing (stage 3 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0760211062e+00] - [Post-stage processing (stage 4 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0740200714e+00] - [Pre-RHS processing (stage 4 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0740200714e+00] - [Post-step processing at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02),||y||_2 = 2.0740200714e+00] - 3.2023388183e-02 1.2246401240e+00 1.6738625462e+00 8.7464898657e-08 1.4947668547e-07 + [Post-stage processing (stage 4 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0740200715e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02), ||y||_2 = 2.0740200715e+00] + [Post-step processing at t = 3.20e-02 (tn = 1.61e-02 , tcur = 3.20e-02),||y||_2 = 2.0740200715e+00] + 3.2023388180e-02 1.2246401240e+00 1.6738625462e+00 8.7464898657e-08 1.4947668547e-07 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.032023388183152 +Current time = 0.0320233881803733 Steps = 3 Step attempts = 4 Stability limited steps = 0 @@ -58,7 +58,7 @@ Error test fails = 1 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0159597428408395 -Current step size = 0.0166588795525631 +Last step size = 0.0159597428408288 +Current step size = 0.0166588795523219 RHS fn evals = 19 End ERKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out index db25a45643..de95754b54 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_0.out @@ -11,19 +11,19 @@ Using RKC method [Pre-RHS processing (stage 1 of 2) at t = 1.47e-12 (tn = 0.00e+00 , tcur = 1.47e-12), ||y||_2 = 1.4693648727e-12] [Pre-RHS processing (stage 2 of 2) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] - 6.1035156250e-12 6.1035156250e-12 2.5041600575e-26 + 6.1035156250e-12 6.1035156250e-12 1.2116903504e-26 [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] [Post-stage processing (stage 0 of 2) at t = 1.47e-08 (tn = 6.10e-12 , tcur = 1.47e-08), ||y||_2 = 1.4699752242e-08] [Pre-RHS processing (stage 1 of 2) at t = 1.47e-08 (tn = 6.10e-12 , tcur = 1.47e-08), ||y||_2 = 1.4699752242e-08] [Pre-RHS processing (stage 2 of 2) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] - 6.1041259766e-08 6.1041259766e-08 1.8528845721e-22 + 6.1041259766e-08 6.1041259766e-08 5.2939559203e-22 [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] [Post-stage processing (stage 0 of 2) at t = 3.55e-07 (tn = 6.10e-08 , tcur = 3.55e-07), ||y||_2 = 3.5491423430e-07] [Pre-RHS processing (stage 1 of 2) at t = 3.55e-07 (tn = 6.10e-08 , tcur = 3.55e-07), ||y||_2 = 3.5491423430e-07] [Pre-RHS processing (stage 2 of 2) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] - 1.2817443848e-06 1.2817443848e-06 3.8222361745e-19 + 1.2817443848e-06 1.2817443848e-06 3.8518823276e-19 --------------------------------------------------------------------- Current time = 1.28174438476563e-06 Steps = 3 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out index 9b8549e6b9..9479df8ba7 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out @@ -44,7 +44,7 @@ Using SSP(s,3) method [Post-stage processing (stage 7 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] [Pre-RHS processing (stage 8 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] - 6.1041259766e-08 6.1041259766e-08 1.3234889801e-23 + 6.1041259766e-08 6.1041259766e-08 0.0000000000e+00 [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] [Pre-RHS processing (stage 0 of 9) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] [Post-stage processing (stage 0 of 9) at t = 2.64e-07 (tn = 6.10e-08 , tcur = 2.64e-07), ||y||_2 = 2.6449178060e-07] diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out index 711b393e9d..e802bfd349 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_4.out @@ -24,7 +24,7 @@ Using SSP(4,3) method [Post-stage processing (stage 2 of 4) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] [Pre-RHS processing (stage 3 of 4) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] - 6.1041259766e-08 6.1041259766e-08 1.3234889801e-23 + 6.1041259766e-08 6.1041259766e-08 0.0000000000e+00 [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] [Pre-RHS processing (stage 0 of 4) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] [Post-stage processing (stage 0 of 4) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] @@ -34,7 +34,7 @@ Using SSP(4,3) method [Post-stage processing (stage 2 of 4) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] [Pre-RHS processing (stage 3 of 4) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] - 1.2817443848e-06 1.2817443848e-06 0.0000000000e+00 + 1.2817443848e-06 1.2817443848e-06 2.1175823681e-22 --------------------------------------------------------------------- Current time = 1.28174438476563e-06 Steps = 3 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out index f5f575c0a7..7239080362 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_5.out @@ -27,7 +27,7 @@ Using SSP(10,4) method [Post-stage processing (stage 8 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] [Pre-RHS processing (stage 9 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] - 6.1035156250e-12 6.1035156250e-12 2.4233807008e-27 + 6.1035156250e-12 6.1035156250e-12 8.0779356695e-28 [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] [Pre-RHS processing (stage 0 of 10) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] [Post-stage processing (stage 0 of 10) at t = 1.02e-08 (tn = 6.10e-12 , tcur = 1.02e-08), ||y||_2 = 1.0178629557e-08] @@ -73,7 +73,7 @@ Using SSP(10,4) method [Post-stage processing (stage 8 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] [Pre-RHS processing (stage 9 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] - 1.2817443848e-06 1.2817443848e-06 6.3527471044e-22 + 1.2817443848e-06 1.2817443848e-06 8.4703294725e-22 --------------------------------------------------------------------- Current time = 1.28174438476563e-06 Steps = 3 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out index f6b394a890..d9e0a94bac 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_0.out @@ -3,54 +3,46 @@ Using Ex-MRI-GARK method t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 4) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0702389129e+00] - [Pre-RHS processing (stage 1 of 4) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0702389129e+00] - [Post-stage processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323793744e+00] - [Pre-RHS processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323793744e+00] - [Post-stage processing (stage 3 of 4) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553792942e+00] - [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553792942e+00] - [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 4) at t = 1.79e-02 (tn = 0.00e+00 , tcur = 1.79e-02), ||y||_2 = 2.1062747196e+00] - [Pre-RHS processing (stage 1 of 4) at t = 1.79e-02 (tn = 0.00e+00 , tcur = 1.79e-02), ||y||_2 = 2.1062747196e+00] - [Post-stage processing (stage 2 of 4) at t = 3.59e-02 (tn = 0.00e+00 , tcur = 3.59e-02), ||y||_2 = 2.0623617667e+00] - [Pre-RHS processing (stage 2 of 4) at t = 3.59e-02 (tn = 0.00e+00 , tcur = 3.59e-02), ||y||_2 = 2.0623617667e+00] - [Post-stage processing (stage 3 of 4) at t = 5.38e-02 (tn = 0.00e+00 , tcur = 5.38e-02), ||y||_2 = 1.9935724472e+00] - [Post-step processing at t = 5.38e-02 (tn = 0.00e+00 , tcur = 5.38e-02),||y||_2 = 1.9935724472e+00] - 5.3788411835e-02 1.2244498085e+00 1.5732303610e+00 1.8680695546e-07 8.2659525269e-07 - [Pre-step processing at t = 5.38e-02 (tn = 5.38e-02 , tcur = 5.38e-02),||y||_2 = 1.9935724472e+00] - [Pre-RHS processing (stage 0 of 4) at t = 5.38e-02 (tn = 5.38e-02 , tcur = 5.38e-02), ||y||_2 = 1.9935724472e+00] - [Post-stage processing (stage 1 of 4) at t = 7.17e-02 (tn = 5.38e-02 , tcur = 7.17e-02), ||y||_2 = 1.9065588348e+00] - [Pre-RHS processing (stage 1 of 4) at t = 7.17e-02 (tn = 5.38e-02 , tcur = 7.17e-02), ||y||_2 = 1.9065588348e+00] - [Post-stage processing (stage 2 of 4) at t = 8.96e-02 (tn = 5.38e-02 , tcur = 8.96e-02), ||y||_2 = 1.8105164121e+00] - [Pre-RHS processing (stage 2 of 4) at t = 8.96e-02 (tn = 5.38e-02 , tcur = 8.96e-02), ||y||_2 = 1.8105164121e+00] - [Post-stage processing (stage 3 of 4) at t = 1.08e-01 (tn = 5.38e-02 , tcur = 1.08e-01), ||y||_2 = 1.7172269130e+00] - [Post-step processing at t = 1.08e-01 (tn = 5.38e-02 , tcur = 1.08e-01),||y||_2 = 1.7172269130e+00] - 1.0755261194e-01 1.2235651438e+00 1.2048886296e+00 3.1283219726e-07 2.2452351258e-06 - [Pre-step processing at t = 1.08e-01 (tn = 1.08e-01 , tcur = 1.08e-01),||y||_2 = 1.7172269130e+00] - [Pre-RHS processing (stage 0 of 4) at t = 1.08e-01 (tn = 1.08e-01 , tcur = 1.08e-01), ||y||_2 = 1.7172269130e+00] - [Post-stage processing (stage 1 of 4) at t = 1.26e-01 (tn = 1.08e-01 , tcur = 1.26e-01), ||y||_2 = 1.6395059572e+00] - [Pre-RHS processing (stage 1 of 4) at t = 1.26e-01 (tn = 1.08e-01 , tcur = 1.26e-01), ||y||_2 = 1.6395059572e+00] - [Post-stage processing (stage 2 of 4) at t = 1.44e-01 (tn = 1.08e-01 , tcur = 1.44e-01), ||y||_2 = 1.5908512726e+00] - [Pre-RHS processing (stage 2 of 4) at t = 1.44e-01 (tn = 1.08e-01 , tcur = 1.44e-01), ||y||_2 = 1.5908512726e+00] - [Post-stage processing (stage 3 of 4) at t = 1.62e-01 (tn = 1.08e-01 , tcur = 1.62e-01), ||y||_2 = 1.5804053561e+00] - [Post-step processing at t = 1.62e-01 (tn = 1.08e-01 , tcur = 1.62e-01),||y||_2 = 1.5804053561e+00] - 1.6166698095e-01 1.2220806635e+00 1.0020977704e+00 4.0194574003e-07 2.9238596286e-06 + [Post-stage processing (stage 1 of 4) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213151057e+00] + [Pre-RHS processing (stage 1 of 4) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213151057e+00] + [Post-stage processing (stage 2 of 4) at t = 7.50e-04 (tn = 0.00e+00 , tcur = 7.50e-04), ||y||_2 = 2.1212937905e+00] + [Pre-RHS processing (stage 2 of 4) at t = 7.50e-04 (tn = 0.00e+00 , tcur = 7.50e-04), ||y||_2 = 2.1212937905e+00] + [Post-stage processing (stage 3 of 4) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.2426505097e-14 1.9984014443e-15 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-stage processing (stage 1 of 4) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364434e+00] + [Pre-RHS processing (stage 1 of 4) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364434e+00] + [Post-stage processing (stage 2 of 4) at t = 1.75e-03 (tn = 1.00e-03 , tcur = 1.75e-03), ||y||_2 = 2.1211758016e+00] + [Pre-RHS processing (stage 2 of 4) at t = 1.75e-03 (tn = 1.00e-03 , tcur = 1.75e-03), ||y||_2 = 2.1211758016e+00] + [Post-stage processing (stage 3 of 4) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 4.4853010195e-14 3.7747582837e-15 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 0 of 4) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-stage processing (stage 1 of 4) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210634067e+00] + [Pre-RHS processing (stage 1 of 4) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210634067e+00] + [Post-stage processing (stage 2 of 4) at t = 2.75e-03 (tn = 2.00e-03 , tcur = 2.75e-03), ||y||_2 = 2.1209634544e+00] + [Pre-RHS processing (stage 2 of 4) at t = 2.75e-03 (tn = 2.00e-03 , tcur = 2.75e-03), ||y||_2 = 2.1209634544e+00] + [Post-stage processing (stage 3 of 4) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] + 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 6.7279515292e-14 5.3290705182e-15 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.161666980946477 +Current time = 0.003 Steps = 3 -Step attempts = 4 +Step attempts = 3 Stability limited steps = 0 -Accuracy limited steps = 4 -Error test fails = 1 +Accuracy limited steps = 0 +Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 -Initial step size = 0.1 -Last step size = 0.0541143690074931 -Current step size = 0.0540029786725355 -Explicit slow RHS fn evals = 12 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +Explicit slow RHS fn evals = 9 Implicit slow RHS fn evals = 0 Inner stepper failures = 0 NLS iters = 0 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out index f356c64451..314dad11d9 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out @@ -5,85 +5,70 @@ Using GMRES iterative linear solver t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 8) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 8) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 8) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0702389129e+00] - [Post-stage processing (stage 2 of 8) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0700721651e+00] - [Pre-RHS processing (stage 2 of 8) at t = 3.33e-02 (tn = 0.00e+00 , tcur = 3.33e-02), ||y||_2 = 2.0700721651e+00] - [Post-stage processing (stage 3 of 8) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9322328933e+00] - [Post-stage processing (stage 4 of 8) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9321435064e+00] - [Pre-RHS processing (stage 4 of 8) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9321435064e+00] - [Post-stage processing (stage 5 of 8) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7559990525e+00] - [Post-stage processing (stage 6 of 8) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553790892e+00] - [Pre-RHS processing (stage 6 of 8) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553790892e+00] - [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553790892e+00] - [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 8) at t = 7.64e-03 (tn = 0.00e+00 , tcur = 7.64e-03), ||y||_2 = 2.1185733610e+00] - [Post-stage processing (stage 2 of 8) at t = 7.64e-03 (tn = 0.00e+00 , tcur = 7.64e-03), ||y||_2 = 2.1185644667e+00] - [Pre-RHS processing (stage 2 of 8) at t = 7.64e-03 (tn = 0.00e+00 , tcur = 7.64e-03), ||y||_2 = 2.1185644667e+00] - [Post-stage processing (stage 3 of 8) at t = 1.53e-02 (tn = 0.00e+00 , tcur = 1.53e-02), ||y||_2 = 2.1103531773e+00] - [Post-stage processing (stage 4 of 8) at t = 1.53e-02 (tn = 0.00e+00 , tcur = 1.53e-02), ||y||_2 = 2.1103486206e+00] - [Pre-RHS processing (stage 4 of 8) at t = 1.53e-02 (tn = 0.00e+00 , tcur = 1.53e-02), ||y||_2 = 2.1103486206e+00] - [Post-stage processing (stage 5 of 8) at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02), ||y||_2 = 2.0968505281e+00] - [Post-stage processing (stage 6 of 8) at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02), ||y||_2 = 2.0968232402e+00] - [Pre-RHS processing (stage 6 of 8) at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02), ||y||_2 = 2.0968232402e+00] - [Post-step processing at t = 2.29e-02 (tn = 0.00e+00 , tcur = 2.29e-02),||y||_2 = 2.0968232402e+00] - 2.2915786214e-02 1.2246912820e+00 1.7019985207e+00 5.5793780707e-09 2.1530106586e-09 - [Pre-step processing at t = 2.29e-02 (tn = 2.29e-02 , tcur = 2.29e-02),||y||_2 = 2.0968232402e+00] - [Pre-RHS processing (stage 0 of 8) at t = 2.29e-02 (tn = 2.29e-02 , tcur = 2.29e-02), ||y||_2 = 2.0968232402e+00] - [Post-stage processing (stage 1 of 8) at t = 3.03e-02 (tn = 2.29e-02 , tcur = 3.03e-02), ||y||_2 = 2.0788798708e+00] - [Post-stage processing (stage 2 of 8) at t = 3.03e-02 (tn = 2.29e-02 , tcur = 3.03e-02), ||y||_2 = 2.0788714037e+00] - [Pre-RHS processing (stage 2 of 8) at t = 3.03e-02 (tn = 2.29e-02 , tcur = 3.03e-02), ||y||_2 = 2.0788714037e+00] - [Post-stage processing (stage 3 of 8) at t = 3.77e-02 (tn = 2.29e-02 , tcur = 3.77e-02), ||y||_2 = 2.0564153145e+00] - [Post-stage processing (stage 4 of 8) at t = 3.77e-02 (tn = 2.29e-02 , tcur = 3.77e-02), ||y||_2 = 2.0564109461e+00] - [Pre-RHS processing (stage 4 of 8) at t = 3.77e-02 (tn = 2.29e-02 , tcur = 3.77e-02), ||y||_2 = 2.0564109461e+00] - [Post-stage processing (stage 5 of 8) at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298368062e+00] - [Post-stage processing (stage 6 of 8) at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298104890e+00] - [Pre-RHS processing (stage 6 of 8) at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298104890e+00] - [Post-step processing at t = 4.51e-02 (tn = 2.29e-02 , tcur = 4.51e-02),||y||_2 = 2.0298104890e+00] - 4.5061997773e-02 1.2245376535e+00 1.6188385208e+00 1.0139641349e-08 1.3537759358e-08 - [Pre-step processing at t = 4.51e-02 (tn = 4.51e-02 , tcur = 4.51e-02),||y||_2 = 2.0298104890e+00] - [Pre-RHS processing (stage 0 of 8) at t = 4.51e-02 (tn = 4.51e-02 , tcur = 4.51e-02), ||y||_2 = 2.0298104890e+00] - [Post-stage processing (stage 1 of 8) at t = 5.25e-02 (tn = 4.51e-02 , tcur = 5.25e-02), ||y||_2 = 1.9994285829e+00] - [Post-stage processing (stage 2 of 8) at t = 5.25e-02 (tn = 4.51e-02 , tcur = 5.25e-02), ||y||_2 = 1.9994197633e+00] - [Pre-RHS processing (stage 2 of 8) at t = 5.25e-02 (tn = 4.51e-02 , tcur = 5.25e-02), ||y||_2 = 1.9994197633e+00] - [Post-stage processing (stage 3 of 8) at t = 5.98e-02 (tn = 4.51e-02 , tcur = 5.98e-02), ||y||_2 = 1.9657929007e+00] - [Post-stage processing (stage 4 of 8) at t = 5.98e-02 (tn = 4.51e-02 , tcur = 5.98e-02), ||y||_2 = 1.9657883234e+00] - [Pre-RHS processing (stage 4 of 8) at t = 5.98e-02 (tn = 4.51e-02 , tcur = 5.98e-02), ||y||_2 = 1.9657883234e+00] - [Post-stage processing (stage 5 of 8) at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02), ||y||_2 = 1.9295492984e+00] - [Post-stage processing (stage 6 of 8) at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02), ||y||_2 = 1.9295215670e+00] - [Pre-RHS processing (stage 6 of 8) at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02), ||y||_2 = 1.9295215670e+00] - [Post-step processing at t = 6.72e-02 (tn = 4.51e-02 , tcur = 6.72e-02),||y||_2 = 1.9295215670e+00] - 6.7234572226e-02 1.2242836022e+00 1.4913695514e+00 1.4287638628e-08 4.0154499503e-08 + [Post-stage processing (stage 1 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213151057e+00] + [Post-stage processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213150886e+00] + [Pre-RHS processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213150886e+00] + [Post-stage processing (stage 3 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993503e+00] + [Post-stage processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993415e+00] + [Pre-RHS processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993415e+00] + [Post-stage processing (stage 5 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731966e+00] + [Post-stage processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.6090241079e-13 1.1546319456e-14 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 0 of 8) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-stage processing (stage 1 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364434e+00] + [Post-stage processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364263e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364263e+00] + [Post-stage processing (stage 3 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892263e+00] + [Post-stage processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892175e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892175e+00] + [Post-stage processing (stage 5 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211316142e+00] + [Post-stage processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 2.9067859231e-12 2.3980817332e-14 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 0 of 8) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-stage processing (stage 1 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210634067e+00] + [Post-stage processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210633896e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210633896e+00] + [Post-stage processing (stage 3 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847405e+00] + [Post-stage processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847317e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847317e+00] + [Post-stage processing (stage 5 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956853e+00] + [Post-stage processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] + 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 1.0538681039e-11 3.7747582837e-14 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0672345722257155 +Current time = 0.003 Steps = 3 -Step attempts = 4 +Step attempts = 3 Stability limited steps = 0 -Accuracy limited steps = 4 -Error test fails = 1 +Accuracy limited steps = 0 +Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 -Initial step size = 0.1 -Last step size = 0.022172574452528 -Current step size = 0.0222074352130945 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 Explicit slow RHS fn evals = 0 -Implicit slow RHS fn evals = 50 +Implicit slow RHS fn evals = 27 Inner stepper failures = 0 -NLS iters = 34 +NLS iters = 18 NLS fails = 0 -NLS iters per step = 11.3333333333333 +NLS iters per step = 6 LS setups = 0 Jac fn evals = 0 -LS RHS fn evals = 38 +LS RHS fn evals = 18 Prec setup evals = 0 Prec solves = 0 -LS iters = 38 +LS iters = 18 LS fails = 0 Jac-times setups = 0 -Jac-times evals = 38 -LS iters per NLS iter = 1.11764705882353 +Jac-times evals = 18 +LS iters per NLS iter = 1 Jac evals per NLS iter = 0 Prec evals per NLS iter = 0 End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out index a997566f4d..7a2f228695 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out @@ -5,81 +5,76 @@ Using GMRES iterative linear solver t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] - [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] - [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] - [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] - [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] - [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553780461e+00] - [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553690226e+00] - [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553780461e+00] - [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] - [Pre-RHS processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] - [Post-stage processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] - [Pre-RHS processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] - [Post-stage processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] - [Pre-RHS processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] - [Post-stage processing (stage 4 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] - [Post-stage processing (stage 5 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220301555e+00] - [Post-step processing at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] - 4.7038717251e-02 1.2245191379e+00 1.6090871497e+00 7.2407223550e-08 3.3077079586e-07 - [Pre-step processing at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] - [Pre-RHS processing (stage 0 of 5) at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] - [Post-stage processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] - [Pre-RHS processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] - [Post-stage processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] - [Pre-RHS processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] - [Post-stage processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] - [Post-stage processing (stage 4 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] - [Post-stage processing (stage 5 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866191431e+00] - [Post-step processing at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] - 9.4077434503e-02 1.2238419876e+00 1.3016221719e+00 8.9882908894e-08 1.7942663662e-06 - [Pre-step processing at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] - [Pre-RHS processing (stage 0 of 5) at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] - [Post-stage processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] - [Pre-RHS processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] - [Post-stage processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] - [Pre-RHS processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] - [Post-stage processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] - [Post-stage processing (stage 4 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906968039e+00] - [Post-stage processing (stage 5 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906958150e+00] - [Post-step processing at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01),||y||_2 = 1.5906968039e+00] - 1.4372138650e-01 1.2226386256e+00 1.0175810107e+00 1.1664470589e-07 2.7813679992e-06 + [Pre-RHS processing (stage 0 of 8) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Post-stage processing (stage 1 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213113879e+00] + [Post-stage processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213113879e+00] + [Pre-RHS processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213113879e+00] + [Post-stage processing (stage 3 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1212960228e+00] + [Post-stage processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1212960259e+00] + [Pre-RHS processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1212960259e+00] + [Post-stage processing (stage 5 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731087e+00] + [Post-stage processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731290e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731290e+00] + [Post-stage processing (stage 7 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.6378899065e-13 8.2156503822e-15 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 0 of 8) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-stage processing (stage 1 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212230476e+00] + [Post-stage processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212230476e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212230476e+00] + [Post-stage processing (stage 3 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1211810603e+00] + [Post-stage processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1211810634e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1211810634e+00] + [Post-stage processing (stage 5 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315263e+00] + [Post-stage processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315465e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315465e+00] + [Post-stage processing (stage 7 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 3.1354918661e-12 1.3988810110e-14 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 0 of 8) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-stage processing (stage 1 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1210403366e+00] + [Post-stage processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1210403366e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1210403366e+00] + [Post-stage processing (stage 3 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1209717381e+00] + [Post-stage processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1209717412e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1209717412e+00] + [Post-stage processing (stage 5 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208955974e+00] + [Post-stage processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956177e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956177e+00] + [Post-stage processing (stage 7 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] + 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 1.1467271577e-11 1.8207657604e-14 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.143721386500587 +Current time = 0.003 Steps = 3 -Step attempts = 4 +Step attempts = 3 Stability limited steps = 0 -Accuracy limited steps = 4 -Error test fails = 1 +Accuracy limited steps = 0 +Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 -Initial step size = 0.1 -Last step size = 0.0496439519979517 -Current step size = 0.0499492708252477 -Explicit slow RHS fn evals = 16 -Implicit slow RHS fn evals = 64 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +Explicit slow RHS fn evals = 12 +Implicit slow RHS fn evals = 30 Inner stepper failures = 0 -NLS iters = 48 +NLS iters = 18 NLS fails = 0 -NLS iters per step = 16 +NLS iters per step = 6 LS setups = 0 Jac fn evals = 0 -LS RHS fn evals = 58 +LS RHS fn evals = 18 Prec setup evals = 0 Prec solves = 0 -LS iters = 58 +LS iters = 18 LS fails = 0 Jac-times setups = 0 -Jac-times evals = 58 -LS iters per NLS iter = 1.20833333333333 +Jac-times evals = 18 +LS iters per NLS iter = 1 Jac evals per NLS iter = 0 Prec evals per NLS iter = 0 End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out index f8cb9d6025..4ddd50175a 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_3.out @@ -3,66 +3,52 @@ Using Ex-MRI-SR method t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277317531e+00] - [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277317531e+00] - [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8631157730e+00] - [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8631157730e+00] - [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6894354844e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6894354844e+00] - [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553776312e+00] - [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553905174e+00] - [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553776312e+00] - [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 2.72e-02 (tn = 0.00e+00 , tcur = 2.72e-02), ||y||_2 = 2.0871216421e+00] - [Pre-RHS processing (stage 1 of 5) at t = 2.72e-02 (tn = 0.00e+00 , tcur = 2.72e-02), ||y||_2 = 2.0871216421e+00] - [Post-stage processing (stage 2 of 5) at t = 3.21e-02 (tn = 0.00e+00 , tcur = 3.21e-02), ||y||_2 = 2.0738241098e+00] - [Pre-RHS processing (stage 2 of 5) at t = 3.21e-02 (tn = 0.00e+00 , tcur = 3.21e-02), ||y||_2 = 2.0738241098e+00] - [Post-stage processing (stage 3 of 5) at t = 4.55e-02 (tn = 0.00e+00 , tcur = 4.55e-02), ||y||_2 = 2.0280485196e+00] - [Pre-RHS processing (stage 3 of 5) at t = 4.55e-02 (tn = 0.00e+00 , tcur = 4.55e-02), ||y||_2 = 2.0280485196e+00] - [Post-stage processing (stage 4 of 5) at t = 4.01e-02 (tn = 0.00e+00 , tcur = 4.01e-02), ||y||_2 = 2.0479718989e+00] - [Post-stage processing (stage 5 of 5) at t = 4.01e-02 (tn = 0.00e+00 , tcur = 4.01e-02), ||y||_2 = 2.0479726350e+00] - [Post-step processing at t = 4.01e-02 (tn = 0.00e+00 , tcur = 4.01e-02),||y||_2 = 2.0479718989e+00] - 4.0147173279e-02 1.2245803971e+00 1.6415211694e+00 1.7833581722e-08 1.3150238765e-07 - [Pre-step processing at t = 4.01e-02 (tn = 4.01e-02 , tcur = 4.01e-02),||y||_2 = 2.0479718989e+00] - [Pre-RHS processing (stage 0 of 5) at t = 4.01e-02 (tn = 4.01e-02 , tcur = 4.01e-02), ||y||_2 = 2.0479718989e+00] - [Post-stage processing (stage 1 of 5) at t = 6.73e-02 (tn = 4.01e-02 , tcur = 6.73e-02), ||y||_2 = 1.9292098715e+00] - [Pre-RHS processing (stage 1 of 5) at t = 6.73e-02 (tn = 4.01e-02 , tcur = 6.73e-02), ||y||_2 = 1.9292098715e+00] - [Post-stage processing (stage 2 of 5) at t = 7.23e-02 (tn = 4.01e-02 , tcur = 7.23e-02), ||y||_2 = 1.9037272078e+00] - [Pre-RHS processing (stage 2 of 5) at t = 7.23e-02 (tn = 4.01e-02 , tcur = 7.23e-02), ||y||_2 = 1.9037272078e+00] - [Post-stage processing (stage 3 of 5) at t = 8.56e-02 (tn = 4.01e-02 , tcur = 8.56e-02), ||y||_2 = 1.8320067913e+00] - [Pre-RHS processing (stage 3 of 5) at t = 8.56e-02 (tn = 4.01e-02 , tcur = 8.56e-02), ||y||_2 = 1.8320067913e+00] - [Post-stage processing (stage 4 of 5) at t = 8.03e-02 (tn = 4.01e-02 , tcur = 8.03e-02), ||y||_2 = 1.8609952333e+00] - [Post-stage processing (stage 5 of 5) at t = 8.03e-02 (tn = 4.01e-02 , tcur = 8.03e-02), ||y||_2 = 1.8609960500e+00] - [Post-step processing at t = 8.03e-02 (tn = 4.01e-02 , tcur = 8.03e-02),||y||_2 = 1.8609952333e+00] - 8.0294346558e-02 1.2240870650e+00 1.4017539426e+00 2.9546360247e-08 8.8498109596e-07 - [Pre-step processing at t = 8.03e-02 (tn = 8.03e-02 , tcur = 8.03e-02),||y||_2 = 1.8609952333e+00] - [Pre-RHS processing (stage 0 of 5) at t = 8.03e-02 (tn = 8.03e-02 , tcur = 8.03e-02), ||y||_2 = 1.8609952333e+00] - [Post-stage processing (stage 1 of 5) at t = 1.07e-01 (tn = 8.03e-02 , tcur = 1.07e-01), ||y||_2 = 1.7176026494e+00] - [Pre-RHS processing (stage 1 of 5) at t = 1.07e-01 (tn = 8.03e-02 , tcur = 1.07e-01), ||y||_2 = 1.7176026494e+00] - [Post-stage processing (stage 2 of 5) at t = 1.12e-01 (tn = 8.03e-02 , tcur = 1.12e-01), ||y||_2 = 1.6940253097e+00] - [Pre-RHS processing (stage 2 of 5) at t = 1.12e-01 (tn = 8.03e-02 , tcur = 1.12e-01), ||y||_2 = 1.6940253097e+00] - [Post-stage processing (stage 3 of 5) at t = 1.26e-01 (tn = 8.03e-02 , tcur = 1.26e-01), ||y||_2 = 1.6384682995e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.26e-01 (tn = 8.03e-02 , tcur = 1.26e-01), ||y||_2 = 1.6384682995e+00] - [Post-stage processing (stage 4 of 5) at t = 1.20e-01 (tn = 8.03e-02 , tcur = 1.20e-01), ||y||_2 = 1.6590260096e+00] - [Post-stage processing (stage 5 of 5) at t = 1.20e-01 (tn = 8.03e-02 , tcur = 1.20e-01), ||y||_2 = 1.6590269385e+00] - [Post-step processing at t = 1.20e-01 (tn = 8.03e-02 , tcur = 1.20e-01),||y||_2 = 1.6590260096e+00] - 1.2049198814e-01 1.2232640221e+00 1.1207106820e+00 2.3916633340e-08 1.4539153401e-06 + [Post-stage processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987717e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987717e+00] + [Post-stage processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901822e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901822e+00] + [Post-stage processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212596852e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212596852e+00] + [Post-stage processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 7.9936057773e-15 1.3744561045e-13 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 0 of 5) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-stage processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211877224e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211877224e+00] + [Post-stage processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211674743e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211674743e+00] + [Post-stage processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055205e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055205e+00] + [Post-stage processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 1.5987211555e-14 2.6245672302e-13 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 0 of 5) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-stage processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209823117e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209823117e+00] + [Post-stage processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209504105e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209504105e+00] + [Post-stage processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570163e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570163e+00] + [Post-stage processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] + 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 2.4202861937e-14 3.7436720390e-13 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.120491988140575 +Current time = 0.003 Steps = 3 -Step attempts = 4 +Step attempts = 3 Stability limited steps = 0 -Accuracy limited steps = 4 -Error test fails = 1 +Accuracy limited steps = 0 +Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 -Initial step size = 0.1 -Last step size = 0.0401976415827198 -Current step size = 0.0402774582255194 -Explicit slow RHS fn evals = 16 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +Explicit slow RHS fn evals = 12 Implicit slow RHS fn evals = 0 Inner stepper failures = 0 NLS iters = 0 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out index f726d25a29..ee18c25fe4 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out @@ -5,81 +5,67 @@ Using GMRES iterative linear solver t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9272516649e+00] - [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9272516649e+00] - [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8622728321e+00] - [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8622728321e+00] - [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6900892751e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6900892751e+00] - [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553777059e+00] - [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553835812e+00] - [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553777059e+00] - [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 3.68e-02 (tn = 0.00e+00 , tcur = 3.68e-02), ||y||_2 = 2.0592361389e+00] - [Pre-RHS processing (stage 1 of 5) at t = 3.68e-02 (tn = 0.00e+00 , tcur = 3.68e-02), ||y||_2 = 2.0592361389e+00] - [Post-stage processing (stage 2 of 5) at t = 4.35e-02 (tn = 0.00e+00 , tcur = 4.35e-02), ||y||_2 = 2.0355544317e+00] - [Pre-RHS processing (stage 2 of 5) at t = 4.35e-02 (tn = 0.00e+00 , tcur = 4.35e-02), ||y||_2 = 2.0355544317e+00] - [Post-stage processing (stage 3 of 5) at t = 6.17e-02 (tn = 0.00e+00 , tcur = 6.17e-02), ||y||_2 = 1.9571096875e+00] - [Pre-RHS processing (stage 3 of 5) at t = 6.17e-02 (tn = 0.00e+00 , tcur = 6.17e-02), ||y||_2 = 1.9571096875e+00] - [Post-stage processing (stage 4 of 5) at t = 5.44e-02 (tn = 0.00e+00 , tcur = 5.44e-02), ||y||_2 = 1.9907845791e+00] - [Post-stage processing (stage 5 of 5) at t = 5.44e-02 (tn = 0.00e+00 , tcur = 5.44e-02), ||y||_2 = 1.9907852935e+00] - [Post-step processing at t = 5.44e-02 (tn = 0.00e+00 , tcur = 5.44e-02),||y||_2 = 1.9907845791e+00] - 5.4416549221e-02 1.2244425898e+00 1.5697017502e+00 9.6643187675e-08 2.9671727586e-07 - [Pre-step processing at t = 5.44e-02 (tn = 5.44e-02 , tcur = 5.44e-02),||y||_2 = 1.9907845791e+00] - [Pre-RHS processing (stage 0 of 5) at t = 5.44e-02 (tn = 5.44e-02 , tcur = 5.44e-02), ||y||_2 = 1.9907845791e+00] - [Post-stage processing (stage 1 of 5) at t = 9.12e-02 (tn = 5.44e-02 , tcur = 9.12e-02), ||y||_2 = 1.8018482507e+00] - [Pre-RHS processing (stage 1 of 5) at t = 9.12e-02 (tn = 5.44e-02 , tcur = 9.12e-02), ||y||_2 = 1.8018482507e+00] - [Post-stage processing (stage 2 of 5) at t = 9.79e-02 (tn = 5.44e-02 , tcur = 9.79e-02), ||y||_2 = 1.7659886342e+00] - [Pre-RHS processing (stage 2 of 5) at t = 9.79e-02 (tn = 5.44e-02 , tcur = 9.79e-02), ||y||_2 = 1.7659886342e+00] - [Post-stage processing (stage 3 of 5) at t = 1.16e-01 (tn = 5.44e-02 , tcur = 1.16e-01), ||y||_2 = 1.6776533917e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.16e-01 (tn = 5.44e-02 , tcur = 1.16e-01), ||y||_2 = 1.6776533917e+00] - [Post-stage processing (stage 4 of 5) at t = 1.09e-01 (tn = 5.44e-02 , tcur = 1.09e-01), ||y||_2 = 1.7110128262e+00] - [Post-stage processing (stage 5 of 5) at t = 1.09e-01 (tn = 5.44e-02 , tcur = 1.09e-01), ||y||_2 = 1.7110136723e+00] - [Post-step processing at t = 1.09e-01 (tn = 5.44e-02 , tcur = 1.09e-01),||y||_2 = 1.7110128262e+00] - 1.0883309844e-01 1.2235363746e+00 1.1960449956e+00 2.0469684348e-07 1.0505289330e-06 - [Pre-step processing at t = 1.09e-01 (tn = 1.09e-01 , tcur = 1.09e-01),||y||_2 = 1.7110128262e+00] - [Pre-RHS processing (stage 0 of 5) at t = 1.09e-01 (tn = 1.09e-01 , tcur = 1.09e-01), ||y||_2 = 1.7110128262e+00] - [Post-stage processing (stage 1 of 5) at t = 1.48e-01 (tn = 1.09e-01 , tcur = 1.48e-01), ||y||_2 = 1.5848610090e+00] - [Pre-RHS processing (stage 1 of 5) at t = 1.48e-01 (tn = 1.09e-01 , tcur = 1.48e-01), ||y||_2 = 1.5848610090e+00] - [Post-stage processing (stage 2 of 5) at t = 1.55e-01 (tn = 1.09e-01 , tcur = 1.55e-01), ||y||_2 = 1.5794413328e+00] - [Pre-RHS processing (stage 2 of 5) at t = 1.55e-01 (tn = 1.09e-01 , tcur = 1.55e-01), ||y||_2 = 1.5794413328e+00] - [Post-stage processing (stage 3 of 5) at t = 1.74e-01 (tn = 1.09e-01 , tcur = 1.74e-01), ||y||_2 = 1.5966533845e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.74e-01 (tn = 1.09e-01 , tcur = 1.74e-01), ||y||_2 = 1.5966533845e+00] - [Post-stage processing (stage 4 of 5) at t = 1.66e-01 (tn = 1.09e-01 , tcur = 1.66e-01), ||y||_2 = 1.5843328694e+00] - [Post-stage processing (stage 5 of 5) at t = 1.66e-01 (tn = 1.09e-01 , tcur = 1.66e-01), ||y||_2 = 1.5843338593e+00] - [Post-step processing at t = 1.66e-01 (tn = 1.09e-01 , tcur = 1.66e-01),||y||_2 = 1.5843328694e+00] - 1.6631602874e-01 1.2219246454e+00 1.0084695345e+00 3.4011255701e-07 1.4555240657e-06 + [Post-stage processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987262e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987262e+00] + [Post-stage processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901049e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901049e+00] + [Post-stage processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212597444e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212597444e+00] + [Post-stage processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.4846791291e-13 1.5143442056e-13 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 0 of 5) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-stage processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211876769e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211876769e+00] + [Post-stage processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211673971e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211673971e+00] + [Post-stage processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055797e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055797e+00] + [Post-stage processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 2.6707525080e-12 2.9021229864e-13 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 0 of 5) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-stage processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209822662e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209822662e+00] + [Post-stage processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209503332e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209503332e+00] + [Post-stage processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570755e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570755e+00] + [Post-stage processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] + 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 9.4586560806e-12 4.1744385726e-13 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.166316028736013 +Current time = 0.003 Steps = 3 -Step attempts = 4 +Step attempts = 3 Stability limited steps = 0 -Accuracy limited steps = 4 -Error test fails = 1 +Accuracy limited steps = 0 +Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 -Initial step size = 0.1 -Last step size = 0.0574829302949148 -Current step size = 0.0577668918865172 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 Explicit slow RHS fn evals = 0 -Implicit slow RHS fn evals = 64 +Implicit slow RHS fn evals = 36 Inner stepper failures = 0 -NLS iters = 48 +NLS iters = 24 NLS fails = 0 -NLS iters per step = 16 +NLS iters per step = 8 LS setups = 0 Jac fn evals = 0 -LS RHS fn evals = 59 +LS RHS fn evals = 24 Prec setup evals = 0 Prec solves = 0 -LS iters = 59 +LS iters = 24 LS fails = 0 Jac-times setups = 0 -Jac-times evals = 59 -LS iters per NLS iter = 1.22916666666667 +Jac-times evals = 24 +LS iters per NLS iter = 1 Jac evals per NLS iter = 0 Prec evals per NLS iter = 0 End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out index 17f7ab21c4..0d47ad3d70 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out @@ -5,81 +5,67 @@ Using GMRES iterative linear solver t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] - [Pre-RHS processing (stage 1 of 5) at t = 6.76e-02 (tn = 0.00e+00 , tcur = 6.76e-02), ||y||_2 = 1.9277014052e+00] - [Post-stage processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] - [Pre-RHS processing (stage 2 of 5) at t = 8.00e-02 (tn = 0.00e+00 , tcur = 8.00e-02), ||y||_2 = 1.8630468331e+00] - [Post-stage processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.13e-01 (tn = 0.00e+00 , tcur = 1.13e-01), ||y||_2 = 1.6895511338e+00] - [Post-stage processing (stage 4 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553780461e+00] - [Post-stage processing (stage 5 of 5) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553690226e+00] - [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553780461e+00] - [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] - [Pre-RHS processing (stage 1 of 5) at t = 3.18e-02 (tn = 0.00e+00 , tcur = 3.18e-02), ||y||_2 = 2.0746627548e+00] - [Post-stage processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] - [Pre-RHS processing (stage 2 of 5) at t = 3.76e-02 (tn = 0.00e+00 , tcur = 3.76e-02), ||y||_2 = 2.0566853389e+00] - [Post-stage processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] - [Pre-RHS processing (stage 3 of 5) at t = 5.33e-02 (tn = 0.00e+00 , tcur = 5.33e-02), ||y||_2 = 1.9956059674e+00] - [Post-stage processing (stage 4 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] - [Post-stage processing (stage 5 of 5) at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02), ||y||_2 = 2.0220301555e+00] - [Post-step processing at t = 4.70e-02 (tn = 0.00e+00 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] - 4.7038717251e-02 1.2245191379e+00 1.6090871497e+00 7.2407223550e-08 3.3077079586e-07 - [Pre-step processing at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02),||y||_2 = 2.0220308045e+00] - [Pre-RHS processing (stage 0 of 5) at t = 4.70e-02 (tn = 4.70e-02 , tcur = 4.70e-02), ||y||_2 = 2.0220308045e+00] - [Post-stage processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] - [Pre-RHS processing (stage 1 of 5) at t = 7.89e-02 (tn = 4.70e-02 , tcur = 7.89e-02), ||y||_2 = 1.8687693366e+00] - [Post-stage processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] - [Pre-RHS processing (stage 2 of 5) at t = 8.47e-02 (tn = 4.70e-02 , tcur = 8.47e-02), ||y||_2 = 1.8374772654e+00] - [Post-stage processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.00e-01 (tn = 4.70e-02 , tcur = 1.00e-01), ||y||_2 = 1.7534837182e+00] - [Post-stage processing (stage 4 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] - [Post-stage processing (stage 5 of 5) at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866191431e+00] - [Post-step processing at t = 9.41e-02 (tn = 4.70e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] - 9.4077434503e-02 1.2238419876e+00 1.3016221719e+00 8.9882908894e-08 1.7942663662e-06 - [Pre-step processing at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02),||y||_2 = 1.7866195702e+00] - [Pre-RHS processing (stage 0 of 5) at t = 9.41e-02 (tn = 9.41e-02 , tcur = 9.41e-02), ||y||_2 = 1.7866195702e+00] - [Post-stage processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] - [Pre-RHS processing (stage 1 of 5) at t = 1.28e-01 (tn = 9.41e-02 , tcur = 1.28e-01), ||y||_2 = 1.6322862176e+00] - [Post-stage processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] - [Pre-RHS processing (stage 2 of 5) at t = 1.34e-01 (tn = 9.41e-02 , tcur = 1.34e-01), ||y||_2 = 1.6132224524e+00] - [Post-stage processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] - [Pre-RHS processing (stage 3 of 5) at t = 1.50e-01 (tn = 9.41e-02 , tcur = 1.50e-01), ||y||_2 = 1.5821211389e+00] - [Post-stage processing (stage 4 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906968039e+00] - [Post-stage processing (stage 5 of 5) at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01), ||y||_2 = 1.5906958150e+00] - [Post-step processing at t = 1.44e-01 (tn = 9.41e-02 , tcur = 1.44e-01),||y||_2 = 1.5906968039e+00] - 1.4372138650e-01 1.2226386256e+00 1.0175810107e+00 1.1664470589e-07 2.7813679992e-06 + [Post-stage processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987717e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987717e+00] + [Post-stage processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901821e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901821e+00] + [Post-stage processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212596854e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212596854e+00] + [Post-stage processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.8288482667e-13 1.3744561045e-13 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 0 of 5) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-stage processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211877224e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211877224e+00] + [Post-stage processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211674743e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211674743e+00] + [Post-stage processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055207e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055207e+00] + [Post-stage processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 2.7395863356e-12 2.6245672302e-13 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 0 of 5) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-stage processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209823117e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209823117e+00] + [Post-stage processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209504105e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209504105e+00] + [Post-stage processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570165e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570165e+00] + [Post-stage processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] + 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 9.5614627327e-12 3.7592151614e-13 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.143721386500587 +Current time = 0.003 Steps = 3 -Step attempts = 4 +Step attempts = 3 Stability limited steps = 0 -Accuracy limited steps = 4 -Error test fails = 1 +Accuracy limited steps = 0 +Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 -Initial step size = 0.1 -Last step size = 0.0496439519979517 -Current step size = 0.0499492708252477 -Explicit slow RHS fn evals = 16 -Implicit slow RHS fn evals = 64 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +Explicit slow RHS fn evals = 12 +Implicit slow RHS fn evals = 36 Inner stepper failures = 0 -NLS iters = 48 +NLS iters = 24 NLS fails = 0 -NLS iters per step = 16 +NLS iters per step = 8 LS setups = 0 Jac fn evals = 0 -LS RHS fn evals = 58 +LS RHS fn evals = 24 Prec setup evals = 0 Prec solves = 0 -LS iters = 58 +LS iters = 24 LS fails = 0 Jac-times setups = 0 -Jac-times evals = 58 -LS iters per NLS iter = 1.20833333333333 +Jac-times evals = 24 +LS iters per NLS iter = 1 Jac evals per NLS iter = 0 Prec evals per NLS iter = 0 End MRIStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out index 651acf0af6..92ab1f21fe 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_6.out @@ -3,58 +3,46 @@ Using MERK method t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 4) at t = 5.00e-02 (tn = 0.00e+00 , tcur = 5.00e-02), ||y||_2 = 2.0100518077e+00] - [Pre-RHS processing (stage 1 of 4) at t = 5.00e-02 (tn = 0.00e+00 , tcur = 5.00e-02), ||y||_2 = 2.0100518077e+00] - [Post-stage processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323737599e+00] - [Pre-RHS processing (stage 2 of 4) at t = 6.67e-02 (tn = 0.00e+00 , tcur = 6.67e-02), ||y||_2 = 1.9323737599e+00] - [Post-stage processing (stage 4 of 4) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553417874e+00] - [Post-stage processing (stage 3 of 4) at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01), ||y||_2 = 1.7553802047e+00] - [Post-step failure processing at t = 1.00e-01 (tn = 0.00e+00 , tcur = 1.00e-01),||y||_2 = 1.7553802047e+00] - [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] - [Post-stage processing (stage 1 of 4) at t = 1.43e-02 (tn = 0.00e+00 , tcur = 1.43e-02), ||y||_2 = 2.1117506552e+00] - [Pre-RHS processing (stage 1 of 4) at t = 1.43e-02 (tn = 0.00e+00 , tcur = 1.43e-02), ||y||_2 = 2.1117506552e+00] - [Post-stage processing (stage 2 of 4) at t = 1.90e-02 (tn = 0.00e+00 , tcur = 1.90e-02), ||y||_2 = 2.1043459618e+00] - [Pre-RHS processing (stage 2 of 4) at t = 1.90e-02 (tn = 0.00e+00 , tcur = 1.90e-02), ||y||_2 = 2.1043459618e+00] - [Post-stage processing (stage 4 of 4) at t = 2.86e-02 (tn = 0.00e+00 , tcur = 2.86e-02), ||y||_2 = 2.0835156932e+00] - [Post-stage processing (stage 3 of 4) at t = 2.86e-02 (tn = 0.00e+00 , tcur = 2.86e-02), ||y||_2 = 2.0835163684e+00] - [Post-step processing at t = 2.86e-02 (tn = 0.00e+00 , tcur = 2.86e-02),||y||_2 = 2.0835163684e+00] - 2.8560774168e-02 1.2246616429e+00 1.6855990976e+00 2.2506326580e-08 3.6164009787e-08 - [Pre-step processing at t = 2.86e-02 (tn = 2.86e-02 , tcur = 2.86e-02),||y||_2 = 2.0835163684e+00] - [Pre-RHS processing (stage 0 of 4) at t = 2.86e-02 (tn = 2.86e-02 , tcur = 2.86e-02), ||y||_2 = 2.0835163684e+00] - [Post-stage processing (stage 1 of 4) at t = 4.28e-02 (tn = 2.86e-02 , tcur = 4.28e-02), ||y||_2 = 2.0382427189e+00] - [Pre-RHS processing (stage 1 of 4) at t = 4.28e-02 (tn = 2.86e-02 , tcur = 4.28e-02), ||y||_2 = 2.0382427189e+00] - [Post-stage processing (stage 2 of 4) at t = 4.76e-02 (tn = 2.86e-02 , tcur = 4.76e-02), ||y||_2 = 2.0197685795e+00] - [Pre-RHS processing (stage 2 of 4) at t = 4.76e-02 (tn = 2.86e-02 , tcur = 4.76e-02), ||y||_2 = 2.0197685795e+00] - [Post-stage processing (stage 4 of 4) at t = 5.71e-02 (tn = 2.86e-02 , tcur = 5.71e-02), ||y||_2 = 1.9785258650e+00] - [Post-stage processing (stage 3 of 4) at t = 5.71e-02 (tn = 2.86e-02 , tcur = 5.71e-02), ||y||_2 = 1.9785265655e+00] - [Post-step processing at t = 5.71e-02 (tn = 2.86e-02 , tcur = 5.71e-02),||y||_2 = 1.9785265655e+00] - 5.7121548336e-02 1.2244119400e+00 1.5541501767e+00 3.8773453559e-08 5.2852703813e-07 - [Pre-step processing at t = 5.71e-02 (tn = 5.71e-02 , tcur = 5.71e-02),||y||_2 = 1.9785265655e+00] - [Pre-RHS processing (stage 0 of 4) at t = 5.71e-02 (tn = 5.71e-02 , tcur = 5.71e-02), ||y||_2 = 1.9785265655e+00] - [Post-stage processing (stage 1 of 4) at t = 7.16e-02 (tn = 5.71e-02 , tcur = 7.16e-02), ||y||_2 = 1.9070735973e+00] - [Pre-RHS processing (stage 1 of 4) at t = 7.16e-02 (tn = 5.71e-02 , tcur = 7.16e-02), ||y||_2 = 1.9070735973e+00] - [Post-stage processing (stage 2 of 4) at t = 7.64e-02 (tn = 5.71e-02 , tcur = 7.64e-02), ||y||_2 = 1.8816324251e+00] - [Pre-RHS processing (stage 2 of 4) at t = 7.64e-02 (tn = 5.71e-02 , tcur = 7.64e-02), ||y||_2 = 1.8816324251e+00] - [Post-stage processing (stage 4 of 4) at t = 8.61e-02 (tn = 5.71e-02 , tcur = 8.61e-02), ||y||_2 = 1.8296338557e+00] - [Post-stage processing (stage 3 of 4) at t = 8.61e-02 (tn = 5.71e-02 , tcur = 8.61e-02), ||y||_2 = 1.8296348692e+00] - [Post-step processing at t = 8.61e-02 (tn = 5.71e-02 , tcur = 8.61e-02),||y||_2 = 1.8296348692e+00] - 8.6097654722e-02 1.2239885854e+00 1.3599322400e+00 4.6675652676e-08 9.1623140341e-07 + [Post-stage processing (stage 1 of 4) at t = 5.00e-04 (tn = 0.00e+00 , tcur = 5.00e-04), ||y||_2 = 2.1213085585e+00] + [Pre-RHS processing (stage 1 of 4) at t = 5.00e-04 (tn = 0.00e+00 , tcur = 5.00e-04), ||y||_2 = 2.1213085585e+00] + [Post-stage processing (stage 2 of 4) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993663e+00] + [Pre-RHS processing (stage 2 of 4) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993663e+00] + [Post-stage processing (stage 3 of 4) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 3.3528735344e-14 1.4566126083e-13 + [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Post-stage processing (stage 1 of 4) at t = 1.50e-03 (tn = 1.00e-03 , tcur = 1.50e-03), ||y||_2 = 2.1212141650e+00] + [Pre-RHS processing (stage 1 of 4) at t = 1.50e-03 (tn = 1.00e-03 , tcur = 1.50e-03), ||y||_2 = 2.1212141650e+00] + [Post-stage processing (stage 2 of 4) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892422e+00] + [Pre-RHS processing (stage 2 of 4) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892422e+00] + [Post-stage processing (stage 3 of 4) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 6.7057470687e-14 2.7866597918e-13 + [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 0 of 4) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Post-stage processing (stage 1 of 4) at t = 2.50e-03 (tn = 2.00e-03 , tcur = 2.50e-03), ||y||_2 = 2.1210254031e+00] + [Pre-RHS processing (stage 1 of 4) at t = 2.50e-03 (tn = 2.00e-03 , tcur = 2.50e-03), ||y||_2 = 2.1210254031e+00] + [Post-stage processing (stage 2 of 4) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847564e+00] + [Pre-RHS processing (stage 2 of 4) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847564e+00] + [Post-stage processing (stage 3 of 4) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] + [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] + 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 1.0058620603e-13 3.9879211045e-13 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0860976547220178 +Current time = 0.003 Steps = 3 -Step attempts = 4 +Step attempts = 3 Stability limited steps = 0 -Accuracy limited steps = 4 -Error test fails = 1 +Accuracy limited steps = 0 +Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 -Initial step size = 0.1 -Last step size = 0.0289761063859351 -Current step size = 0.0288866044534405 -Explicit slow RHS fn evals = 12 +Initial step size = 0.001 +Last step size = 0.001 +Current step size = 0.001 +Explicit slow RHS fn evals = 9 Implicit slow RHS fn evals = 0 Inner stepper failures = 0 NLS iters = 0 From 1c1d31c5509bfc8e242b08a72978763b8c81a3de Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 3 Feb 2026 15:11:54 -0500 Subject: [PATCH 30/32] Updated stageinfo output files due to the new default numbers of stages for SSP(s,2) and SSP(s,3) --- .../ark_test_stageinfo_lsrkstep_2.out | 80 +++---------- .../ark_test_stageinfo_lsrkstep_3.out | 108 +++++++----------- 2 files changed, 58 insertions(+), 130 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out index eb32a475a9..97f718113c 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_2.out @@ -3,74 +3,26 @@ Using SSP(s,2) method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 10) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] - [Pre-RHS processing (stage 0 of 10) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] - [Pre-RHS processing (stage 0 of 10) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-RHS processing (stage 0 of 2) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 2) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 2) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] - [Post-stage processing (stage 0 of 10) at t = 6.78e-13 (tn = 0.00e+00 , tcur = 6.78e-13), ||y||_2 = 6.7816840278e-13] - [Pre-RHS processing (stage 1 of 10) at t = 6.78e-13 (tn = 0.00e+00 , tcur = 6.78e-13), ||y||_2 = 6.7816840278e-13] - [Post-stage processing (stage 1 of 10) at t = 1.36e-12 (tn = 0.00e+00 , tcur = 1.36e-12), ||y||_2 = 1.3563368056e-12] - [Pre-RHS processing (stage 2 of 10) at t = 1.36e-12 (tn = 0.00e+00 , tcur = 1.36e-12), ||y||_2 = 1.3563368056e-12] - [Post-stage processing (stage 2 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] - [Pre-RHS processing (stage 3 of 10) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] - [Post-stage processing (stage 3 of 10) at t = 2.71e-12 (tn = 0.00e+00 , tcur = 2.71e-12), ||y||_2 = 2.7126736111e-12] - [Pre-RHS processing (stage 4 of 10) at t = 2.71e-12 (tn = 0.00e+00 , tcur = 2.71e-12), ||y||_2 = 2.7126736111e-12] - [Post-stage processing (stage 4 of 10) at t = 3.39e-12 (tn = 0.00e+00 , tcur = 3.39e-12), ||y||_2 = 3.3908420139e-12] - [Pre-RHS processing (stage 5 of 10) at t = 3.39e-12 (tn = 0.00e+00 , tcur = 3.39e-12), ||y||_2 = 3.3908420139e-12] - [Post-stage processing (stage 5 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] - [Pre-RHS processing (stage 6 of 10) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] - [Post-stage processing (stage 6 of 10) at t = 4.75e-12 (tn = 0.00e+00 , tcur = 4.75e-12), ||y||_2 = 4.7471788194e-12] - [Pre-RHS processing (stage 7 of 10) at t = 4.75e-12 (tn = 0.00e+00 , tcur = 4.75e-12), ||y||_2 = 4.7471788194e-12] - [Post-stage processing (stage 7 of 10) at t = 5.43e-12 (tn = 0.00e+00 , tcur = 5.43e-12), ||y||_2 = 5.4253472222e-12] - [Pre-RHS processing (stage 8 of 10) at t = 5.43e-12 (tn = 0.00e+00 , tcur = 5.43e-12), ||y||_2 = 5.4253472222e-12] - [Post-stage processing (stage 8 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] - [Pre-RHS processing (stage 9 of 10) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 2) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Pre-RHS processing (stage 1 of 2) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] - 6.1035156250e-12 6.1035156250e-12 8.0779356695e-28 + 6.1035156250e-12 6.1035156250e-12 0.0000000000e+00 [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] - [Pre-RHS processing (stage 0 of 10) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] - [Post-stage processing (stage 0 of 10) at t = 6.79e-09 (tn = 6.10e-12 , tcur = 6.79e-09), ||y||_2 = 6.7877875434e-09] - [Pre-RHS processing (stage 1 of 10) at t = 6.79e-09 (tn = 6.10e-12 , tcur = 6.79e-09), ||y||_2 = 6.7877875434e-09] - [Post-stage processing (stage 1 of 10) at t = 1.36e-08 (tn = 6.10e-12 , tcur = 1.36e-08), ||y||_2 = 1.3569471571e-08] - [Pre-RHS processing (stage 2 of 10) at t = 1.36e-08 (tn = 6.10e-12 , tcur = 1.36e-08), ||y||_2 = 1.3569471571e-08] - [Post-stage processing (stage 2 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] - [Pre-RHS processing (stage 3 of 10) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] - [Post-stage processing (stage 3 of 10) at t = 2.71e-08 (tn = 6.10e-12 , tcur = 2.71e-08), ||y||_2 = 2.7132839627e-08] - [Pre-RHS processing (stage 4 of 10) at t = 2.71e-08 (tn = 6.10e-12 , tcur = 2.71e-08), ||y||_2 = 2.7132839627e-08] - [Post-stage processing (stage 4 of 10) at t = 3.39e-08 (tn = 6.10e-12 , tcur = 3.39e-08), ||y||_2 = 3.3914523655e-08] - [Pre-RHS processing (stage 5 of 10) at t = 3.39e-08 (tn = 6.10e-12 , tcur = 3.39e-08), ||y||_2 = 3.3914523655e-08] - [Post-stage processing (stage 5 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] - [Pre-RHS processing (stage 6 of 10) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] - [Post-stage processing (stage 6 of 10) at t = 4.75e-08 (tn = 6.10e-12 , tcur = 4.75e-08), ||y||_2 = 4.7477891710e-08] - [Pre-RHS processing (stage 7 of 10) at t = 4.75e-08 (tn = 6.10e-12 , tcur = 4.75e-08), ||y||_2 = 4.7477891710e-08] - [Post-stage processing (stage 7 of 10) at t = 5.43e-08 (tn = 6.10e-12 , tcur = 5.43e-08), ||y||_2 = 5.4259575738e-08] - [Pre-RHS processing (stage 8 of 10) at t = 5.43e-08 (tn = 6.10e-12 , tcur = 5.43e-08), ||y||_2 = 5.4259575738e-08] - [Post-stage processing (stage 8 of 10) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] - [Pre-RHS processing (stage 9 of 10) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 0 of 2) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] + [Post-stage processing (stage 0 of 2) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Pre-RHS processing (stage 1 of 2) at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] - 6.1041259766e-08 6.1041259766e-08 0.0000000000e+00 + 6.1041259766e-08 6.1041259766e-08 3.9704669403e-23 [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] - [Pre-RHS processing (stage 0 of 10) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] - [Post-stage processing (stage 0 of 10) at t = 1.97e-07 (tn = 6.10e-08 , tcur = 1.97e-07), ||y||_2 = 1.9667494032e-07] - [Pre-RHS processing (stage 1 of 10) at t = 1.97e-07 (tn = 6.10e-08 , tcur = 1.97e-07), ||y||_2 = 1.9667494032e-07] - [Post-stage processing (stage 1 of 10) at t = 3.32e-07 (tn = 6.10e-08 , tcur = 3.32e-07), ||y||_2 = 3.3230862088e-07] - [Pre-RHS processing (stage 2 of 10) at t = 3.32e-07 (tn = 6.10e-08 , tcur = 3.32e-07), ||y||_2 = 3.3230862088e-07] - [Post-stage processing (stage 2 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] - [Pre-RHS processing (stage 3 of 10) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] - [Post-stage processing (stage 3 of 10) at t = 6.04e-07 (tn = 6.10e-08 , tcur = 6.04e-07), ||y||_2 = 6.0357598199e-07] - [Pre-RHS processing (stage 4 of 10) at t = 6.04e-07 (tn = 6.10e-08 , tcur = 6.04e-07), ||y||_2 = 6.0357598199e-07] - [Post-stage processing (stage 4 of 10) at t = 7.39e-07 (tn = 6.10e-08 , tcur = 7.39e-07), ||y||_2 = 7.3920966254e-07] - [Pre-RHS processing (stage 5 of 10) at t = 7.39e-07 (tn = 6.10e-08 , tcur = 7.39e-07), ||y||_2 = 7.3920966254e-07] - [Post-stage processing (stage 5 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] - [Pre-RHS processing (stage 6 of 10) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] - [Post-stage processing (stage 6 of 10) at t = 1.01e-06 (tn = 6.10e-08 , tcur = 1.01e-06), ||y||_2 = 1.0104770237e-06] - [Pre-RHS processing (stage 7 of 10) at t = 1.01e-06 (tn = 6.10e-08 , tcur = 1.01e-06), ||y||_2 = 1.0104770237e-06] - [Post-stage processing (stage 7 of 10) at t = 1.15e-06 (tn = 6.10e-08 , tcur = 1.15e-06), ||y||_2 = 1.1461107042e-06] - [Pre-RHS processing (stage 8 of 10) at t = 1.15e-06 (tn = 6.10e-08 , tcur = 1.15e-06), ||y||_2 = 1.1461107042e-06] - [Post-stage processing (stage 8 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] - [Pre-RHS processing (stage 9 of 10) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Pre-RHS processing (stage 0 of 2) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] + [Post-stage processing (stage 0 of 2) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] + [Pre-RHS processing (stage 1 of 2) at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06), ||y||_2 = 1.2817443848e-06] [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] - 1.2817443848e-06 1.2817443848e-06 3.3881317890e-20 + 1.2817443848e-06 1.2817443848e-06 3.0366131159e-19 --------------------------------------------------------------------- Current time = 1.28174438476563e-06 Steps = 3 @@ -83,6 +35,6 @@ Inequality constraint fails = 0 Initial step size = 6.103515625e-12 Last step size = 1.220703125e-06 Current step size = 2.44140625e-05 -RHS fn evals = 32 -Number of stages used = 10 +RHS fn evals = 8 +Number of stages used = 2 End LSRKStep StageInfo test diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out index 9479df8ba7..37f0e8cb88 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep_3.out @@ -3,70 +3,46 @@ Using SSP(s,3) method t y y err --------------------------------------------------------------------- 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 - [Pre-RHS processing (stage 0 of 9) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] - [Pre-RHS processing (stage 0 of 9) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] - [Pre-RHS processing (stage 0 of 9) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] + [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 0.0000000000e+00] + [Pre-RHS processing (stage 0 of 4) at t = 1.49e-12 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.4901161194e-12] + [Pre-RHS processing (stage 0 of 4) at t = 1.22e-11 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 1.2207031250e-11] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 0.0000000000e+00] - [Post-stage processing (stage 0 of 9) at t = 1.02e-12 (tn = 0.00e+00 , tcur = 1.02e-12), ||y||_2 = 1.0172526042e-12] - [Pre-RHS processing (stage 1 of 9) at t = 1.02e-12 (tn = 0.00e+00 , tcur = 1.02e-12), ||y||_2 = 1.0172526042e-12] - [Post-stage processing (stage 1 of 9) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] - [Pre-RHS processing (stage 2 of 9) at t = 2.03e-12 (tn = 0.00e+00 , tcur = 2.03e-12), ||y||_2 = 2.0345052083e-12] - [Post-stage processing (stage 2 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] - [Pre-RHS processing (stage 3 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] - [Post-stage processing (stage 3 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] - [Pre-RHS processing (stage 4 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] - [Post-stage processing (stage 4 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] - [Pre-RHS processing (stage 5 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] - [Post-stage processing (stage 5 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] - [Pre-RHS processing (stage 6 of 9) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] - [Post-stage processing (stage 6 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] - [Pre-RHS processing (stage 7 of 9) at t = 4.07e-12 (tn = 0.00e+00 , tcur = 4.07e-12), ||y||_2 = 4.0690104167e-12] - [Post-stage processing (stage 7 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] - [Pre-RHS processing (stage 8 of 9) at t = 5.09e-12 (tn = 0.00e+00 , tcur = 5.09e-12), ||y||_2 = 5.0862630208e-12] - [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] - 6.1035156250e-12 6.1035156250e-12 0.0000000000e+00 - [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 6.1035156250e-12] - [Pre-RHS processing (stage 0 of 9) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 6.1035156250e-12] - [Post-stage processing (stage 0 of 9) at t = 1.02e-08 (tn = 6.10e-12 , tcur = 1.02e-08), ||y||_2 = 1.0178629557e-08] - [Pre-RHS processing (stage 1 of 9) at t = 1.02e-08 (tn = 6.10e-12 , tcur = 1.02e-08), ||y||_2 = 1.0178629557e-08] - [Post-stage processing (stage 1 of 9) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] - [Pre-RHS processing (stage 2 of 9) at t = 2.04e-08 (tn = 6.10e-12 , tcur = 2.04e-08), ||y||_2 = 2.0351155599e-08] - [Post-stage processing (stage 2 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] - [Pre-RHS processing (stage 3 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] - [Post-stage processing (stage 3 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] - [Pre-RHS processing (stage 4 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] - [Post-stage processing (stage 4 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] - [Pre-RHS processing (stage 5 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] - [Post-stage processing (stage 5 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] - [Pre-RHS processing (stage 6 of 9) at t = 3.05e-08 (tn = 6.10e-12 , tcur = 3.05e-08), ||y||_2 = 3.0523681641e-08] - [Post-stage processing (stage 6 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] - [Pre-RHS processing (stage 7 of 9) at t = 4.07e-08 (tn = 6.10e-12 , tcur = 4.07e-08), ||y||_2 = 4.0696207682e-08] - [Post-stage processing (stage 7 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] - [Pre-RHS processing (stage 8 of 9) at t = 5.09e-08 (tn = 6.10e-12 , tcur = 5.09e-08), ||y||_2 = 5.0868733724e-08] - [Post-step processing at t = 6.10e-08 (tn = 6.10e-12 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] - 6.1041259766e-08 6.1041259766e-08 0.0000000000e+00 - [Pre-step processing at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08),||y||_2 = 6.1041259766e-08] - [Pre-RHS processing (stage 0 of 9) at t = 6.10e-08 (tn = 6.10e-08 , tcur = 6.10e-08), ||y||_2 = 6.1041259766e-08] - [Post-stage processing (stage 0 of 9) at t = 2.64e-07 (tn = 6.10e-08 , tcur = 2.64e-07), ||y||_2 = 2.6449178060e-07] - [Pre-RHS processing (stage 1 of 9) at t = 2.64e-07 (tn = 6.10e-08 , tcur = 2.64e-07), ||y||_2 = 2.6449178060e-07] - [Post-stage processing (stage 1 of 9) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] - [Pre-RHS processing (stage 2 of 9) at t = 4.68e-07 (tn = 6.10e-08 , tcur = 4.68e-07), ||y||_2 = 4.6794230143e-07] - [Post-stage processing (stage 2 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] - [Pre-RHS processing (stage 3 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] - [Post-stage processing (stage 3 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] - [Pre-RHS processing (stage 4 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] - [Post-stage processing (stage 4 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] - [Pre-RHS processing (stage 5 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] - [Post-stage processing (stage 5 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] - [Pre-RHS processing (stage 6 of 9) at t = 6.71e-07 (tn = 6.10e-08 , tcur = 6.71e-07), ||y||_2 = 6.7139282227e-07] - [Post-stage processing (stage 6 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] - [Pre-RHS processing (stage 7 of 9) at t = 8.75e-07 (tn = 6.10e-08 , tcur = 8.75e-07), ||y||_2 = 8.7484334310e-07] - [Post-stage processing (stage 7 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] - [Pre-RHS processing (stage 8 of 9) at t = 1.08e-06 (tn = 6.10e-08 , tcur = 1.08e-06), ||y||_2 = 1.0782938639e-06] - [Post-step processing at t = 1.28e-06 (tn = 6.10e-08 , tcur = 1.28e-06),||y||_2 = 1.2817443848e-06] - 1.2817443848e-06 1.2817443848e-06 2.1175823681e-22 + [Post-stage processing (stage 0 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 3.0517578125e-12] + [Pre-RHS processing (stage 0 of 4) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 3.0517578125e-12] + [Post-stage processing (stage 0 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 6.1035156158e-12] + [Pre-RHS processing (stage 1 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 6.1035156158e-12] + [Post-stage processing (stage 1 of 4) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 9.1552734191e-12] + [Pre-RHS processing (stage 2 of 4) at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12), ||y||_2 = 9.1552734191e-12] + [Post-stage processing (stage 2 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 6.1035156158e-12] + [Pre-RHS processing (stage 3 of 4) at t = 3.05e-12 (tn = 0.00e+00 , tcur = 3.05e-12), ||y||_2 = 6.1035156158e-12] + [Post-step processing at t = 6.10e-12 (tn = 0.00e+00 , tcur = 6.10e-12),||y||_2 = 9.1552734191e-12] + 6.1035156250e-12 9.1552734191e-12 3.0517577941e-12 + [Pre-step processing at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12),||y||_2 = 9.1552734191e-12] + [Pre-RHS processing (stage 0 of 4) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 9.1552734191e-12] + [Post-stage processing (stage 0 of 4) at t = 1.72e-11 (tn = 6.10e-12 , tcur = 1.72e-11), ||y||_2 = 2.0228798238e-11] + [Pre-RHS processing (stage 0 of 4) at t = 6.10e-12 (tn = 6.10e-12 , tcur = 6.10e-12), ||y||_2 = 2.0228798238e-11] + [Post-stage processing (stage 0 of 4) at t = 1.72e-11 (tn = 6.10e-12 , tcur = 1.72e-11), ||y||_2 = 3.1302322936e-11] + [Pre-RHS processing (stage 1 of 4) at t = 1.72e-11 (tn = 6.10e-12 , tcur = 1.72e-11), ||y||_2 = 3.1302322936e-11] + [Post-stage processing (stage 1 of 4) at t = 2.83e-11 (tn = 6.10e-12 , tcur = 2.83e-11), ||y||_2 = 4.2375847634e-11] + [Pre-RHS processing (stage 2 of 4) at t = 2.83e-11 (tn = 6.10e-12 , tcur = 2.83e-11), ||y||_2 = 4.2375847634e-11] + [Post-stage processing (stage 2 of 4) at t = 1.72e-11 (tn = 6.10e-12 , tcur = 1.72e-11), ||y||_2 = 3.1302322936e-11] + [Pre-RHS processing (stage 3 of 4) at t = 1.72e-11 (tn = 6.10e-12 , tcur = 1.72e-11), ||y||_2 = 3.1302322936e-11] + [Post-step processing at t = 2.83e-11 (tn = 6.10e-12 , tcur = 2.83e-11),||y||_2 = 4.2375847634e-11] + 2.8250565330e-11 4.2375847634e-11 1.4125282303e-11 + [Pre-step processing at t = 2.83e-11 (tn = 2.83e-11 , tcur = 2.83e-11),||y||_2 = 4.2375847634e-11] + [Pre-RHS processing (stage 0 of 4) at t = 2.83e-11 (tn = 2.83e-11 , tcur = 2.83e-11), ||y||_2 = 4.2375847634e-11] + [Post-stage processing (stage 0 of 4) at t = 5.44e-11 (tn = 2.83e-11 , tcur = 5.44e-11), ||y||_2 = 6.8524126345e-11] + [Pre-RHS processing (stage 0 of 4) at t = 2.83e-11 (tn = 2.83e-11 , tcur = 2.83e-11), ||y||_2 = 6.8524126345e-11] + [Post-stage processing (stage 0 of 4) at t = 5.44e-11 (tn = 2.83e-11 , tcur = 5.44e-11), ||y||_2 = 9.4672404379e-11] + [Pre-RHS processing (stage 1 of 4) at t = 5.44e-11 (tn = 2.83e-11 , tcur = 5.44e-11), ||y||_2 = 9.4672404379e-11] + [Post-stage processing (stage 1 of 4) at t = 8.05e-11 (tn = 2.83e-11 , tcur = 8.05e-11), ||y||_2 = 1.2082068241e-10] + [Pre-RHS processing (stage 2 of 4) at t = 8.05e-11 (tn = 2.83e-11 , tcur = 8.05e-11), ||y||_2 = 1.2082068241e-10] + [Post-stage processing (stage 2 of 4) at t = 5.44e-11 (tn = 2.83e-11 , tcur = 5.44e-11), ||y||_2 = 9.4672404379e-11] + [Pre-RHS processing (stage 3 of 4) at t = 5.44e-11 (tn = 2.83e-11 , tcur = 5.44e-11), ||y||_2 = 9.4672404379e-11] + [Post-step processing at t = 8.05e-11 (tn = 2.83e-11 , tcur = 8.05e-11),||y||_2 = 1.2082068241e-10] + 8.0547123483e-11 1.2082068241e-10 4.0273558929e-11 --------------------------------------------------------------------- -Current time = 1.28174438476563e-06 +Current time = 8.05471234832829e-11 Steps = 3 Step attempts = 3 Stability limited steps = 0 @@ -75,8 +51,8 @@ Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 6.103515625e-12 -Last step size = 1.220703125e-06 -Current step size = 2.44140625e-05 -RHS fn evals = 29 -Number of stages used = 9 +Last step size = 5.22965581530996e-11 +Current step size = 9.27352060660382e-11 +RHS fn evals = 17 +Number of stages used = 4 End LSRKStep StageInfo test From be7192415221a52cc8c2659e02e48de18ca5bb94 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 3 Feb 2026 16:18:24 -0500 Subject: [PATCH 31/32] Updated stageinfo output files due to the addition of preprocess-rhs calls in the implicit algebraic solvers --- .../ark_test_stageinfo_arkstep_1.out | 119 ++++++++++---- .../ark_test_stageinfo_arkstep_2.out | 149 ++++++++++++++---- .../ark_test_stageinfo_mristep_1.out | 36 +++++ .../ark_test_stageinfo_mristep_2.out | 36 +++++ .../ark_test_stageinfo_mristep_4.out | 48 ++++++ .../ark_test_stageinfo_mristep_5.out | 48 ++++++ 6 files changed, 377 insertions(+), 59 deletions(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out index 59318ce051..86966c499a 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_1.out @@ -2,53 +2,118 @@ Start ARKStep StageInfo test Using DIRK method Using Newton nonlinear solver Using GMRES iterative linear solver - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-RHS processing (stage 0 of 6) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 6) at t = 4.71e-08 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 6) at t = 2.06e-04 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 6) at t = 5.15e-05 (tn = 0.00e+00 , tcur = 5.15e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 6) at t = 5.15e-05 (tn = 0.00e+00 , tcur = 5.15e-05), ||y||_2 = 2.1213183410e+00] [Post-stage processing (stage 1 of 6) at t = 5.15e-05 (tn = 0.00e+00 , tcur = 5.15e-05), ||y||_2 = 2.1213202184e+00] [Pre-RHS processing (stage 1 of 6) at t = 5.15e-05 (tn = 0.00e+00 , tcur = 5.15e-05), ||y||_2 = 2.1213202184e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.51e-05 (tn = 0.00e+00 , tcur = 1.51e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.51e-05 (tn = 0.00e+00 , tcur = 1.51e-05), ||y||_2 = 2.1213183410e+00] [Post-stage processing (stage 2 of 6) at t = 1.51e-05 (tn = 0.00e+00 , tcur = 1.51e-05), ||y||_2 = 2.1213203328e+00] [Pre-RHS processing (stage 2 of 6) at t = 1.51e-05 (tn = 0.00e+00 , tcur = 1.51e-05), ||y||_2 = 2.1213203328e+00] + [Pre-RHS processing (stage 3 of 6) at t = 6.44e-05 (tn = 0.00e+00 , tcur = 6.44e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 3 of 6) at t = 6.44e-05 (tn = 0.00e+00 , tcur = 6.44e-05), ||y||_2 = 2.1213183410e+00] [Post-stage processing (stage 3 of 6) at t = 6.44e-05 (tn = 0.00e+00 , tcur = 6.44e-05), ||y||_2 = 2.1213201480e+00] [Pre-RHS processing (stage 3 of 6) at t = 6.44e-05 (tn = 0.00e+00 , tcur = 6.44e-05), ||y||_2 = 2.1213201480e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.07e-04 (tn = 0.00e+00 , tcur = 1.07e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.07e-04 (tn = 0.00e+00 , tcur = 1.07e-04), ||y||_2 = 2.1213183410e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.07e-04 (tn = 0.00e+00 , tcur = 1.07e-04), ||y||_2 = 2.1213198021e+00] [Post-stage processing (stage 4 of 6) at t = 1.07e-04 (tn = 0.00e+00 , tcur = 1.07e-04), ||y||_2 = 2.1213198021e+00] [Pre-RHS processing (stage 4 of 6) at t = 1.07e-04 (tn = 0.00e+00 , tcur = 1.07e-04), ||y||_2 = 2.1213198021e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213183410e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] [Post-stage processing (stage 5 of 6) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] [Pre-RHS processing (stage 5 of 6) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] [Post-step processing at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] 1.0298602561e-04 1.2247448703e+00 1.7320501952e+00 7.8541617654e-12 2.7311486406e-14 [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] - [Post-stage processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363098e+00] - [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363098e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1213178432e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1213208437e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363161e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181350533e+00] + [Post-stage processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363096e+00] + [Pre-RHS processing (stage 1 of 6) at t = 8.22e-03 (tn = 1.03e-04 , tcur = 8.22e-03), ||y||_2 = 2.1181363096e+00] + [Pre-RHS processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1213178432e+00] + [Pre-RHS processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1213208437e+00] + [Pre-RHS processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1210284133e+00] [Post-stage processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1210284133e+00] [Pre-RHS processing (stage 2 of 6) at t = 2.48e-03 (tn = 1.03e-04 , tcur = 2.48e-03), ||y||_2 = 2.1210284133e+00] - [Post-stage processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721828e+00] - [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721828e+00] - [Post-stage processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895079e+00] - [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895079e+00] - [Post-stage processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851663e+00] - [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851663e+00] - [Post-step processing at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02),||y||_2 = 2.1087851663e+00] - 1.6345098313e-02 1.2247176001e+00 1.7166949855e+00 4.4663852616e-09 6.0447387096e-09 - [Pre-step processing at t = 1.63e-02 (tn = 1.63e-02 , tcur = 1.63e-02),||y||_2 = 2.1087851663e+00] - [Post-stage processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030146e+00] - [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030146e+00] - [Post-stage processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048041e+00] - [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048041e+00] - [Post-stage processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671872e+00] - [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671872e+00] - [Post-stage processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966613e+00] - [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966613e+00] - [Post-stage processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934067e+00] - [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934067e+00] - [Post-step processing at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02),||y||_2 = 2.0724934067e+00] - 3.2548714654e-02 1.2246367417e+00 1.6719730154e+00 8.0260507129e-09 5.9880216341e-09 + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1213178432e+00] + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1213208437e+00] + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163722075e+00] + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163703971e+00] + [Post-stage processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721824e+00] + [Pre-RHS processing (stage 3 of 6) at t = 1.03e-02 (tn = 1.03e-04 , tcur = 1.03e-02), ||y||_2 = 2.1163721824e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1213178432e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1213208437e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077899282e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077876968e+00] + [Post-stage processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895068e+00] + [Pre-RHS processing (stage 4 of 6) at t = 1.70e-02 (tn = 1.03e-04 , tcur = 1.70e-02), ||y||_2 = 2.1077895068e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1213178432e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1213208437e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087855077e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087832801e+00] + [Post-stage processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 5 of 6) at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02), ||y||_2 = 2.1087851653e+00] + [Post-step processing at t = 1.63e-02 (tn = 1.03e-04 , tcur = 1.63e-02),||y||_2 = 2.1087851653e+00] + 1.6345098954e-02 1.2247176001e+00 1.7166949855e+00 4.4663852616e-09 6.0447387096e-09 + [Pre-step processing at t = 1.63e-02 (tn = 1.63e-02 , tcur = 1.63e-02),||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.1087831891e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.1087861718e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935038900e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935017090e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030131e+00] + [Post-stage processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030131e+00] + [Pre-RHS processing (stage 1 of 6) at t = 2.44e-02 (tn = 1.63e-02 , tcur = 2.44e-02), ||y||_2 = 2.0935030131e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1087831891e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1087861719e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048432e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049026275e+00] + [Post-stage processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048030e+00] + [Pre-RHS processing (stage 2 of 6) at t = 1.87e-02 (tn = 1.63e-02 , tcur = 1.87e-02), ||y||_2 = 2.1049048030e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.1087831891e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.1087861718e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887688409e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887666742e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671857e+00] + [Post-stage processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671857e+00] + [Pre-RHS processing (stage 3 of 6) at t = 2.65e-02 (tn = 1.63e-02 , tcur = 2.65e-02), ||y||_2 = 2.0887671857e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.1087831890e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.1087861717e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0706044622e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0706023387e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966594e+00] + [Post-stage processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966594e+00] + [Pre-RHS processing (stage 4 of 6) at t = 3.32e-02 (tn = 1.63e-02 , tcur = 3.32e-02), ||y||_2 = 2.0705966594e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.1087851653e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.1087831890e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.1087861718e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0725003000e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724981727e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934048e+00] + [Post-stage processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934048e+00] + [Pre-RHS processing (stage 5 of 6) at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02), ||y||_2 = 2.0724934048e+00] + [Post-step processing at t = 3.25e-02 (tn = 1.63e-02 , tcur = 3.25e-02),||y||_2 = 2.0724934048e+00] + 3.2548715292e-02 1.2246367417e+00 1.6719730154e+00 8.0260507129e-09 5.9880216341e-09 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0325487146540888 +Current time = 0.0325487152923576 Steps = 3 Step attempts = 3 Stability limited steps = 0 @@ -57,8 +122,8 @@ Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0162036163408584 -Current step size = 0.0160003634285686 +Last step size = 0.0162036163379197 +Current step size = 0.0160003634180696 Explicit RHS fn evals = 0 Implicit RHS fn evals = 49 NLS iters = 31 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out index 6b88dade9c..0c42465ad2 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_arkstep_2.out @@ -2,61 +2,146 @@ Start ARKStep StageInfo test Using ImEx method Using Newton nonlinear solver Using GMRES iterative linear solver - t u v u err v err + t u v u err v err ------------------------------------------------------------------------------------------------------------------------------ 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-RHS processing (stage 0 of 7) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 7) at t = 4.71e-08 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 7) at t = 2.06e-04 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 7) at t = 2.54e-05 (tn = 0.00e+00 , tcur = 2.54e-05), ||y||_2 = 2.1213203436e+00] [Post-stage processing (stage 1 of 7) at t = 2.54e-05 (tn = 0.00e+00 , tcur = 2.54e-05), ||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 1 of 7) at t = 2.54e-05 (tn = 0.00e+00 , tcur = 2.54e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.34e-05 (tn = 0.00e+00 , tcur = 4.34e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.34e-05 (tn = 0.00e+00 , tcur = 4.34e-05), ||y||_2 = 2.1213183410e+00] [Post-stage processing (stage 2 of 7) at t = 4.34e-05 (tn = 0.00e+00 , tcur = 4.34e-05), ||y||_2 = 2.1213202546e+00] [Pre-RHS processing (stage 2 of 7) at t = 4.34e-05 (tn = 0.00e+00 , tcur = 4.34e-05), ||y||_2 = 2.1213202546e+00] + [Pre-RHS processing (stage 3 of 7) at t = 3.45e-05 (tn = 0.00e+00 , tcur = 3.45e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 3 of 7) at t = 3.45e-05 (tn = 0.00e+00 , tcur = 3.45e-05), ||y||_2 = 2.1213183410e+00] [Post-stage processing (stage 3 of 7) at t = 3.45e-05 (tn = 0.00e+00 , tcur = 3.45e-05), ||y||_2 = 2.1213202874e+00] [Pre-RHS processing (stage 3 of 7) at t = 3.45e-05 (tn = 0.00e+00 , tcur = 3.45e-05), ||y||_2 = 2.1213202874e+00] + [Pre-RHS processing (stage 4 of 7) at t = 7.72e-06 (tn = 0.00e+00 , tcur = 7.72e-06), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 4 of 7) at t = 7.72e-06 (tn = 0.00e+00 , tcur = 7.72e-06), ||y||_2 = 2.1213183409e+00] [Post-stage processing (stage 4 of 7) at t = 7.72e-06 (tn = 0.00e+00 , tcur = 7.72e-06), ||y||_2 = 2.1213203407e+00] [Pre-RHS processing (stage 4 of 7) at t = 7.72e-06 (tn = 0.00e+00 , tcur = 7.72e-06), ||y||_2 = 2.1213203407e+00] + [Pre-RHS processing (stage 5 of 7) at t = 7.21e-05 (tn = 0.00e+00 , tcur = 7.21e-05), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 5 of 7) at t = 7.21e-05 (tn = 0.00e+00 , tcur = 7.21e-05), ||y||_2 = 2.1213183410e+00] + [Pre-RHS processing (stage 5 of 7) at t = 7.21e-05 (tn = 0.00e+00 , tcur = 7.21e-05), ||y||_2 = 2.1213200983e+00] [Post-stage processing (stage 5 of 7) at t = 7.21e-05 (tn = 0.00e+00 , tcur = 7.21e-05), ||y||_2 = 2.1213200983e+00] [Pre-RHS processing (stage 5 of 7) at t = 7.21e-05 (tn = 0.00e+00 , tcur = 7.21e-05), ||y||_2 = 2.1213200983e+00] + [Pre-RHS processing (stage 6 of 7) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 6 of 7) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213183410e+00] + [Pre-RHS processing (stage 6 of 7) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] [Post-stage processing (stage 6 of 7) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] [Pre-RHS processing (stage 6 of 7) at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] [Post-step processing at t = 1.03e-04 (tn = 0.00e+00 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] 1.0298602561e-04 1.2247448703e+00 1.7320501952e+00 2.2204460493e-16 0.0000000000e+00 [Pre-step processing at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04),||y||_2 = 2.1213198430e+00] [Pre-RHS processing (stage 0 of 7) at t = 1.03e-04 (tn = 1.03e-04 , tcur = 1.03e-04), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1213179609e+00] + [Pre-RHS processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1213210506e+00] + [Pre-RHS processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1212262228e+00] [Post-stage processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1212262228e+00] [Pre-RHS processing (stage 1 of 7) at t = 8.73e-03 (tn = 1.03e-04 , tcur = 8.73e-03), ||y||_2 = 2.1212262228e+00] - [Post-stage processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953910e+00] - [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953910e+00] - [Post-stage processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654988e+00] - [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654988e+00] - [Post-stage processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503427e+00] - [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503427e+00] - [Post-stage processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817859e+00] - [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817859e+00] - [Post-stage processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469454e+00] - [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469454e+00] - [Post-step processing at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02),||y||_2 = 2.0649991654e+00] - 3.5024518851e-02 1.2246196097e+00 1.6626870797e+00 6.6819398681e-08 6.5525542281e-07 - [Pre-step processing at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02),||y||_2 = 2.0649991654e+00] - [Pre-RHS processing (stage 0 of 7) at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02), ||y||_2 = 2.0649991654e+00] - [Post-stage processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161565e+00] - [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161565e+00] - [Post-stage processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194532e+00] - [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194532e+00] - [Post-stage processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366671e+00] - [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366671e+00] - [Post-stage processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070643e+00] - [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070643e+00] - [Post-stage processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914853e+00] - [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914853e+00] - [Post-stage processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758274e+00] - [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758274e+00] - [Post-step processing at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02),||y||_2 = 1.9169542441e+00] - 6.9697810906e-02 1.2242491983e+00 1.4751025098e+00 2.2221884333e-08 2.5857302401e-06 + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1213178446e+00] + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1213208465e+00] + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109952863e+00] + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109963352e+00] + [Post-stage processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953892e+00] + [Pre-RHS processing (stage 2 of 7) at t = 1.48e-02 (tn = 1.03e-04 , tcur = 1.48e-02), ||y||_2 = 2.1109953892e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1213178450e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1213208473e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654560e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147665074e+00] + [Post-stage processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654976e+00] + [Pre-RHS processing (stage 3 of 7) at t = 1.18e-02 (tn = 1.03e-04 , tcur = 1.18e-02), ||y||_2 = 2.1147654976e+00] + [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1213178266e+00] + [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1213208099e+00] + [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503426e+00] + [Post-stage processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503426e+00] + [Pre-RHS processing (stage 4 of 7) at t = 2.72e-03 (tn = 1.03e-04 , tcur = 2.72e-03), ||y||_2 = 2.1209503426e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.1213178428e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.1213208430e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932810331e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932820701e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932790587e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817810e+00] + [Post-stage processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817810e+00] + [Pre-RHS processing (stage 5 of 7) at t = 2.45e-02 (tn = 1.03e-04 , tcur = 2.45e-02), ||y||_2 = 2.0932817810e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.1213198430e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.1213178433e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.1213208439e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649440080e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649450254e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649420305e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469358e+00] + [Post-stage processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469358e+00] + [Pre-RHS processing (stage 6 of 7) at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02), ||y||_2 = 2.0649469358e+00] + [Post-step processing at t = 3.50e-02 (tn = 1.03e-04 , tcur = 3.50e-02),||y||_2 = 2.0649991558e+00] + 3.5024521932e-02 1.2246196097e+00 1.6626870797e+00 6.6819398681e-08 6.5525542281e-07 + [Pre-step processing at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02),||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 0 of 7) at t = 3.50e-02 (tn = 3.50e-02 , tcur = 3.50e-02), ||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0649972631e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0650001842e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383154536e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383164246e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383135369e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161449e+00] + [Post-stage processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161449e+00] + [Pre-RHS processing (stage 1 of 7) at t = 4.36e-02 (tn = 3.50e-02 , tcur = 4.36e-02), ||y||_2 = 2.0383161449e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0649972629e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0650001838e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114167342e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114176855e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114148140e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194404e+00] + [Post-stage processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194404e+00] + [Pre-RHS processing (stage 2 of 7) at t = 4.96e-02 (tn = 3.50e-02 , tcur = 4.96e-02), ||y||_2 = 2.0114194404e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0649972629e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0650001839e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236350168e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236359771e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236330982e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366549e+00] + [Post-stage processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366549e+00] + [Pre-RHS processing (stage 3 of 7) at t = 4.66e-02 (tn = 3.50e-02 , tcur = 4.66e-02), ||y||_2 = 2.0236366549e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0649972622e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0650001825e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565069828e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565079665e+00] + [Post-stage processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070541e+00] + [Pre-RHS processing (stage 4 of 7) at t = 3.76e-02 (tn = 3.50e-02 , tcur = 3.76e-02), ||y||_2 = 2.0565070541e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 2.0649972625e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 2.0650001830e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686832168e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686841353e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686812913e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914710e+00] + [Post-stage processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914710e+00] + [Pre-RHS processing (stage 5 of 7) at t = 5.93e-02 (tn = 3.50e-02 , tcur = 5.93e-02), ||y||_2 = 1.9686914710e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 2.0649991558e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 2.0649972625e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 2.0650001830e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163575635e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163584389e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163556320e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758117e+00] + [Post-stage processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758117e+00] + [Pre-RHS processing (stage 6 of 7) at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02), ||y||_2 = 1.9163758117e+00] + [Post-step processing at t = 6.97e-02 (tn = 3.50e-02 , tcur = 6.97e-02),||y||_2 = 1.9169542285e+00] + 6.9697813939e-02 1.2242491983e+00 1.4751025098e+00 2.2221884333e-08 2.5857302401e-06 ------------------------------------------------------------------------------------------------------------------------------ -Current time = 0.0696978109064544 +Current time = 0.0696978139393375 Steps = 3 Step attempts = 3 Stability limited steps = 0 @@ -65,8 +150,8 @@ Error test fails = 0 NLS step fails = 0 Inequality constraint fails = 0 Initial step size = 0.000102986025609508 -Last step size = 0.0346732920553526 -Current step size = 0.0331306530355695 +Last step size = 0.0346732920075373 +Current step size = 0.0331306528243113 Explicit RHS fn evals = 23 Implicit RHS fn evals = 62 NLS iters = 39 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out index 314dad11d9..80768d9871 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_1.out @@ -8,36 +8,72 @@ Using GMRES iterative linear solver [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 8) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Post-stage processing (stage 1 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213151057e+00] + [Pre-RHS processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213183373e+00] + [Pre-RHS processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213213312e+00] + [Pre-RHS processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213150886e+00] [Post-stage processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213150886e+00] [Pre-RHS processing (stage 2 of 8) at t = 3.33e-04 (tn = 0.00e+00 , tcur = 3.33e-04), ||y||_2 = 2.1213150886e+00] [Post-stage processing (stage 3 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993503e+00] + [Pre-RHS processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1213183389e+00] + [Pre-RHS processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1213213345e+00] + [Pre-RHS processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993415e+00] [Post-stage processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993415e+00] [Pre-RHS processing (stage 4 of 8) at t = 6.67e-04 (tn = 0.00e+00 , tcur = 6.67e-04), ||y||_2 = 2.1212993415e+00] [Post-stage processing (stage 5 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731966e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213183413e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213213393e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-stage processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.6090241079e-13 1.1546319456e-14 [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] [Pre-RHS processing (stage 0 of 8) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-stage processing (stage 1 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364434e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212711424e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212741398e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364263e+00] [Post-stage processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364263e+00] [Pre-RHS processing (stage 2 of 8) at t = 1.33e-03 (tn = 1.00e-03 , tcur = 1.33e-03), ||y||_2 = 2.1212364263e+00] [Post-stage processing (stage 3 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892263e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1212711424e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1212741398e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892175e+00] [Post-stage processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892175e+00] [Pre-RHS processing (stage 4 of 8) at t = 1.67e-03 (tn = 1.00e-03 , tcur = 1.67e-03), ||y||_2 = 2.1211892175e+00] [Post-stage processing (stage 5 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211316142e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212711430e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212741409e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-stage processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 2.9067859231e-12 2.3980817332e-14 [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] [Pre-RHS processing (stage 0 of 8) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-stage processing (stage 1 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210634067e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1211295605e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1211325579e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210633896e+00] [Post-stage processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210633896e+00] [Pre-RHS processing (stage 2 of 8) at t = 2.33e-03 (tn = 2.00e-03 , tcur = 2.33e-03), ||y||_2 = 2.1210633896e+00] [Post-stage processing (stage 3 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847405e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1211295605e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1211325579e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847317e+00] [Post-stage processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847317e+00] [Pre-RHS processing (stage 4 of 8) at t = 2.67e-03 (tn = 2.00e-03 , tcur = 2.67e-03), ||y||_2 = 2.1209847317e+00] [Post-stage processing (stage 5 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956853e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211295608e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211325586e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] [Post-stage processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 1.0538681039e-11 3.7747582837e-14 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out index 7a2f228695..fcad2aa93a 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_2.out @@ -8,12 +8,24 @@ Using GMRES iterative linear solver [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 8) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] [Post-stage processing (stage 1 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213113879e+00] + [Pre-RHS processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213183438e+00] + [Pre-RHS processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213213443e+00] + [Pre-RHS processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213113879e+00] [Post-stage processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213113879e+00] [Pre-RHS processing (stage 2 of 8) at t = 4.36e-04 (tn = 0.00e+00 , tcur = 4.36e-04), ||y||_2 = 2.1213113879e+00] [Post-stage processing (stage 3 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1212960228e+00] + [Pre-RHS processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1213183421e+00] + [Pre-RHS processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1213213409e+00] + [Pre-RHS processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1212960259e+00] [Post-stage processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1212960259e+00] [Pre-RHS processing (stage 4 of 8) at t = 7.18e-04 (tn = 0.00e+00 , tcur = 7.18e-04), ||y||_2 = 2.1212960259e+00] [Post-stage processing (stage 5 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731087e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213183406e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213213379e+00] + [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731290e+00] [Post-stage processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731290e+00] [Pre-RHS processing (stage 6 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731290e+00] [Post-stage processing (stage 7 of 8) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] @@ -22,12 +34,24 @@ Using GMRES iterative linear solver [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] [Pre-RHS processing (stage 0 of 8) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-stage processing (stage 1 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212230476e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212711435e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212741418e+00] + [Pre-RHS processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212230476e+00] [Post-stage processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212230476e+00] [Pre-RHS processing (stage 2 of 8) at t = 1.44e-03 (tn = 1.00e-03 , tcur = 1.44e-03), ||y||_2 = 2.1212230476e+00] [Post-stage processing (stage 3 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1211810603e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1212711432e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1212741414e+00] + [Pre-RHS processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1211810634e+00] [Post-stage processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1211810634e+00] [Pre-RHS processing (stage 4 of 8) at t = 1.72e-03 (tn = 1.00e-03 , tcur = 1.72e-03), ||y||_2 = 2.1211810634e+00] [Post-stage processing (stage 5 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315263e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212711428e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212741405e+00] + [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315465e+00] [Post-stage processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315465e+00] [Pre-RHS processing (stage 6 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315465e+00] [Post-stage processing (stage 7 of 8) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] @@ -36,12 +60,24 @@ Using GMRES iterative linear solver [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] [Pre-RHS processing (stage 0 of 8) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-stage processing (stage 1 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1210403366e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1211295611e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1211325591e+00] + [Pre-RHS processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1210403366e+00] [Post-stage processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1210403366e+00] [Pre-RHS processing (stage 2 of 8) at t = 2.44e-03 (tn = 2.00e-03 , tcur = 2.44e-03), ||y||_2 = 2.1210403366e+00] [Post-stage processing (stage 3 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1209717381e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1211295610e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1211325588e+00] + [Pre-RHS processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1209717412e+00] [Post-stage processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1209717412e+00] [Pre-RHS processing (stage 4 of 8) at t = 2.72e-03 (tn = 2.00e-03 , tcur = 2.72e-03), ||y||_2 = 2.1209717412e+00] [Post-stage processing (stage 5 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208955974e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211295607e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211325583e+00] + [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956177e+00] [Post-stage processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956177e+00] [Pre-RHS processing (stage 6 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956177e+00] [Post-stage processing (stage 7 of 8) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out index ee18c25fe4..e28d9326b8 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_4.out @@ -7,34 +7,82 @@ Using GMRES iterative linear solver 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1213183396e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1213213360e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987262e+00] [Post-stage processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987262e+00] [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987262e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1213183393e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1213213353e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901049e+00] [Post-stage processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901049e+00] [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901049e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1213183421e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1213213410e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212597444e+00] [Post-stage processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212597444e+00] [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212597444e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213183414e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213213394e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-stage processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.4846791291e-13 1.5143442056e-13 [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] [Pre-RHS processing (stage 0 of 5) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1212711427e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1212741403e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211876769e+00] [Post-stage processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211876769e+00] [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211876769e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1212711425e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1212741399e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211673971e+00] [Post-stage processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211673971e+00] [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211673971e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1212711434e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1212741417e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055797e+00] [Post-stage processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055797e+00] [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055797e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212711431e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212741411e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-stage processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 2.6707525080e-12 2.9021229864e-13 [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] [Pre-RHS processing (stage 0 of 5) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1211295607e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1211325583e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209822662e+00] [Post-stage processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209822662e+00] [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209822662e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1211295606e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1211325581e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209503332e+00] [Post-stage processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209503332e+00] [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209503332e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1211295611e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1211325591e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570755e+00] [Post-stage processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570755e+00] [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570755e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211295609e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211325588e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] [Post-stage processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 9.4586560806e-12 4.1744385726e-13 diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out index 0d47ad3d70..7780877a70 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_mristep_5.out @@ -7,34 +7,82 @@ Using GMRES iterative linear solver 0.000000000000000e+00 1.224744871391589e+00 1.732050807568877e+00 0.000000000000000e+00 0.000000000000000e+00 [Pre-step processing at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00),||y||_2 = 2.1213203436e+00] [Pre-RHS processing (stage 0 of 5) at t = 0.00e+00 (tn = 0.00e+00 , tcur = 0.00e+00), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1213183438e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1213213444e+00] + [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987717e+00] [Post-stage processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987717e+00] [Pre-RHS processing (stage 1 of 5) at t = 6.76e-04 (tn = 0.00e+00 , tcur = 6.76e-04), ||y||_2 = 2.1212987717e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1213183444e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1213213455e+00] + [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901821e+00] [Post-stage processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901821e+00] [Pre-RHS processing (stage 2 of 5) at t = 8.00e-04 (tn = 0.00e+00 , tcur = 8.00e-04), ||y||_2 = 2.1212901821e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1213183402e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1213213371e+00] + [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212596854e+00] [Post-stage processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212596854e+00] [Pre-RHS processing (stage 3 of 5) at t = 1.13e-03 (tn = 0.00e+00 , tcur = 1.13e-03), ||y||_2 = 2.1212596854e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213203436e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213183414e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1213213394e+00] + [Pre-RHS processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-stage processing (stage 4 of 5) at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] [Post-step processing at t = 1.00e-03 (tn = 0.00e+00 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] 1.0000000000e-03 1.2247447693e+00 1.7319930735e+00 2.8288482667e-13 1.3744561045e-13 [Pre-step processing at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03),||y||_2 = 2.1212731452e+00] [Pre-RHS processing (stage 0 of 5) at t = 1.00e-03 (tn = 1.00e-03 , tcur = 1.00e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1212711437e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1212741424e+00] + [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211877224e+00] [Post-stage processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211877224e+00] [Pre-RHS processing (stage 1 of 5) at t = 1.68e-03 (tn = 1.00e-03 , tcur = 1.68e-03), ||y||_2 = 2.1211877224e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1212711440e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1212741429e+00] + [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211674743e+00] [Post-stage processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211674743e+00] [Pre-RHS processing (stage 2 of 5) at t = 1.80e-03 (tn = 1.00e-03 , tcur = 1.80e-03), ||y||_2 = 2.1211674743e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1212711427e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1212741403e+00] + [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055207e+00] [Post-stage processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055207e+00] [Pre-RHS processing (stage 3 of 5) at t = 2.13e-03 (tn = 1.00e-03 , tcur = 2.13e-03), ||y||_2 = 2.1211055207e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212731452e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212711431e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1212741411e+00] + [Pre-RHS processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-stage processing (stage 4 of 5) at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] [Post-step processing at t = 2.00e-03 (tn = 1.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] 2.0000000000e-03 1.2247444631e+00 1.7318198829e+00 2.7395863356e-12 2.6245672302e-13 [Pre-step processing at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03),||y||_2 = 2.1211315628e+00] [Pre-RHS processing (stage 0 of 5) at t = 2.00e-03 (tn = 2.00e-03 , tcur = 2.00e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1211295613e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1211325595e+00] + [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209823117e+00] [Post-stage processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209823117e+00] [Pre-RHS processing (stage 1 of 5) at t = 2.68e-03 (tn = 2.00e-03 , tcur = 2.68e-03), ||y||_2 = 2.1209823117e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1211295614e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1211325598e+00] + [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209504105e+00] [Post-stage processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209504105e+00] [Pre-RHS processing (stage 2 of 5) at t = 2.80e-03 (tn = 2.00e-03 , tcur = 2.80e-03), ||y||_2 = 2.1209504105e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1211295607e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1211325583e+00] + [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570165e+00] [Post-stage processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570165e+00] [Pre-RHS processing (stage 3 of 5) at t = 3.13e-03 (tn = 2.00e-03 , tcur = 3.13e-03), ||y||_2 = 2.1208570165e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211315628e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211295609e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1211325588e+00] + [Pre-RHS processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] [Post-stage processing (stage 4 of 5) at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03), ||y||_2 = 2.1208956339e+00] [Post-step processing at t = 3.00e-03 (tn = 2.00e-03 , tcur = 3.00e-03),||y||_2 = 2.1208956339e+00] 3.0000000000e-03 1.2247439528e+00 1.7315312703e+00 9.5614627327e-12 3.7592151614e-13 From 3db727edfbbf716e5c19b8351c8e3ff976eb2326 Mon Sep 17 00:00:00 2001 From: "Daniel R. Reynolds" Date: Tue, 3 Feb 2026 22:47:20 -0500 Subject: [PATCH 32/32] Ensured that we separately test stageinfo output for SSP(s,3) with s=9 and s=4 stages, now that default is 4) --- .../arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp index cad68e3e32..17ee8ab6cc 100644 --- a/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp +++ b/test/unit_tests/arkode/CXX_serial/ark_test_stageinfo_lsrkstep.cpp @@ -85,8 +85,9 @@ int main(int argc, char* argv[]) } else if (method == 3) { - cout << "Using SSP(s,3) method" << endl; + cout << "Using SSP(9,3) method" << endl; flag = LSRKStepSetSSPMethodByName(arkode_mem, "ARKODE_LSRK_SSP_S_3"); + if (flag == 0) { flag = LSRKStepSetNumSSPStages(arkode_mem, 4); } } else if (method == 4) {