https://mooseframework.inl.gov
MultiSystemSolveObject.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "SolveObject.h"
13 
14 class SolverSystem;
15 class Convergence;
16 
21 {
22 public:
24 
26 
31  const std::vector<SolverSystem *> & systemsToSolve() const { return _systems; }
32 
33 protected:
35  std::vector<SolverSystem *> _systems;
36 
38  unsigned int _num_nl_systems;
39 
46  std::vector<Real> _multi_sys_fp_relax_factors;
47 
48 private:
51 };
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const bool _using_multi_sys_fp_iterations
Whether we are using fixed point iterations for multi-system.
Base class for convergence criteria.
Definition: Convergence.h:21
Convergence * _multi_sys_fp_convergence
Convergence object to assess the convergence of the multi-system fixed point iteration.
Executioners are objects that do the actual work of solving your problem.
Definition: Executioner.h:30
unsigned int _num_nl_systems
Number of nonlinear systems.
const std::vector< SolverSystem * > & systemsToSolve() const
Returns a reference to the vector of solver systems that this object is supposed to solve...
MultiSystemSolveObject(Executioner &ex)
void setupMultiSystemFixedPointRelaxationFactors()
Initializes/expands the multi-system fixed point relaxation factors.
std::vector< SolverSystem * > _systems
Vector of pointers to the systems.
std::vector< Real > _multi_sys_fp_relax_factors
Per-system relaxation factors for multi-system fixed point iterations (expanded to match the number/o...
A solve object for use when wanting to solve multiple systems.