Problem operator for time-dependent problems with an equation system. More...
#include <TimeDependentEquationSystemProblemOperator.h>
Public Member Functions | |
| TimeDependentEquationSystemProblemOperator (MFEMProblem &problem, const std::string &weak_form_name="") | |
| virtual void | SetGridFunctions () override |
| virtual void | Init () override |
| virtual void | ImplicitSolve (const mfem::real_t, const mfem::Vector &, mfem::Vector &) override |
| virtual void | Solve () override |
| virtual Moose::MFEM::TimeDependentEquationSystem * | GetEquationSystem () const override |
| Returns a pointer to the operator's equation system. | |
| virtual void | SetTrialVariablesFromTrueVectors () |
| PerfGraph & | perfGraph () |
| Get the PerfGraph. | |
Static Public Member Functions | |
| static InputParameters | validParams () |
Public Attributes | |
| mfem::Array< int > | _block_true_offsets_test |
| mfem::Array< int > | _block_true_offsets_trial |
| mfem::BlockVector | _true_x |
| mfem::BlockVector | _true_rhs |
| mfem::BlockVector | _true_solution |
| Persistent true-DoF solution vector backing this operator's trial grid functions after Init(). | |
Protected Member Functions | |
| void | FormEquationSystemOperator (mfem::real_t dt) |
| Form equation-system state for the current implicit time step. | |
| void | SolveWithOperator (mfem::Operator &system_operator, mfem::Operator &linear_operator, const mfem::Vector &rhs, mfem::Vector &x) |
| Solve the current system operator using the configured nonlinear and linear solvers. | |
| void | SolveWithOperator (mfem::Operator &system_operator, const mfem::Vector &rhs, mfem::Vector &x) |
| Solve the current system operator using system_operator.GetGradient(x) as the linear operator. | |
| PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
| Call to register a named section for timing. | |
| PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
| Call to register a named section for timing. | |
| std::string | timedSectionName (const std::string §ion_name) const |
Protected Attributes | |
| MFEMProblem & | _problem |
| Reference to the current problem. | |
| MFEMProblemData & | _problem_data |
| std::vector< std::string > | _trial_var_names |
| Vector of names of state gridfunctions used in formulation, ordered by appearance in block vector during solve. | |
| std::vector< std::string > | _test_var_names |
| std::vector< mfem::ParGridFunction * > | _trial_variables |
| std::vector< mfem::ParGridFunction * > | _test_variables |
| mfem::Vector * | _trial_true_vector = nullptr |
| MooseApp & | _pg_moose_app |
| The MooseApp that owns the PerfGraph. | |
| const std::string | _prefix |
| A prefix to use for all sections. | |
Private Attributes | |
| std::shared_ptr< Moose::MFEM::TimeDependentEquationSystem > | _equation_system {nullptr} |
Problem operator for time-dependent problems with an equation system.
Definition at line 22 of file TimeDependentEquationSystemProblemOperator.h.
| Moose::MFEM::TimeDependentEquationSystemProblemOperator::TimeDependentEquationSystemProblemOperator | ( | MFEMProblem & | problem, |
| const std::string & | weak_form_name = "" |
||
| ) |
Definition at line 17 of file TimeDependentEquationSystemProblemOperator.C.
|
protected |
Form equation-system state for the current implicit time step.
Definition at line 97 of file TimeDependentEquationSystemProblemOperator.C.
Referenced by ImplicitSolve().
|
inlineoverridevirtual |
Returns a pointer to the operator's equation system.
Implements Moose::MFEM::EquationSystemInterface.
Definition at line 35 of file TimeDependentEquationSystemProblemOperator.h.
Referenced by FormEquationSystemOperator(), ImplicitSolve(), and SetGridFunctions().
|
overridevirtual |
Reimplemented from Moose::MFEM::TimeDependentProblemOperator.
Definition at line 73 of file TimeDependentEquationSystemProblemOperator.C.
|
overridevirtual |
Reimplemented from Moose::MFEM::ProblemOperatorBase.
Definition at line 38 of file TimeDependentEquationSystemProblemOperator.C.
|
inherited |
Get the PerfGraph.
Definition at line 86 of file PerfGraphInterface.C.
Referenced by CommonOutputAction::act(), PerfGraphData::finalize(), PerfGraphReporter::finalize(), and PerfGraphOutput::output().
|
protectedinherited |
Call to register a named section for timing.
| section_name | The name of the code section to be timed |
| level | The importance of the timer - lower is more important (0 will always come out) |
Definition at line 61 of file PerfGraphInterface.C.
|
protectedinherited |
Call to register a named section for timing.
| section_name | The name of the code section to be timed |
| level | The importance of the timer - lower is more important (0 will always come out) |
| live_message | The message to be printed to the screen during execution |
| print_dots | Whether or not progress dots should be printed for this section |
Definition at line 72 of file PerfGraphInterface.C.
|
overridevirtual |
Reimplemented from Moose::MFEM::TimeDependentProblemOperator.
Definition at line 30 of file TimeDependentEquationSystemProblemOperator.C.
|
virtualinherited |
Definition at line 68 of file ProblemOperatorBase.C.
Referenced by Solve().
|
overridevirtual |
Reimplemented from Moose::MFEM::TimeDependentProblemOperator.
Definition at line 50 of file TimeDependentEquationSystemProblemOperator.C.
|
inlineprotectedinherited |
Solve the current system operator using system_operator.GetGradient(x) as the linear operator.
Definition at line 88 of file ProblemOperatorBase.h.
|
protectedinherited |
Solve the current system operator using the configured nonlinear and linear solvers.
Definition at line 80 of file ProblemOperatorBase.C.
Referenced by ImplicitSolve(), Moose::MFEM::ComplexEquationSystemProblemOperator::Solve(), Moose::MFEM::EquationSystemProblemOperator::Solve(), and Moose::MFEM::ProblemOperatorBase::SolveWithOperator().
|
protectedinherited |
section_name.Optionally adds a prefix if one is defined.
Definition at line 55 of file PerfGraphInterface.C.
Referenced by PerfGraphInterface::registerTimedSection(), and PerfGraphInterface::registerTimedSection().
|
staticinherited |
Definition at line 16 of file PerfGraphInterface.C.
Referenced by Convergence::validParams().
|
inherited |
Definition at line 69 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::ProblemOperator::SetGridFunctions(), and Moose::MFEM::TimeDependentProblemOperator::SetGridFunctions().
|
inherited |
Definition at line 70 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::ProblemOperatorBase::Init(), Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::ProblemOperator::SetGridFunctions(), and Moose::MFEM::TimeDependentProblemOperator::SetGridFunctions().
|
private |
Definition at line 47 of file TimeDependentEquationSystemProblemOperator.h.
Referenced by GetEquationSystem(), and TimeDependentEquationSystemProblemOperator().
|
protectedinherited |
The MooseApp that owns the PerfGraph.
Definition at line 135 of file PerfGraphInterface.h.
Referenced by PerfGraphInterface::perfGraph().
|
protectedinherited |
A prefix to use for all sections.
Definition at line 138 of file PerfGraphInterface.h.
Referenced by PerfGraphInterface::timedSectionName().
|
protectedinherited |
Reference to the current problem.
Definition at line 94 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::EigenproblemESProblemOperator::FormEquationSystemOperator(), Init(), and Solve().
|
protectedinherited |
Definition at line 95 of file ProblemOperatorBase.h.
Referenced by ImplicitSolve(), Init(), Moose::MFEM::EigenproblemESProblemOperator::RecoverEigenproblemSolution(), Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::EigenproblemESProblemOperator::Solve(), Solve(), and Moose::MFEM::ProblemOperatorBase::SolveWithOperator().
|
protectedinherited |
|
protectedinherited |
Definition at line 102 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ProblemOperator::SetGridFunctions(), and Moose::MFEM::TimeDependentProblemOperator::SetGridFunctions().
|
protectedinherited |
Definition at line 103 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::ProblemOperatorBase::Init(), Moose::MFEM::ProblemOperatorBase::SetTrialVariablesFromTrueVectors(), and Solve().
|
protectedinherited |
Vector of names of state gridfunctions used in formulation, ordered by appearance in block vector during solve.
Definition at line 99 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::EigenproblemESProblemOperator::RecoverEigenproblemSolution(), Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::EquationSystemProblemOperator::SetGridFunctions(), SetGridFunctions(), and Solve().
|
protectedinherited |
Definition at line 101 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::ProblemOperatorBase::Init(), Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ProblemOperator::SetGridFunctions(), Moose::MFEM::TimeDependentProblemOperator::SetGridFunctions(), and Moose::MFEM::ProblemOperatorBase::SetTrialVariablesFromTrueVectors().
|
inherited |
Definition at line 72 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::EquationSystemProblemOperator::FormEquationSystemOperator(), FormEquationSystemOperator(), ImplicitSolve(), Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::Solve(), and Moose::MFEM::EquationSystemProblemOperator::Solve().
|
inherited |
Persistent true-DoF solution vector backing this operator's trial grid functions after Init().
Each operator owns its own, because Init() aliases its trial grid functions into this vector; sharing one across operators would make each alias the same storage.
Definition at line 77 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::ProblemOperatorBase::Init().
|
inherited |
Definition at line 72 of file ProblemOperatorBase.h.
Referenced by Moose::MFEM::EigenproblemESProblemOperator::FormEquationSystemOperator(), Moose::MFEM::EquationSystemProblemOperator::FormEquationSystemOperator(), FormEquationSystemOperator(), ImplicitSolve(), Moose::MFEM::ProblemOperatorBase::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::Solve(), and Moose::MFEM::EquationSystemProblemOperator::Solve().