Skip to content

Commit

Permalink
Applied suggestion from code review regarding internal ARKODE routine…
Browse files Browse the repository at this point in the history
…s (void* arkode_mem -> ARKodeMem ark_mem)
  • Loading branch information
drreynolds committed Apr 25, 2024
1 parent 6d633d6 commit 01b7d1a
Show file tree
Hide file tree
Showing 36 changed files with 1,079 additions and 1,226 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -531,9 +531,6 @@ Optional inputs for IVP method selection
:retval ARK_MEM_NULL: if the SPRKStep memory is ``NULL``
:retval ARK_ILL_INPUT: if an argument has an illegal value
.. deprecated:: x.y.z
Use :c:func:`ARKodeSetUseCompensatedSums` instead.
.. _ARKODE.Usage.SPRKStep.SPRKStepRootfindingInput:
Expand Down
21 changes: 0 additions & 21 deletions doc/arkode/guide/source/Usage/User_callable.rst
Original file line number Diff line number Diff line change
Expand Up @@ -861,7 +861,6 @@ Supply a pointer for user data :c:func:`ARKodeSetUserData`
Maximum no. of ARKODE error test failures :c:func:`ARKodeSetMaxErrTestFails` 7
Set inequality constraints on solution :c:func:`ARKodeSetConstraints` ``NULL``
Set max number of constraint failures :c:func:`ARKodeSetMaxNumConstrFails` 10
Use compensated summation :c:func:`ARKodeSetUseCompensatedSums` off
================================================ ======================================= =======================


Expand Down Expand Up @@ -1347,26 +1346,6 @@ Use compensated summation :c:func:`ARKodeSetUseCompensat
.. versionadded:: x.y.z
.. c:function:: int ARKodeSetUseCompensatedSums(void* arkode_mem, sunbooleantype onoff)
Specifies if :ref:`compensated summation (and the incremental form) <ARKODE.Mathematics.SPRKStep.Compensated>`
should be used where applicable. This is currently only supported when using
the SPRKStep time-stepping module, but may be incorporated more thoroughly into
ARKODE in a future release.
This increases the computational cost by 2 extra vector operations per stage
and an additional 5 per time step. It also requires one extra vector to be
stored. However, it is signficantly more robust to roundoff error
accumulation.
:param arkode_mem: pointer to the ARKODE memory block.
:param onoff: should compensated summation be used (1) or not (0).
:retval ARK_SUCCESS: the function exited successfully.
:retval ARK_MEM_NULL: ``arkode_mem`` was ``NULL``.
:retval ARK_ILL_INPUT: an argument had an illegal value.
.. _ARKODE.Usage.ARKodeAdaptivityInputTable:
Expand Down
4 changes: 2 additions & 2 deletions examples/arkode/C_serial/ark_damped_harmonic_symplectic.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ int main(int argc, char* argv[])
retval = ARKodeSetOrder(arkode_mem, order);
if (check_retval(&retval, "ARKodeSetOrder", 1)) { return 1; }

retval = ARKodeSetUseCompensatedSums(arkode_mem, use_compsums);
if (check_retval(&retval, "ARKodeSetUseCompensatedSums", 1)) { return 1; }
retval = SPRKStepSetUseCompensatedSums(arkode_mem, use_compsums);
if (check_retval(&retval, "SPRKStepSetUseCompensatedSums", 1)) { return 1; }

retval = ARKodeSetFixedStep(arkode_mem, dt);
if (check_retval(&retval, "ARKodeSetFixedStep", 1)) { return 1; }
Expand Down
4 changes: 2 additions & 2 deletions examples/arkode/C_serial/ark_harmonic_symplectic.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@ int main(int argc, char* argv[])
retval = ARKodeSetUserData(arkode_mem, &udata);
if (check_retval(&retval, "ARKodeSetUserData", 1)) { return 1; }

retval = ARKodeSetUseCompensatedSums(arkode_mem, use_compsums);
if (check_retval(&retval, "ARKodeSetUseCompensatedSums", 1)) { return 1; }
retval = SPRKStepSetUseCompensatedSums(arkode_mem, use_compsums);
if (check_retval(&retval, "SPRKStepSetUseCompensatedSums", 1)) { return 1; }

retval = ARKodeSetFixedStep(arkode_mem, dt);
if (check_retval(&retval, "ARKodeSetFixedStep", 1)) { return 1; }
Expand Down
4 changes: 2 additions & 2 deletions examples/arkode/C_serial/ark_kepler.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,8 @@ int SolveProblem(ProgramArgs* args, ProblemResult* result, SUNContext sunctx)
retval = SPRKStepSetMethodName(arkode_mem, method_name);
if (check_retval(&retval, "SPRKStepSetMethodName", 1)) { return 1; }

retval = ARKodeSetUseCompensatedSums(arkode_mem, use_compsums);
if (check_retval(&retval, "ARKodeSetUseCompensatedSums", 1)) { return 1; }
retval = SPRKStepSetUseCompensatedSums(arkode_mem, use_compsums);
if (check_retval(&retval, "SPRKStepSetUseCompensatedSums", 1)) { return 1; }

if (step_mode == 0)
{
Expand Down
2 changes: 0 additions & 2 deletions include/arkode/arkode.h
Original file line number Diff line number Diff line change
Expand Up @@ -266,8 +266,6 @@ SUNDIALS_EXPORT int ARKodeSetStopTime(void* arkode_mem, sunrealtype tstop);
SUNDIALS_EXPORT int ARKodeClearStopTime(void* arkode_mem);
SUNDIALS_EXPORT int ARKodeSetFixedStep(void* arkode_mem, sunrealtype hfixed);
SUNDIALS_EXPORT int ARKodeSetMaxNumConstrFails(void* arkode_mem, int maxfails);
SUNDIALS_EXPORT int ARKodeSetUseCompensatedSums(void* arkode_mem,
sunbooleantype onoff);

SUNDIALS_EXPORT int ARKodeSetUserData(void* arkode_mem, void* user_data);

Expand Down
4 changes: 2 additions & 2 deletions include/arkode/arkode_sprkstep.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ int SPRKStepRootInit(void* arkode_mem, int nrtfn, ARKRootFn g);
/* Optional input functions -- must be called AFTER SPRKStepCreate */
SUNDIALS_DEPRECATED_EXPORT_MSG("use ARKodeSetDefaults instead")
int SPRKStepSetDefaults(void* arkode_mem);
SUNDIALS_DEPRECATED_EXPORT_MSG("use ARKodeSetUseCompensatedSums instead")
int SPRKStepSetUseCompensatedSums(void* arkode_mem, sunbooleantype onoff);
SUNDIALS_EXPORT int SPRKStepSetUseCompensatedSums(void* arkode_mem,
sunbooleantype onoff);
SUNDIALS_EXPORT int SPRKStepSetMethod(void* arkode_mem,
ARKodeSPRKTable sprk_storage);
SUNDIALS_EXPORT int SPRKStepSetMethodName(void* arkode_mem, const char* method);
Expand Down
14 changes: 7 additions & 7 deletions src/arkode/arkode.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ int ARKodeResize(void* arkode_mem, N_Vector y0, sunrealtype hscale,
/* Call the stepper-specific resize (if provided) */
if (ark_mem->step_resize)
{
return (ark_mem->step_resize(arkode_mem, y0, hscale, t0, resize, resize_data));
return (ark_mem->step_resize(ark_mem, y0, hscale, t0, resize, resize_data));
}

/* Problem has been successfully re-sized */
Expand Down Expand Up @@ -402,7 +402,7 @@ int ARKodeReset(void* arkode_mem, sunrealtype tR, N_Vector yR)
}

/* Call stepper routine to perform remaining reset operations (if provided) */
if (ark_mem->step_reset) { return (ark_mem->step_reset(arkode_mem, tR, yR)); }
if (ark_mem->step_reset) { return (ark_mem->step_reset(ark_mem, tR, yR)); }

return (ARK_SUCCESS);
}
Expand Down Expand Up @@ -1356,7 +1356,7 @@ void ARKodeFree(void** arkode_mem)
ark_mem = (ARKodeMem)(*arkode_mem);

/* free the time-stepper module memory (if provided) */
if (ark_mem->step_free) { ark_mem->step_free(*arkode_mem); }
if (ark_mem->step_free) { ark_mem->step_free(ark_mem); }

/* free vector storage */
arkFreeVectors(ark_mem);
Expand Down Expand Up @@ -1384,7 +1384,7 @@ void ARKodeFree(void** arkode_mem)
/* free the root-finding module */
if (ark_mem->root_mem != NULL)
{
(void)arkRootFree(*arkode_mem);
(void)arkRootFree(ark_mem);
ark_mem->root_mem = NULL;
}

Expand Down Expand Up @@ -1735,7 +1735,7 @@ void ARKodePrintMem(void* arkode_mem, FILE* outfile)
#endif

/* Call stepper PrintMem function (if provided) */
if (ark_mem->step_printmem) { ark_mem->step_printmem(arkode_mem, outfile); }
if (ark_mem->step_printmem) { ark_mem->step_printmem(ark_mem, outfile); }
}

/*---------------------------------------------------------------
Expand Down Expand Up @@ -3410,8 +3410,8 @@ int arkCheckTemporalError(ARKodeMem ark_mem, int* nflagPtr, int* nefPtr,
larger/smaller than current step, depending on dsm) */
ttmp = (dsm <= ONE) ? ark_mem->tn + ark_mem->h : ark_mem->tn;
nsttmp = (dsm <= ONE) ? ark_mem->nst + 1 : ark_mem->nst;
retval = arkAdapt((void*)ark_mem, hadapt_mem, ark_mem->ycur, ttmp, ark_mem->h,
dsm, nsttmp);
retval = arkAdapt(ark_mem, hadapt_mem, ark_mem->ycur, ttmp, ark_mem->h, dsm,
nsttmp);
if (retval != ARK_SUCCESS) { return (ARK_ERR_FAILURE); }

/* if we've made it here then no nonrecoverable failures occurred; someone above
Expand Down
10 changes: 1 addition & 9 deletions src/arkode/arkode_adapt.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,20 +91,12 @@ void arkPrintAdaptMem(ARKodeHAdaptMem hadapt_mem, FILE* outfile)
computes and sets the value of ark_eta inside of the ARKodeMem
data structure.
---------------------------------------------------------------*/
int arkAdapt(void* arkode_mem, ARKodeHAdaptMem hadapt_mem, N_Vector ycur,
int arkAdapt(ARKodeMem ark_mem, ARKodeHAdaptMem hadapt_mem, N_Vector ycur,
sunrealtype tcur, sunrealtype hcur, sunrealtype dsm, long int nst)
{
int retval;
sunrealtype h_acc, h_cfl, int_dir;
ARKodeMem ark_mem;
int controller_order;
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;

/* Request error-based step size from adaptivity controller */
if (hadapt_mem->pq == 0)
Expand Down
4 changes: 3 additions & 1 deletion src/arkode/arkode_adapt_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
#include <stdarg.h>
#include <sundials/sundials_adaptcontroller.h>

#include "arkode_types_impl.h"

#ifdef __cplusplus /* wrapper to enable C++ usage */
extern "C" {
#endif
Expand Down Expand Up @@ -108,7 +110,7 @@ typedef struct ARKodeHAdaptMemRec

ARKodeHAdaptMem arkAdaptInit(void);
void arkPrintAdaptMem(ARKodeHAdaptMem hadapt_mem, FILE* outfile);
int arkAdapt(void* arkode_mem, ARKodeHAdaptMem hadapt_mem, N_Vector ycur,
int arkAdapt(ARKodeMem ark_mem, ARKodeHAdaptMem hadapt_mem, N_Vector ycur,
sunrealtype tcur, sunrealtype hcur, sunrealtype dsm, long int nst);

#ifdef __cplusplus
Expand Down
Loading

0 comments on commit 01b7d1a

Please sign in to comment.