26 std::vector<double>&& absolute_tolerances,
27 std::vector<double>&& relative_tolerances,
28 std::vector<double>&& damping_alpha,
29 bool daming_alpha_switch,
44 double const base_damping)
const override;
60std::unique_ptr<ConvergenceCriterionPerComponentDeltaX>
MathLib::EigenVector GlobalVector
LocalToGlobalIndexMap const * _dof_table
DampingPolicy const * dampingPolicy() const override
bool hasDeltaXCheck() const override
ConvergenceCriterionPerComponentDeltaX(std::vector< double > &&absolute_tolerances, std::vector< double > &&relative_tolerances, std::vector< double > &&damping_alpha, bool daming_alpha_switch, const MathLib::VecNormType norm_type)
void checkResidual(const GlobalVector &) override
Check if the residual satisfies the convergence criterion.
bool _damping_alpha_switch
bool hasResidualCheck() const override
void checkDeltaX(const GlobalVector &minus_delta_x, GlobalVector const &x) override
void setDOFTable(const LocalToGlobalIndexMap &dof_table, MeshLib::Mesh const &mesh) override
Sets the d.o.f. table used to extract data for a specific component.
double apply(GlobalVector const &minus_delta_x, GlobalVector const &x, double const base_damping) const override
const std::vector< double > _reltols
const std::vector< double > _damping_alpha
MeshLib::Mesh const * _mesh
const std::vector< double > _abstols
ConvergenceCriterionPerComponent(const MathLib::VecNormType norm_type)
std::unique_ptr< ConvergenceCriterionPerComponentDeltaX > createConvergenceCriterionPerComponentDeltaX(const BaseLib::ConfigTree &config)