Go to the documentation of this file.
42 scalar
h = deltaX/nSteps;
45 for (
label i=0; i<n_; i++)
47 for (
label j=0; j<n_; j++)
49 a[i][j] = -
h*dfdy[i][j];
57 for (
label i=0; i<n_; i++)
59 yEnd[i] =
h*(dydx[i] +
h*dfdx[i]);
67 for (
label i=0; i<n_; i++)
69 ytemp[i] =
y[i] + del[i];
72 scalar
x = xStart +
h;
74 odes_.derivatives(
x, ytemp, yEnd);
76 for (
label nn=2; nn<=nSteps; nn++)
78 for (
label i=0; i<n_; i++)
80 yEnd[i] =
h*yEnd[i] - del[i];
85 for (
label i=0; i<n_; i++)
87 ytemp[i] += (del[i] += 2.0*yEnd[i]);
92 odes_.derivatives(
x, ytemp, yEnd);
94 for (
label i=0; i<n_; i++)
96 yEnd[i] =
h*yEnd[i] - del[i];
101 for (
label i=0; i<n_; i++)
void SIMPR(const scalar xStart, const scalarField &y, const scalarField &dydx, const scalarField &dfdx, const scalarSquareMatrix &dfdy, const scalar deltaX, const label nSteps, scalarField &yEnd) const
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
const dimensionedScalar h
Planck constant.
void LUBacksubstitute(const scalarSquareMatrix &luMmatrix, const labelList &pivotIndices, List< Type > &source)
LU back-substitution with given source, returning the solution.
void LUDecompose(scalarSquareMatrix &matrix, labelList &pivotIndices)
LU decompose the matrix with pivoting.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...