Line data Source code
1 : /**********************************************************************/ 2 : /* DO NOT MODIFY THIS HEADER */ 3 : /* Swift, a Fourier spectral solver for MOOSE */ 4 : /* */ 5 : /* Copyright 2024 Battelle Energy Alliance, LLC */ 6 : /* ALL RIGHTS RESERVED */ 7 : /**********************************************************************/ 8 : 9 : #pragma once 10 : 11 : class TensorPredictor; 12 : 13 : /** 14 : * Interface for tensor solvers with internal iterations 15 : */ 16 0 : class IterativeTensorSolverInterface 17 : { 18 : public: 19 : IterativeTensorSolverInterface(); 20 : 21 : const unsigned int & getIterations() const { return _iterations; } 22 : const bool & isConverged() const { return _is_converged; } 23 : 24 : void addPredictor(std::shared_ptr<TensorPredictor> predictor); 25 : 26 : protected: 27 : void applyPredictors(); 28 : 29 : unsigned int _iterations; 30 : bool _is_converged; 31 : 32 : std::vector<std::shared_ptr<TensorPredictor>> _predictors; 33 : };