![]() |
PRISMS-PF Manual
|
This class handles the explicit solves of all explicit fields. More...
#include <mg_solver.h>
Public Member Functions | |
| MGSolver (SolveBlock _solve_block, const SolveContext< dim, degree, number > &_solve_context) | |
| Constructor. | |
| void | solve_level (unsigned int relative_level) override |
| Solve for a single update step. | |
| void | mg_solve () |
Public Member Functions inherited from LinearSolver< dim, degree, number > | |
| LinearSolver (SolveBlock _solve_block, const SolveContext< dim, degree, number > &_solve_context) | |
| Constructor. | |
| void | init (const std::list< DependencyMap > &all_dependeny_sets) override |
| Initialize the solver. | |
| void | reinit () override |
| Reinitialize the solver. | |
| int | do_linear_solve (BlockVector< number > &b_vector, MFOperator< dim, degree, number > &lhs_operator, BlockVector< number > &x_vector) |
Public Member Functions inherited from SolverBase< dim, degree, number > | |
| SolverBase (SolveBlock _solve_block, const SolveContext< dim, degree, number > &_solve_context) | |
| Constructor. | |
| virtual | ~SolverBase ()=default |
| Destructor. | |
| SolverBase (const SolverBase &solver_base)=delete | |
| Copy constructor. | |
| SolverBase & | operator= (const SolverBase &solver_base)=delete |
| Copy assignment. | |
| SolverBase (SolverBase &&solver_base) noexcept=delete | |
| Move constructor. | |
| SolverBase & | operator= (SolverBase &&solver_base) noexcept=delete |
| Move assignment. | |
| virtual void | solve () |
| Solve for a single update step. | |
| virtual void | update () |
| Update the fields. | |
| virtual void | update_ghosts () |
| Update the ghosts. | |
| void | prepare_for_solution_transfer () |
| Prepare for solution transfer (for AMR). | |
| void | execute_solution_transfer () |
| Execute solution transfer (for AMR). | |
| virtual void | print () |
| Print information about the solver to summary.log. | |
| void | set_initial_condition () |
| Set the initial conditions. | |
| const GroupSolutionHandler< dim, number > & | get_solution_manager () const |
| Get the solution handler. | |
| GroupSolutionHandler< dim, number > & | get_solution_manager () |
| Get the solution handler. | |
| const SolveBlock & | get_solve_block () const |
| Get the solver context. | |
Private Types | |
| using | SolverBase = SolverBase<dim, degree, number> |
| using | LinearSolver = LinearSolver<dim, degree, number> |
Private Member Functions | |
| int | do_linear_solve (BlockVector< number > &b_vector, MFOperator< dim, degree, number > &lhs_operator, BlockVector< number > &x_vector) |
Private Attributes | |
| dealii::SolverControl | linear_solver_control |
| Solver control. Contains max iterations and tolerance. | |
| std::vector< MFOperator< dim, degree, number > > | lhs_operators |
| GroupSolutionHandler< dim, number > | solutions |
| Solution vectors for fields handled by this solver. | |
| SolveBlock | solve_block |
| Information about the solve block this handler is responsible for. | |
| const SolveContext< dim, degree, number > * | solve_context |
| Solver context provides access to external information. | |
Additional Inherited Members | |
Protected Member Functions inherited from LinearSolver< dim, degree, number > | |
| double | normalization_value () |
Protected Attributes inherited from LinearSolver< dim, degree, number > | |
| std::vector< MFOperator< dim, degree, number > > | rhs_operators |
| Matrix free operators for each level. | |
| std::vector< MFOperator< dim, degree, number > > | lhs_operators |
| std::vector< BlockVector< number > > | rhs_vector |
Protected Attributes inherited from SolverBase< dim, degree, number > | |
| SolveBlock | solve_block |
| Information about the solve block this handler is responsible for. | |
| const SolveContext< dim, degree, number > * | solve_context |
| Solver context provides access to external information. | |
| GroupSolutionHandler< dim, number > | solutions |
| Solution vectors for fields handled by this solver. | |
| std::vector< SolverBase< dim, degree, number > * > | aux_solvers |
This class handles the explicit solves of all explicit fields.
|
private |
|
private |
|
inline |
Constructor.
|
inlineprivate |
|
inline |
|
inlineoverridevirtual |
Solve for a single update step.
Reimplemented from LinearSolver< dim, degree, number >.
|
private |
|
private |
Solver control. Contains max iterations and tolerance.
|
private |
Solution vectors for fields handled by this solver.
|
private |
Information about the solve block this handler is responsible for.
|
private |
Solver context provides access to external information.