bugfix - incorrect matrix type for d_p

This commit is contained in:
andy 2009-04-03 13:03:40 +01:00
parent 4dedd47382
commit 814c134d1c
3 changed files with 30 additions and 29 deletions

View File

@ -71,8 +71,8 @@ void Foam::SIBS::solve
const ODE& ode,
scalar& x,
scalarField& y,
scalarField& dydx,
const scalar eps,
scalarField& dydx,
const scalar eps,
const scalarField& yScale,
const scalar hTry,
scalar& hDid,
@ -96,7 +96,7 @@ void Foam::SIBS::solve
{
for (register label k=0; k<iq; k++)
{
alpha_[k][iq] =
alpha_[k][iq] =
pow(eps1, (a_[k + 1] - a_[iq + 1])
/((a_[iq + 1] - a_[0] + 1.0)*(2*k + 3)));
}

View File

@ -29,8 +29,8 @@ Description
Foam::SIBS
SourceFiles
SIBSCK.C
SIBSQS.C
SIMPR.C
polyExtrapolate.C
\*---------------------------------------------------------------------------*/
@ -61,7 +61,7 @@ class SIBS
mutable scalarField a_;
mutable scalarSquareMatrix alpha_;
mutable scalarSquareMatrix d_p_;
mutable scalarRectangularMatrix d_p_;
mutable scalarField x_p_;
mutable scalarField err_;
@ -75,30 +75,31 @@ class SIBS
mutable scalar epsOld_, xNew_;
void SIMPR
(
const ODE& ode,
const scalar xStart,
const scalarField& y,
const scalarField& dydx,
const scalarField& dfdx,
const scalarSquareMatrix& dfdy,
const scalar deltaX,
const label nSteps,
scalarField& yEnd
) const;
// Private member functions
void SIMPR
(
const ODE& ode,
const scalar xStart,
const scalarField& y,
const scalarField& dydx,
const scalarField& dfdx,
const scalarSquareMatrix& dfdy,
const scalar deltaX,
const label nSteps,
scalarField& yEnd
) const;
void polyExtrapolate
(
const label iest,
const scalar xest,
const scalarField& yest,
scalarField& yz,
scalarField& dy,
scalarField& x_p,
scalarSquareMatrix& d_p
) const;
void polyExtrapolate
(
const label iest,
const scalar xest,
const scalarField& yest,
scalarField& yz,
scalarField& dy,
scalarField& x_p,
scalarRectangularMatrix& d_p
) const;
public:

View File

@ -36,7 +36,7 @@ void Foam::SIBS::polyExtrapolate
scalarField& yz,
scalarField& dy,
scalarField& x,
scalarSquareMatrix& d
scalarRectangularMatrix& d
) const
{
label n = yz.size();