MCPcopy Create free account
hub / github.com/boutproject/BOUT-dev / CVIncreaseBDF

Function CVIncreaseBDF

externalpackages/PVODE/source/cvode.cpp:1493–1518  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1491*********************************************************************/
1492
1493static void CVIncreaseBDF(CVodeMem cv_mem)
1494{
1495 real alpha0, alpha1, prod, xi, xiold, hsum, A1;
1496 int i, j;
1497
1498 for (i=0; i <= qmax; i++) l[i] = ZERO;
1499 l[2] = alpha1 = prod = xiold = ONE;
1500 alpha0 = -ONE;
1501 hsum = hscale;
1502 if (q > 1) {
1503 for (j=1; j < q; j++) {
1504 hsum += tau[j+1];
1505 xi = hsum / hscale;
1506 prod *= xi;
1507 alpha0 -= ONE / (j+1);
1508 alpha1 += ONE / xi;
1509 for (i=j+2; i >= 2; i--) l[i] = l[i]*xiold + l[i-1];
1510 xiold = xi;
1511 }
1512 }
1513 A1 = (-alpha0 - alpha1) / prod;
1514 N_VScale(A1, zn[qmax], zn[L]);
1515 for (j=2; j <= q; j++) {
1516 N_VLinearSum(l[j], zn[L], ONE, zn[j], zn[j]);
1517 }
1518}
1519
1520/********************* CVDecreaseBDF ******************************
1521

Callers 1

CVAdjustBDFFunction · 0.85

Calls 2

N_VScaleFunction · 0.85
N_VLinearSumFunction · 0.85

Tested by

no test coverage detected