| 49 | \*---------------------------------------------------------------------------*/ |
| 50 | |
| 51 | class ODESolver |
| 52 | { |
| 53 | |
| 54 | protected: |
| 55 | |
| 56 | // Protected data |
| 57 | |
| 58 | //- Reference to ODESystem |
| 59 | const ODESystem& odes_; |
| 60 | |
| 61 | //- Maximum size of the ODESystem |
| 62 | const label maxN_; |
| 63 | |
| 64 | //- Size of the ODESystem (adjustable) |
| 65 | mutable label n_; |
| 66 | |
| 67 | //- Absolute convergence tolerance per step |
| 68 | scalarField absTol_; |
| 69 | |
| 70 | //- Relative convergence tolerance per step |
| 71 | scalarField relTol_; |
| 72 | |
| 73 | //- The maximum number of sub-steps allowed for the integration step |
| 74 | label maxSteps_; |
| 75 | |
| 76 | |
| 77 | // Protected Member Functions |
| 78 | |
| 79 | //- Return the nomalized scalar error |
| 80 | scalar normalizeError |
| 81 | ( |
| 82 | const scalarField& y0, |
| 83 | const scalarField& y, |
| 84 | const scalarField& err |
| 85 | ) const; |
| 86 | |
| 87 | //- Disallow default bitwise copy construct |
| 88 | ODESolver(const ODESolver&); |
| 89 | |
| 90 | //- Disallow default bitwise assignment |
| 91 | void operator=(const ODESolver&); |
| 92 | |
| 93 | |
| 94 | public: |
| 95 | |
| 96 | friend class ODESystem; |
| 97 | |
| 98 | //- Runtime type information |
| 99 | TypeName("ODESolver"); |
| 100 | |
| 101 | class stepState |
| 102 | { |
| 103 | public: |
| 104 | |
| 105 | const bool forward; |
| 106 | scalar dxTry; |
| 107 | scalar dxDid; |
| 108 | bool first; |
no outgoing calls
no test coverage detected