21.3. sundials4py API
This section lists the Python API for the sundials4py module and submodules.
21.3.1. Core Module
A submodule of ‘sundials4py’
- class sundials4py.core.FILE
- class sundials4py.core.N_Vector_ID(*values)
- SUNDIALS_NVEC_CUDA = 6
- SUNDIALS_NVEC_CUSTOM = 16
- SUNDIALS_NVEC_HIP = 7
- SUNDIALS_NVEC_KOKKOS = 10
- SUNDIALS_NVEC_MANYVECTOR = 13
- SUNDIALS_NVEC_MPIMANYVECTOR = 14
- SUNDIALS_NVEC_MPIPLUSX = 15
- SUNDIALS_NVEC_OPENMP = 2
- SUNDIALS_NVEC_OPENMPDEV = 11
- SUNDIALS_NVEC_PARALLEL = 1
- SUNDIALS_NVEC_PARHYP = 4
- SUNDIALS_NVEC_PETSC = 5
- SUNDIALS_NVEC_PTHREADS = 3
- SUNDIALS_NVEC_RAJA = 9
- SUNDIALS_NVEC_SERIAL = 0
- SUNDIALS_NVEC_SYCL = 8
- SUNDIALS_NVEC_TRILINOS = 12
- class sundials4py.core.SUNAdaptControllerContent_MRIHTol_(*args, **kwargs)
- class sundials4py.core.SUNAdaptController_Type(*values)
- SUN_ADAPTCONTROLLER_H = 1
- SUN_ADAPTCONTROLLER_MRI_H_TOL = 2
- SUN_ADAPTCONTROLLER_NONE = 0
- class sundials4py.core.SUNAdjointCheckpointScheme_
- class sundials4py.core.SUNAdjointStepper_
- class sundials4py.core.SUNContext_
- class sundials4py.core.SUNDomEigEstimatorContent_Power_(*args, **kwargs)
- class sundials4py.core.SUNDomEigEstimator_(*args, **kwargs)
An estimator is a structure with an implementation-dependent ‘content’ field, and a pointer to a structure of estimator operations corresponding to that implementation.
- class sundials4py.core.SUNDomEigEstimator_Ops_(*args, **kwargs)
Structure containing function pointers to estimator operations
- class sundials4py.core.SUNErrCode(*values)
- SUN_ERR_ADJOINT_STEPPERFAILED = -9977
- SUN_ERR_ADJOINT_STEPPERINVALIDSTOP = -9976
- SUN_ERR_ARG_CORRUPT = -9999
- SUN_ERR_ARG_DIMSMISMATCH = -9995
- SUN_ERR_ARG_INCOMPATIBLE = -9998
- SUN_ERR_ARG_OUTOFRANGE = -9997
- SUN_ERR_ARG_WRONGTYPE = -9996
- SUN_ERR_CHECKPOINT_MISMATCH = -9974
- SUN_ERR_CHECKPOINT_NOT_FOUND = -9975
- SUN_ERR_CORRUPT = -9993
- SUN_ERR_DATANODE_NODENOTFOUND = -9983
- SUN_ERR_DESTROY_FAIL = -9986
- SUN_ERR_EXT_FAIL = -9987
- SUN_ERR_FILE_OPEN = -9991
- SUN_ERR_GENERIC = -9994
- SUN_ERR_MALLOC_FAIL = -9988
- SUN_ERR_MAXIMUM = -1000
- SUN_ERR_MEM_FAIL = -9989
- SUN_ERR_MINIMUM = -10000
- SUN_ERR_MPI_FAIL = -9972
- SUN_ERR_NOT_IMPLEMENTED = -9985
- SUN_ERR_OP_FAIL = -9990
- SUN_ERR_OUTOFRANGE = -9992
- SUN_ERR_PROFILER_MAPFULL = -9982
- SUN_ERR_PROFILER_MAPGET = -9981
- SUN_ERR_PROFILER_MAPINSERT = -9980
- SUN_ERR_PROFILER_MAPKEYNOTFOUND = -9979
- SUN_ERR_PROFILER_MAPSORT = -9978
- SUN_ERR_SUNCTX_CORRUPT = -9973
- SUN_ERR_UNKNOWN = -9970
- SUN_ERR_UNREACHABLE = -9971
- SUN_ERR_USER_FCN_FAIL = -9984
- SUN_SUCCESS = 0
- class sundials4py.core.SUNFullRhsMode(*values)
- SUN_FULLRHS_END = 1
- SUN_FULLRHS_OTHER = 2
- SUN_FULLRHS_START = 0
- class sundials4py.core.SUNLinearSolver_ID(*values)
- SUNLINEARSOLVER_BAND = 0
- SUNLINEARSOLVER_CUSOLVERSP_BATCHQR = 12
- SUNLINEARSOLVER_CUSTOM = 18
- SUNLINEARSOLVER_DENSE = 1
- SUNLINEARSOLVER_GINKGO = 15
- SUNLINEARSOLVER_GINKGOBATCH = 16
- SUNLINEARSOLVER_KLU = 2
- SUNLINEARSOLVER_KOKKOSDENSE = 17
- SUNLINEARSOLVER_LAPACKBAND = 3
- SUNLINEARSOLVER_LAPACKDENSE = 4
- SUNLINEARSOLVER_MAGMADENSE = 13
- SUNLINEARSOLVER_ONEMKLDENSE = 14
- SUNLINEARSOLVER_PCG = 5
- SUNLINEARSOLVER_SPBCGS = 6
- SUNLINEARSOLVER_SPFGMR = 7
- SUNLINEARSOLVER_SPGMR = 8
- SUNLINEARSOLVER_SPTFQMR = 9
- SUNLINEARSOLVER_SUPERLUDIST = 10
- SUNLINEARSOLVER_SUPERLUMT = 11
- class sundials4py.core.SUNLinearSolver_Type(*values)
- SUNLINEARSOLVER_DIRECT = 0
- SUNLINEARSOLVER_ITERATIVE = 1
- SUNLINEARSOLVER_MATRIX_EMBEDDED = 3
- SUNLINEARSOLVER_MATRIX_ITERATIVE = 2
- class sundials4py.core.SUNLogLevel(*values)
- SUN_LOGLEVEL_ALL = -1
- SUN_LOGLEVEL_DEBUG = 4
- SUN_LOGLEVEL_ERROR = 1
- SUN_LOGLEVEL_INFO = 3
- SUN_LOGLEVEL_NONE = 0
- SUN_LOGLEVEL_WARNING = 2
- class sundials4py.core.SUNLogger_
- class sundials4py.core.SUNMatrix_ID(*values)
- SUNMATRIX_BAND = 3
- SUNMATRIX_CUSPARSE = 6
- SUNMATRIX_CUSTOM = 10
- SUNMATRIX_DENSE = 0
- SUNMATRIX_GINKGO = 7
- SUNMATRIX_GINKGOBATCH = 8
- SUNMATRIX_KOKKOSDENSE = 9
- SUNMATRIX_MAGMADENSE = 1
- SUNMATRIX_ONEMKLDENSE = 2
- SUNMATRIX_SLUNRLOC = 5
- SUNMATRIX_SPARSE = 4
- class sundials4py.core.SUNMemoryHelper_(*args, **kwargs)
- class sundials4py.core.SUNMemoryHelper_Ops_(*args, **kwargs)
- class sundials4py.core.SUNMemoryType(*values)
- SUNMEMTYPE_DEVICE = 2
- SUNMEMTYPE_HOST = 0
- SUNMEMTYPE_PINNED = 1
- SUNMEMTYPE_UVM = 3
- class sundials4py.core.SUNNonlinearSolver_Type(*values)
- SUNNONLINEARSOLVER_FIXEDPOINT = 1
- SUNNONLINEARSOLVER_ROOTFIND = 0
- class sundials4py.core.SUNOutputFormat(*values)
- SUN_OUTPUTFORMAT_CSV = 1
- SUN_OUTPUTFORMAT_TABLE = 0
- class sundials4py.core.SUNPrecType(*values)
- SUN_PREC_BOTH = 3
- SUN_PREC_LEFT = 1
- SUN_PREC_NONE = 0
- SUN_PREC_RIGHT = 2
- class sundials4py.core.SUNProfiler_
- class sundials4py.core.SUNStepper_
- class sundials4py.core._N_VectorContent_ManyVector(*args, **kwargs)
- class sundials4py.core._N_VectorContent_Serial(*args, **kwargs)
- class sundials4py.core._SUNAdaptControllerContent_ImExGus(*args, **kwargs)
- class sundials4py.core._SUNAdaptControllerContent_Soderlind(*args, **kwargs)
- class sundials4py.core._SUNLinearSolverContent_Band(*args, **kwargs)
- class sundials4py.core._SUNLinearSolverContent_Dense(*args, **kwargs)
- class sundials4py.core._SUNLinearSolverContent_PCG(*args, **kwargs)
- class sundials4py.core._SUNLinearSolverContent_SPBCGS(*args, **kwargs)
- class sundials4py.core._SUNLinearSolverContent_SPFGMR(*args, **kwargs)
- class sundials4py.core._SUNLinearSolverContent_SPGMR(*args, **kwargs)
- class sundials4py.core._SUNLinearSolverContent_SPTFQMR(*args, **kwargs)
- class sundials4py.core._SUNMatrixContent_Band(*args, **kwargs)
- class sundials4py.core._SUNMatrixContent_Dense(*args, **kwargs)
- class sundials4py.core._SUNMatrixContent_Sparse(*args, **kwargs)
- class sundials4py.core._SUNNonlinearSolverContent_FixedPoint(*args, **kwargs)
- class sundials4py.core._SUNNonlinearSolverContent_Newton(*args, **kwargs)
- class sundials4py.core._generic_N_Vector(*args, **kwargs)
A vector is a structure with an implementation-dependent ‘content’ field, and a pointer to a structure of vector operations corresponding to that implementation.
- class sundials4py.core._generic_N_Vector_Ops(*args, **kwargs)
Structure containing function pointers to vector operations
- class sundials4py.core._generic_SUNAdaptController(*args, **kwargs)
A SUNAdaptController is a structure with an implementation-dependent ‘content’ field, and a pointer to a structure of operations corresponding to that implementation.
- class sundials4py.core._generic_SUNAdaptController_Ops(*args, **kwargs)
Structure containing function pointers to controller operations
- class sundials4py.core._generic_SUNLinearSolver(*args, **kwargs)
A linear solver is a structure with an implementation-dependent ‘content’ field, and a pointer to a structure of linear solver operations corresponding to that implementation.
- class sundials4py.core._generic_SUNLinearSolver_Ops(*args, **kwargs)
Structure containing function pointers to linear solver operations
- class sundials4py.core._generic_SUNMatrix(*args, **kwargs)
A matrix is a structure with an implementation-dependent ‘content’ field, and a pointer to a structure of matrix operations corresponding to that implementation.
- class sundials4py.core._generic_SUNMatrix_Ops(*args, **kwargs)
Structure containing function pointers to matrix operations
- class sundials4py.core._generic_SUNNonlinearSolver(*args, **kwargs)
A nonlinear solver is a structure with an implementation-dependent ‘content’ field, and a pointer to a structure of solver nonlinear solver operations corresponding to that implementation.
- class sundials4py.core._generic_SUNNonlinearSolver_Ops(*args, **kwargs)
Structure containing function pointers to nonlinear solver operations
21.3.2. ARKODE Module
A submodule of ‘sundials4py’
- class sundials4py.arkode.ARKAccumError(*values)
- ARK_ACCUMERROR_AVG = 3
- ARK_ACCUMERROR_MAX = 1
- ARK_ACCUMERROR_NONE = 0
- ARK_ACCUMERROR_SUM = 2
- class sundials4py.arkode.ARKODE_DIRKTableID(*values)
- ARKODE_ARK2_DIRK_3_1_2 = 123
- ARKODE_ARK324L2SA_DIRK_4_2_3 = 104
- ARKODE_ARK436L2SA_DIRK_6_3_4 = 109
- ARKODE_ARK437L2SA_DIRK_7_3_4 = 112
- ARKODE_ARK548L2SA_DIRK_8_4_5 = 111
- ARKODE_ARK548L2SAb_DIRK_8_4_5 = 113
- ARKODE_BACKWARD_EULER_1_1 = 124
- ARKODE_BILLINGTON_3_3_2 = 101
- ARKODE_CASH_5_2_4 = 105
- ARKODE_CASH_5_3_4 = 106
- ARKODE_DIRK_NONE = -1
- ARKODE_ESDIRK324L2SA_4_2_3 = 114
- ARKODE_ESDIRK325L2SA_5_2_3 = 115
- ARKODE_ESDIRK32I5L2SA_5_2_3 = 116
- ARKODE_ESDIRK436L2SA_6_3_4 = 117
- ARKODE_ESDIRK437L2SA_7_3_4 = 120
- ARKODE_ESDIRK43I6L2SA_6_3_4 = 118
- ARKODE_ESDIRK547L2SA2_7_4_5 = 122
- ARKODE_ESDIRK547L2SA_7_4_5 = 121
- ARKODE_IMPLICIT_MIDPOINT_1_2 = 125
- ARKODE_IMPLICIT_TRAPEZOIDAL_2_2 = 126
- ARKODE_KVAERNO_4_2_3 = 103
- ARKODE_KVAERNO_5_3_4 = 108
- ARKODE_KVAERNO_7_4_5 = 110
- ARKODE_MAX_DIRK_NUM = 126
- ARKODE_MIN_DIRK_NUM = 100
- ARKODE_QESDIRK436L2SA_6_3_4 = 119
- ARKODE_SDIRK_2_1_2 = 100
- ARKODE_SDIRK_5_3_4 = 107
- ARKODE_TRBDF2_3_3_2 = 102
- class sundials4py.arkode.ARKODE_ERKTableID(*values)
- ARKODE_ARK2_ERK_3_1_2 = 15
- ARKODE_ARK324L2SA_ERK_4_2_3 = 2
- ARKODE_ARK436L2SA_ERK_6_3_4 = 4
- ARKODE_ARK437L2SA_ERK_7_3_4 = 13
- ARKODE_ARK548L2SA_ERK_8_4_5 = 9
- ARKODE_ARK548L2SAb_ERK_8_4_5 = 14
- ARKODE_BOGACKI_SHAMPINE_4_2_3 = 1
- ARKODE_CASH_KARP_6_4_5 = 6
- ARKODE_DORMAND_PRINCE_7_4_5 = 8
- ARKODE_ERK_NONE = -1
- ARKODE_EXPLICIT_MIDPOINT_EULER_2_1_2 = 24
- ARKODE_FEHLBERG_13_7_8 = 11
- ARKODE_FEHLBERG_6_4_5 = 7
- ARKODE_FORWARD_EULER_1_1 = 22
- ARKODE_HEUN_EULER_2_1_2 = 0
- ARKODE_KNOTH_WOLKE_3_3 = 12
- ARKODE_MAX_ERK_NUM = 26
- ARKODE_MIN_ERK_NUM = 0
- ARKODE_RALSTON_3_1_2 = 25
- ARKODE_RALSTON_EULER_2_1_2 = 23
- ARKODE_SAYFY_ABURUB_6_3_4 = 5
- ARKODE_SHU_OSHER_3_2_3 = 17
- ARKODE_SOFRONIOU_SPALETTA_5_3_4 = 16
- ARKODE_TSITOURAS_7_4_5 = 26
- ARKODE_VERNER_10_6_7 = 19
- ARKODE_VERNER_13_7_8 = 20
- ARKODE_VERNER_16_8_9 = 21
- ARKODE_VERNER_8_5_6 = 10
- ARKODE_VERNER_9_5_6 = 18
- ARKODE_ZONNEVELD_5_3_4 = 3
- class sundials4py.arkode.ARKODE_LSRKMethodType(*values)
- ARKODE_LSRK_RKC_2 = 0
- ARKODE_LSRK_RKL_2 = 1
- ARKODE_LSRK_SSP_10_4 = 4
- ARKODE_LSRK_SSP_S_2 = 2
- ARKODE_LSRK_SSP_S_3 = 3
- class sundials4py.arkode.ARKODE_MRITableID(*values)
MRI coupling table IDs
- ARKODE_IMEX_MRI_GARK3a = 206
- ARKODE_IMEX_MRI_GARK3b = 207
- ARKODE_IMEX_MRI_GARK4 = 208
- ARKODE_IMEX_MRI_GARK_EULER = 216
- ARKODE_IMEX_MRI_GARK_MIDPOINT = 218
- ARKODE_IMEX_MRI_GARK_TRAPEZOIDAL = 217
- ARKODE_IMEX_MRI_SR21 = 223
- ARKODE_IMEX_MRI_SR32 = 224
- ARKODE_IMEX_MRI_SR43 = 225
- ARKODE_MAX_MRI_NUM = 225
- ARKODE_MERK21 = 219
- ARKODE_MERK32 = 220
- ARKODE_MERK43 = 221
- ARKODE_MERK54 = 222
- ARKODE_MIN_MRI_NUM = 200
- ARKODE_MIS_KW3 = 200
- ARKODE_MRI_GARK_BACKWARD_EULER = 214
- ARKODE_MRI_GARK_ERK22a = 211
- ARKODE_MRI_GARK_ERK22b = 212
- ARKODE_MRI_GARK_ERK33a = 201
- ARKODE_MRI_GARK_ERK45a = 202
- ARKODE_MRI_GARK_ESDIRK34a = 204
- ARKODE_MRI_GARK_ESDIRK46a = 205
- ARKODE_MRI_GARK_FORWARD_EULER = 209
- ARKODE_MRI_GARK_IMPLICIT_MIDPOINT = 215
- ARKODE_MRI_GARK_IRK21a = 203
- ARKODE_MRI_GARK_RALSTON2 = 210
- ARKODE_MRI_GARK_RALSTON3 = 213
- ARKODE_MRI_NONE = -1
- class sundials4py.arkode.ARKODE_SPRKMethodID(*values)
- ARKODE_MAX_SPRK_NUM = 11
- ARKODE_MIN_SPRK_NUM = 0
- ARKODE_SPRK_CANDY_ROZMUS_4_4 = 6
- ARKODE_SPRK_EULER_1_1 = 0
- ARKODE_SPRK_LEAPFROG_2_2 = 1
- ARKODE_SPRK_MCLACHLAN_2_2 = 4
- ARKODE_SPRK_MCLACHLAN_3_3 = 5
- ARKODE_SPRK_MCLACHLAN_4_4 = 7
- ARKODE_SPRK_MCLACHLAN_5_6 = 8
- ARKODE_SPRK_NONE = -1
- ARKODE_SPRK_PSEUDO_LEAPFROG_2_2 = 2
- ARKODE_SPRK_RUTH_3_3 = 3
- ARKODE_SPRK_SOFRONIOU_10_36 = 11
- ARKODE_SPRK_SUZUKI_UMENO_8_16 = 10
- ARKODE_SPRK_YOSHIDA_6_8 = 9
- class sundials4py.arkode.ARKODE_SplittingCoefficientsID(*values)
Splitting names use the convention * ARKODE_SPLITTING_<name>_<stages>_<order>_<partitions>
- ARKODE_MAX_SPLITTING_NUM = 6
- ARKODE_MIN_SPLITTING_NUM = 0
- ARKODE_SPLITTING_BEST_2_2_2 = 2
- ARKODE_SPLITTING_LIE_TROTTER_1_1_2 = 0
- ARKODE_SPLITTING_NONE = -1
- ARKODE_SPLITTING_RUTH_3_3_2 = 4
- ARKODE_SPLITTING_STRANG_2_2_2 = 1
- ARKODE_SPLITTING_SUZUKI_3_3_2 = 3
- ARKODE_SPLITTING_YOSHIDA_4_4_2 = 5
- ARKODE_SPLITTING_YOSHIDA_8_6_2 = 6
- class sundials4py.arkode.ARKodeButcherTableMem(*args, **kwargs)
21.3. Types : struct ARKodeButcherTableMem, ARKodeButcherTable
- class sundials4py.arkode.ARKodeSPRKTableMem(*args, **kwargs)
- class sundials4py.arkode.MRISTEP_METHOD_TYPE(*values)
MRIStep method types
- MRISTEP_EXPLICIT = 0
- MRISTEP_IMEX = 2
- MRISTEP_IMPLICIT = 1
- MRISTEP_MERK = 3
- MRISTEP_SR = 4
- class sundials4py.arkode.MRIStepCouplingMem(*args, **kwargs)
21.3. MRI coupling data structure and associated utility routines
- class sundials4py.arkode.SplittingStepCoefficientsMem(*args, **kwargs)
21.3. Types : struct SplittingStepCoefficientsMem, SplittingStepCoefficients
- class sundials4py.arkode._MRIStepInnerStepper
21.3.3. CVODES Module
A submodule of ‘sundials4py’
21.3.4. IDAS Module
A submodule of ‘sundials4py’
21.3.5. KINSOL Module
A submodule of ‘sundials4py’