本文整理汇总了C++中CVProcessError函数的典型用法代码示例。如果您正苦于以下问题:C++ CVProcessError函数的具体用法?C++ CVProcessError怎么用?C++ CVProcessError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CVProcessError函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CVSpilsSetJacTimesVecFnB
int CVSpilsSetJacTimesVecFnB(void *cvadj_mem, CVSpilsJacTimesVecFnB jtimesB,
void *jac_dataB)
{
CVadjMem ca_mem;
CVSpilsMemB cvspilsB_mem;
CVodeMem cvB_mem;
int flag;
if (cvadj_mem == NULL) {
CVProcessError(NULL, CVSPILS_ADJMEM_NULL, "CVSPILS", "CVSpilsSetJacTimesVecFnB", MSGS_CAMEM_NULL);
return(CVSPILS_ADJMEM_NULL);
}
ca_mem = (CVadjMem) cvadj_mem;
cvB_mem = ca_mem->cvb_mem;
if (lmemB == NULL) {
CVProcessError(cvB_mem, CVSPILS_LMEMB_NULL, "CVSPILS", "CVSpilsSetJacTimesVecFnB", MSGS_LMEMB_NULL);
return(CVSPILS_LMEMB_NULL);
}
cvspilsB_mem = (CVSpilsMemB) lmemB;
jtimes_B = jtimesB;
jac_data_B = jac_dataB;
flag = CVSpilsSetJacTimesVecFn(cvB_mem, CVAspilsJacTimesVec, cvadj_mem);
return(flag);
}
示例2: CVBBDPrecGetNumGfnEvals
int CVBBDPrecGetNumGfnEvals(void *cvode_mem, long int *ngevalsBBDP)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
CVBBDPrecData pdata;
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVBBDPRE", "CVBBDPrecGetNumGfnEvals", MSGBBD_MEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (cv_mem->cv_lmem == NULL) {
CVProcessError(cv_mem, CVSPILS_LMEM_NULL, "CVBBDPRE", "CVBBDPrecGetNumGfnEvals", MSGBBD_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) cv_mem->cv_lmem;
if (cvspils_mem->s_P_data == NULL) {
CVProcessError(cv_mem, CVSPILS_PMEM_NULL, "CVBBDPRE", "CVBBDPrecGetNumGfnEvals", MSGBBD_PMEM_NULL);
return(CVSPILS_PMEM_NULL);
}
pdata = (CVBBDPrecData) cvspils_mem->s_P_data;
*ngevalsBBDP = pdata->nge;
return(CVSPILS_SUCCESS);
}
示例3: CVSpilsSetPreconditionerB
int CVSpilsSetPreconditionerB(void *cvadj_mem, CVSpilsPrecSetupFnB psetB,
CVSpilsPrecSolveFnB psolveB, void *P_dataB)
{
CVadjMem ca_mem;
CVSpilsMemB cvspilsB_mem;
CVodeMem cvB_mem;
int flag;
if (cvadj_mem == NULL) {
CVProcessError(NULL, CVSPILS_ADJMEM_NULL, "CVSPILS", "CVSpilsSetPreconditionerB", MSGS_CAMEM_NULL);
return(CVSPILS_ADJMEM_NULL);
}
ca_mem = (CVadjMem) cvadj_mem;
cvB_mem = ca_mem->cvb_mem;
if (lmemB == NULL) {
CVProcessError(cvB_mem, CVSPILS_LMEMB_NULL, "CVSPILS", "CVSpilsSetPreconditonerB", MSGS_LMEMB_NULL);
return(CVSPILS_LMEMB_NULL);
}
cvspilsB_mem = (CVSpilsMemB) lmemB;
pset_B = psetB;
psolve_B = psolveB;
P_data_B = P_dataB;
flag = CVSpilsSetPreconditioner(cvB_mem, CVAspilsPrecSetup, CVAspilsPrecSolve, cvadj_mem);
return(flag);
}
示例4: CVSpilsSetDelt
int CVSpilsSetDelt(void *cvode_mem, realtype delt)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
/* Return immediately if cvode_mem is NULL */
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVSPILS", "CVSpilsSetDelt", MSGS_CVMEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (lmem == NULL) {
CVProcessError(cv_mem, CVSPILS_LMEM_NULL, "CVSPILS", "CVSpilsSetDelt", MSGS_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) lmem;
/* Check for legal delt */
if(delt < ZERO) {
CVProcessError(cv_mem, CVSPILS_ILL_INPUT, "CVSPILS", "CVSpilsSetDelt", MSGS_BAD_DELT);
return(CVSPILS_ILL_INPUT);
}
cvspils_mem->s_delt = (delt == ZERO) ? CVSPILS_DELT : delt;
return(CVSPILS_SUCCESS);
}
示例5: CVSpilsSetPreconditioner
int CVSpilsSetPreconditioner(void *cvode_mem, CVSpilsPrecSetupFn pset,
CVSpilsPrecSolveFn psolve, void *P_data)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
/* Return immediately if cvode_mem is NULL */
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVSPILS", "CVSpilsSetPreconditioner", MSGS_CVMEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (lmem == NULL) {
CVProcessError(cv_mem, CVSPILS_LMEM_NULL, "CVSPILS", "CVSpilsSetPreconditioner", MSGS_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) lmem;
cvspils_mem->s_pset = pset;
cvspils_mem->s_psolve = psolve;
if (psolve != NULL) cvspils_mem->s_P_data = P_data;
return(CVSPILS_SUCCESS);
}
示例6: CVSpilsSetGSType
int CVSpilsSetGSType(void *cvode_mem, int gstype)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
/* Return immediately if cvode_mem is NULL */
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVSPILS", "CVSpilsSetGSType", MSGS_CVMEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (lmem == NULL) {
CVProcessError(cv_mem, CVSPILS_LMEM_NULL, "CVSPILS", "CVSpilsSetGSType", MSGS_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) lmem;
if (ils_type != SPILS_SPGMR) {
CVProcessError(cv_mem, CVSPILS_ILL_INPUT, "CVSPILS", "CVSpilsSetGSType", MSGS_BAD_LSTYPE);
return(CVSPILS_ILL_INPUT);
}
/* Check for legal gstype */
if ((gstype != MODIFIED_GS) && (gstype != CLASSICAL_GS)) {
CVProcessError(cv_mem, CVSPILS_ILL_INPUT, "CVSPILS", "CVSpilsSetGSType", MSGS_BAD_GSTYPE);
return(CVSPILS_ILL_INPUT);
}
cvspils_mem->s_gstype = gstype;
return(CVSPILS_SUCCESS);
}
示例7: CVSpilsSetMaxl
int CVSpilsSetMaxl(void *cvode_mem, int maxl)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
int mxl;
/* Return immediately if cvode_mem is NULL */
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVSPILS", "CVSpilsSetMaxl", MSGS_CVMEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (lmem == NULL) {
CVProcessError(NULL, CVSPILS_LMEM_NULL, "CVSPILS", "CVSpilsSetMaxl", MSGS_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) lmem;
if (ils_type == SPILS_SPGMR) {
CVProcessError(cv_mem, CVSPILS_ILL_INPUT, "CVSPILS", "CVSpilsSetMaxl", MSGS_BAD_LSTYPE);
return(CVSPILS_ILL_INPUT);
}
mxl = (maxl <= 0) ? CVSPILS_MAXL : maxl;
cvspils_mem->s_maxl = mxl;
/* spbcg_mem->l_max = mxl; */
return(CVSPILS_SUCCESS);
}
示例8: CVBandPrecGetNumRhsEvals
int CVBandPrecGetNumRhsEvals(void *cvode_mem, long int *nfevalsBP)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
CVBandPrecData pdata;
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVBANDPRE", "CVBandPrecGetNumRhsEvals", MSGBP_MEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (cv_mem->cv_lmem == NULL) {
CVProcessError(cv_mem, CVSPILS_LMEM_NULL, "CVBANDPRE", "CVBandPrecGetNumRhsEvals", MSGBP_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) cv_mem->cv_lmem;
if (cvspils_mem->s_P_data == NULL) {
CVProcessError(cv_mem, CVSPILS_PMEM_NULL, "CVBANDPRE", "CVBandPrecGetNumRhsEvals", MSGBP_PMEM_NULL);
return(CVSPILS_PMEM_NULL);
}
pdata = (CVBandPrecData) cvspils_mem->s_P_data;
*nfevalsBP = pdata->nfeBP;
return(CVSPILS_SUCCESS);
}
示例9: CVadjGetDataPointPolynomial
int CVadjGetDataPointPolynomial(void *cvadj_mem, long int which,
realtype *t, int *order, N_Vector y)
{
CVadjMem ca_mem;
DtpntMem *dt_mem;
PolynomialDataMem content;
if (cvadj_mem == NULL) {
CVProcessError(NULL, CV_ADJMEM_NULL, "CVODEA", "CVadjGetDataPointPolynomial", MSGAM_NULL_CAMEM);
return(CV_ADJMEM_NULL);
}
ca_mem = (CVadjMem) cvadj_mem;
dt_mem = ca_mem->dt_mem;
if (interpType != CV_POLYNOMIAL) {
CVProcessError(NULL, CV_ILL_INPUT, "CVODEA", "CVadjGetDataPointPolynomial", MSGAM_WRONG_INTERP);
return(CV_ILL_INPUT);
}
*t = dt_mem[which]->t;
content = (PolynomialDataMem) (dt_mem[which]->content);
if (y != NULL)
N_VScale(ONE, content->y, y);
*order = content->order;
return(CV_SUCCESS);
}
示例10: CVadjGetDataPointHermite
int CVadjGetDataPointHermite(void *cvadj_mem, long int which,
realtype *t, N_Vector y, N_Vector yd)
{
CVadjMem ca_mem;
DtpntMem *dt_mem;
HermiteDataMem content;
if (cvadj_mem == NULL) {
CVProcessError(NULL, CV_ADJMEM_NULL, "CVODEA", "CVadjGetDataPointHermite", MSGAM_NULL_CAMEM);
return(CV_ADJMEM_NULL);
}
ca_mem = (CVadjMem) cvadj_mem;
dt_mem = ca_mem->dt_mem;
if (interpType != CV_HERMITE) {
CVProcessError(NULL, CV_ILL_INPUT, "CVODEA", "CVadjGetDataPointHermite", MSGAM_WRONG_INTERP);
return(CV_ILL_INPUT);
}
*t = dt_mem[which]->t;
content = (HermiteDataMem) (dt_mem[which]->content);
if (y != NULL)
N_VScale(ONE, content->y, y);
if (yd != NULL)
N_VScale(ONE, content->yd, yd);
return(CV_SUCCESS);
}
示例11: CVBBDPrecGetWorkSpace
int CVBBDPrecGetWorkSpace(void *cvode_mem, long int *lenrwBBDP, long int *leniwBBDP)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
CVBBDPrecData pdata;
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVBBDPRE", "CVBBDPrecGetWorkSpace", MSGBBD_MEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (cv_mem->cv_lmem == NULL) {
CVProcessError(cv_mem, CVSPILS_LMEM_NULL, "CVBBDPRE", "CVBBDPrecGetWorkSpace", MSGBBD_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) cv_mem->cv_lmem;
if (cvspils_mem->s_P_data == NULL) {
CVProcessError(cv_mem, CVSPILS_PMEM_NULL, "CVBBDPRE", "CVBBDPrecGetWorkSpace", MSGBBD_PMEM_NULL);
return(CVSPILS_PMEM_NULL);
}
pdata = (CVBBDPrecData) cvspils_mem->s_P_data;
*lenrwBBDP = pdata->rpwsize;
*leniwBBDP = pdata->ipwsize;
return(CVSPILS_SUCCESS);
}
示例12: CVSpilsSetPrecType
int CVSpilsSetPrecType(void *cvode_mem, int pretype)
{
CVodeMem cv_mem;
CVSpilsMem cvspils_mem;
/* Return immediately if cvode_mem is NULL */
if (cvode_mem == NULL) {
CVProcessError(NULL, CVSPILS_MEM_NULL, "CVSPILS", "CVSpilsSetPrecType", MSGS_CVMEM_NULL);
return(CVSPILS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (lmem == NULL) {
CVProcessError(cv_mem, CVSPILS_LMEM_NULL, "CVSPILS", "CVSpilsSetPrecType", MSGS_LMEM_NULL);
return(CVSPILS_LMEM_NULL);
}
cvspils_mem = (CVSpilsMem) lmem;
/* Check for legal pretype */
if ((pretype != PREC_NONE) && (pretype != PREC_LEFT) &&
(pretype != PREC_RIGHT) && (pretype != PREC_BOTH)) {
CVProcessError(cv_mem, CVSPILS_ILL_INPUT, "CVSPILS", "CVSpilsSetPrecType", MSGS_BAD_PRETYPE);
return(CVSPILS_ILL_INPUT);
}
cvspils_mem->s_pretype = pretype;
return(CVSPILS_SUCCESS);
}
示例13: CVBandSetJacFnB
int CVBandSetJacFnB(void *cvadj_mem, CVBandJacFnB bjacB, void *jac_dataB)
{
CVadjMem ca_mem;
CVBandMemB cvbandB_mem;
CVodeMem cvB_mem;
int flag;
if (cvadj_mem == NULL) {
CVProcessError(NULL, CVBAND_ADJMEM_NULL, "CVBAND", "CVBandSetJacFnB", MSGB_CAMEM_NULL);
return(CVBAND_ADJMEM_NULL);
}
ca_mem = (CVadjMem) cvadj_mem;
cvB_mem = ca_mem->cvb_mem;
if (lmemB == NULL) {
CVProcessError(cvB_mem, CVBAND_LMEMB_NULL, "CVBAND", "CVBandSetJacFnB", MSGB_LMEMB_NULL);
return(CVBAND_LMEMB_NULL);
}
cvbandB_mem = (CVBandMemB) lmemB;
bjac_B = bjacB;
jac_data_B = jac_dataB;
flag = CVBandSetJacFn(cvB_mem, CVAbandJac, cvadj_mem);
return(flag);
}
示例14: CVDlsGetWorkSpace
/*
* CVDlsGetWorkSpace returns the length of workspace allocated for the
* CVDLS linear solver.
*/
int CVDlsGetWorkSpace(void *cvode_mem, long int *lenrwLS, long int *leniwLS)
{
CVodeMem cv_mem;
CVDlsMem cvdls_mem;
/* Return immediately if cvode_mem is NULL */
if (cvode_mem == NULL) {
CVProcessError(NULL, CVDLS_MEM_NULL, "CVDLS", "CVDlsGetWorkSpace", MSGD_CVMEM_NULL);
return(CVDLS_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (lmem == NULL) {
CVProcessError(cv_mem, CVDLS_LMEM_NULL, "CVDLS", "CVDlsGetWorkSpace", MSGD_LMEM_NULL);
return(CVDLS_LMEM_NULL);
}
cvdls_mem = (CVDlsMem) lmem;
if (mtype == SUNDIALS_DENSE) {
*lenrwLS = 2*n*n;
*leniwLS = n;
} else if (mtype == SUNDIALS_BAND) {
*lenrwLS = n*(smu + mu + 2*ml + 2);
*leniwLS = n;
}
return(CVDLS_SUCCESS);
}
示例15: CVodeSetMaxStep
int CVodeSetMaxStep(void *cvode_mem, realtype hmax)
{
realtype hmax_inv;
CVodeMem cv_mem;
if (cvode_mem==NULL) {
CVProcessError(NULL, CV_MEM_NULL, "CVODE", "CVodeSetMaxStep", MSGCV_NO_MEM);
return (CV_MEM_NULL);
}
cv_mem = (CVodeMem) cvode_mem;
if (hmax < 0) {
CVProcessError(cv_mem, CV_ILL_INPUT, "CVODE", "CVodeSetMaxStep", MSGCV_NEG_HMAX);
return(CV_ILL_INPUT);
}
/* Passing 0 sets hmax = infinity */
if (hmax == ZERO) {
cv_mem->cv_hmax_inv = HMAX_INV_DEFAULT;
return(CV_SUCCESS);
}
hmax_inv = ONE/hmax;
if (hmax_inv * cv_mem->cv_hmin > ONE) {
CVProcessError(cv_mem, CV_ILL_INPUT, "CVODE", "CVodeSetMaxStep", MSGCV_BAD_HMIN_HMAX);
return(CV_ILL_INPUT);
}
cv_mem->cv_hmax_inv = hmax_inv;
return(CV_SUCCESS);
}