|
Overture
Version 25
|
#include <TridiagonalSolver.h>
Public Types | |
| enum | SystemType { normal =0, extended, periodic } |
Public Member Functions | |
| TridiagonalSolver () | |
| ~TridiagonalSolver () | |
| int | factor (RealArray &a, RealArray &b, RealArray &c, const SystemType &type=normal, const int &axis=0, const int &block=1) |
| int | factor (RealArray &a, RealArray &b, RealArray &c, RealArray &d, RealArray &e, const SystemType &type=normal, const int &axis=0, const int &block=1) |
| int | solve (const RealArray &r, const Range &R1=nullRange, const Range &R2=nullRange, const Range &R3=nullRange) |
| virtual real | sizeOf (FILE *file=NULL) const |
Protected Member Functions | |
| int | tridiagonalFactor () |
| int | tridiagonalSolve (RealArray &r) |
| int | periodicTridiagonalFactor () |
| int | periodicTridiagonalSolve (RealArray &r) |
| int | invert (RealArray &d, const int &i1) |
| int | invert (RealArray &d, const Index &I1, const Index &I2, const Index &I3) |
| RealArray | multiply (const RealArray &d, const int &i1, const RealArray &e, const int &j1) |
| RealArray | matrixVectorMultiply (const RealArray &d, const int &i1, const RealArray &e, const int &j1) |
| RealArray | matrixVectorMultiply (const RealArray &d, const int &i1, const RealArray &e) |
| RealArray | multiply (const RealArray &d, const Index &I1, const Index &I2, const Index &I3, const RealArray &e, const Index &J1, const Index &J2, const Index &J3) |
| RealArray | matrixVectorMultiply (const RealArray &d, const Index &I1, const Index &I2, const Index &I3, RealArray &e, const Index &J1, const Index &J2, const Index &J3) |
| int | blockFactor () |
| int | blockSolve (RealArray &r) |
| int | blockPeriodicFactor () |
| int | blockPeriodicSolve (RealArray &r) |
| int | scalarBlockFactor (int i1, int i2, int i3) |
| int | scalarBlockSolve (RealArray &r, int i1, int i2, int i3) |
| int | scalarBlockPeriodicFactor (int i1, int i2, int i3) |
| int | scalarBlockPeriodicSolve (RealArray &r, int i1, int i2, int i3) |
Protected Attributes | |
| SystemType | systemType |
| int | axis |
| RealArray | a |
| RealArray | b |
| RealArray | c |
| RealArray | d |
| RealArray | e |
| RealArray | w1 |
| RealArray | w2 |
| Range | Iv [3] |
| Range & | I1 |
| Range & | I2 |
| Range & | I3 |
| int | blockSize |
| bool | scalarSystem |
| int | bandWidth |
| bool | useOptimizedC |
| TridiagonalSolver::TridiagonalSolver | ( | ) |
References bandWidth, and useOptimizedC.
| TridiagonalSolver::~TridiagonalSolver | ( | ) |
|
protected |
References a, Overture::abort(), axis, axis1, axis2, axis3, b, blockSize, c, extended, I1, i2, I2, I3, invert(), Iv, multiply(), normal, scalarBlockFactor(), scalarSystem, and systemType.
Referenced by tridiagonalFactor().
|
protected |
References a, axis, axis1, axis2, axis3, b, blockSize, c, I1, i2, I2, I3, invert(), Iv, multiply(), scalarBlockPeriodicFactor(), scalarSystem, w1, and w2.
Referenced by periodicTridiagonalFactor().
|
protected |
References a, axis, axis1, axis2, axis3, b, blockSize, c, I1, i2, I2, I3, Iv, matrixVectorMultiply(), r, scalarBlockPeriodicSolve(), scalarSystem, w1, and w2.
Referenced by periodicTridiagonalSolve().
|
protected |
References a, axis, axis1, axis2, axis3, b, blockSize, c, extended, I1, i2, I2, I3, Iv, matrixVectorMultiply(), r, scalarBlockSolve(), scalarSystem, and systemType.
Referenced by tridiagonalSolve().
| int TridiagonalSolver::factor | ( | RealArray & | a, |
| RealArray & | b, | ||
| RealArray & | c, | ||
| const SystemType & | type = normal, |
||
| const int & | axis = 0, |
||
| const int & | block = 1 |
||
| ) |
References a, Overture::abort(), axis, b, bandWidth, blockSize, c, d, e, extended, I1, I2, I3, Iv, periodic, periodicTridiagonalFactor(), scalarSystem, systemType, tridiagonalFactor(), w1, and w2.
Referenced by HyperbolicMapping::implicitSolve(), EllipticGridGenerator::lineSmoother(), and Ogmg::smoothLine().
|
protected |
References Overture::abort(), blockSize, and d.
Referenced by blockFactor(), blockPeriodicFactor(), scalarBlockFactor(), scalarBlockPeriodicFactor(), and solve().
|
protected |
References Overture::abort(), blockSize, d, and evaluate().
|
protected |
References Overture::abort(), blockSize, d, e, and r.
Referenced by blockPeriodicSolve(), blockSolve(), scalarBlockPeriodicSolve(), and scalarBlockSolve().
|
protected |
References Overture::abort(), blockSize, d, e, and r.
|
protected |
References Overture::abort(), blockSize, d, e, and r.
|
protected |
References Overture::abort(), blockSize, d, e, and r.
Referenced by blockFactor(), blockPeriodicFactor(), scalarBlockFactor(), and scalarBlockPeriodicFactor().
|
protected |
References Overture::abort(), blockSize, d, e, and r.
|
protected |
|
protected |
|
protected |
References a, A, axis, b, B, blockSize, c, C, extended, invert(), INVERT, Iv, multiply(), normal, systemType, and useOptimizedC.
Referenced by blockFactor().
|
protected |
|
protected |
References a, A, axis, b, B, blockSize, c, C, evaluate(), Iv, matrixVectorMultiply(), r, R, useOptimizedC, w1, W1, w2, and W2.
Referenced by blockPeriodicSolve().
|
protected |
References a, A, axis, b, B, blockSize, c, C, evaluate(), extended, Iv, matrixVectorMultiply(), r, R, systemType, and useOptimizedC.
Referenced by blockSolve().
| int TridiagonalSolver::solve | ( | const RealArray & | r, |
| const Range & | R1 = nullRange, |
||
| const Range & | R2 = nullRange, |
||
| const Range & | R3 = nullRange |
||
| ) |
References a, Overture::abort(), assert, axis, axis1, axis2, axis3, b, bandWidth, blockSize, c, d, e, I1, I2, I3, invert(), nullRange, pentaSolve, periodic, periodicTridiagonalSolve(), r, systemType, tridiagonalSolve(), and w1.
Referenced by HyperbolicMapping::implicitSolve(), EllipticGridGenerator::lineSmoother(), and Ogmg::smoothLine().
|
protected |
|
protected |
|
protected |
Referenced by blockFactor(), blockPeriodicFactor(), blockPeriodicSolve(), blockSolve(), factor(), periodicTridiagonalFactor(), periodicTridiagonalSolve(), scalarBlockFactor(), scalarBlockPeriodicFactor(), scalarBlockPeriodicSolve(), scalarBlockSolve(), sizeOf(), solve(), tridiagonalFactor(), and tridiagonalSolve().
|
protected |
Referenced by blockFactor(), blockPeriodicFactor(), blockPeriodicSolve(), blockSolve(), factor(), periodicTridiagonalFactor(), periodicTridiagonalSolve(), scalarBlockFactor(), scalarBlockPeriodicFactor(), scalarBlockPeriodicSolve(), scalarBlockSolve(), solve(), tridiagonalFactor(), and tridiagonalSolve().
|
protected |
Referenced by blockFactor(), blockPeriodicFactor(), blockPeriodicSolve(), blockSolve(), factor(), periodicTridiagonalFactor(), periodicTridiagonalSolve(), scalarBlockFactor(), scalarBlockPeriodicFactor(), scalarBlockPeriodicSolve(), scalarBlockSolve(), sizeOf(), solve(), tridiagonalFactor(), and tridiagonalSolve().
|
protected |
Referenced by factor(), solve(), and TridiagonalSolver().
|
protected |
Referenced by blockFactor(), blockPeriodicFactor(), blockPeriodicSolve(), blockSolve(), factor(), invert(), matrixVectorMultiply(), multiply(), periodicTridiagonalFactor(), periodicTridiagonalSolve(), scalarBlockFactor(), scalarBlockPeriodicFactor(), scalarBlockPeriodicSolve(), scalarBlockSolve(), solve(), tridiagonalFactor(), and tridiagonalSolve().
|
protected |
Referenced by blockFactor(), blockPeriodicFactor(), blockPeriodicSolve(), blockSolve(), factor(), periodicTridiagonalFactor(), periodicTridiagonalSolve(), scalarBlockFactor(), scalarBlockPeriodicFactor(), scalarBlockPeriodicSolve(), scalarBlockSolve(), sizeOf(), solve(), tridiagonalFactor(), and tridiagonalSolve().
|
protected |
Referenced by factor(), invert(), matrixVectorMultiply(), multiply(), sizeOf(), and solve().
|
protected |
Referenced by factor(), matrixVectorMultiply(), multiply(), sizeOf(), and solve().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by blockFactor(), blockPeriodicFactor(), blockPeriodicSolve(), blockSolve(), and factor().
|
protected |
Referenced by blockFactor(), blockSolve(), factor(), scalarBlockFactor(), scalarBlockSolve(), solve(), tridiagonalFactor(), and tridiagonalSolve().
|
protected |
|
protected |
|
protected |
1.8.3