#include <ComplexEquationSystem.h>
Public Member Functions | |
| ComplexEquationSystem ()=default | |
| ~ComplexEquationSystem ()=default | |
| virtual void | Init (GridFunctions &gridfunctions, ComplexGridFunctions &cmplx_gridfunctions, mfem::AssemblyLevel assembly_level) override |
| Initialise. More... | |
| virtual void | Mult (const mfem::Vector &x, mfem::Vector &y) const override |
| Nonlinear Mult (Used by Newton-solver not necessarily nonlinear) More... | |
| virtual void | BuildEquationSystem () override |
| Build all forms comprising this EquationSystem. More... | |
| virtual void | BuildLinearForms () override |
| Build linear forms and eliminate constrained DoFs. More... | |
| virtual void | BuildBilinearForms () override |
| Build bilinear forms (diagonal Jacobian contributions) More... | |
| virtual void | ApplyComplexEssentialBC (const std::string &var_name, mfem::ParComplexGridFunction &trial_gf, mfem::Array< int > &global_ess_markers) |
| Apply essential BC(s) associated with var_name to set true DoFs of trial_gf and update markers of all essential boundaries. More... | |
| virtual void | ApplyEssentialBCs () override |
| Update all essentially constrained true DoF markers and values on boundaries. More... | |
| void | AddComplexKernel (std::shared_ptr< MFEMComplexKernel > kernel) |
| Add complex kernels. More... | |
| void | AddComplexIntegratedBC (std::shared_ptr< MFEMComplexIntegratedBC > bc) |
| Add complex integrated BCs. More... | |
| void | AddComplexEssentialBCs (std::shared_ptr< MFEMComplexEssentialBC > bc) |
| Add complex essential BCs. More... | |
| virtual void | FormSystemOperator (mfem::OperatorHandle &op, mfem::BlockVector &trueX, mfem::BlockVector &trueRHS) override |
| Form matrix-free representation of system operator. More... | |
| virtual void | FormSystemMatrix (mfem::OperatorHandle &op, mfem::BlockVector &trueX, mfem::BlockVector &trueRHS) override |
| Form matrix representation of system operator as a HypreParMatrix. More... | |
| virtual void | SetTrialVariablesFromTrueVectors (const mfem::BlockVector &trueX) const override |
| Update variable from solution vector after solve. More... | |
| template<class FormType > | |
| void | ApplyDomainBLFIntegrators (const std::string &trial_var_name, const std::string &test_var_name, std::shared_ptr< FormType > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexKernel >>>> &kernels_map) |
| Template method for applying BilinearFormIntegrators on domains from kernels to a SesquilinearForm. More... | |
| void | ApplyDomainLFIntegrators (const std::string &test_var_name, std::shared_ptr< mfem::ParComplexLinearForm > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexKernel >>>> &kernels_map) |
| Method for applying LinearFormIntegrators on domains from kernels to a ParComplexLinearForm. More... | |
| template<class FormType > | |
| void | ApplyBoundaryBLFIntegrators (const std::string &trial_var_name, const std::string &test_var_name, std::shared_ptr< FormType > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexIntegratedBC >>>> &integrated_bc_map) |
| Template method for applying BilinearFormIntegrators on boudaries from kernels to a SesquilinearForm. More... | |
| void | ApplyBoundaryLFIntegrators (const std::string &test_var_name, std::shared_ptr< mfem::ParComplexLinearForm > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexIntegratedBC >>>> &integrated_bc_map) |
| Method for applying LinearFormIntegrators on boundaries from kernels to a ParComplexLinearForm. More... | |
| virtual bool | Complex () const override |
| Whether this a complex equation system. More... | |
| virtual void | AddKernel (std::shared_ptr< MFEMKernel > kernel) |
| Add kernels. More... | |
| virtual void | AddIntegratedBC (std::shared_ptr< MFEMIntegratedBC > kernel) |
| virtual void | AddEssentialBC (std::shared_ptr< MFEMEssentialBC > bc) |
| Add BC associated with essentially constrained DoFs on boundaries. More... | |
| void | FormSystem (mfem::BlockVector &trueX, mfem::BlockVector &trueRHS) |
| Assemble the linear part of the operator, assemble the right-hand side, apply essential and eliminated-variable constraints, and populate the true-DoF vectors used by the solve. More... | |
| virtual void | ComputeNonlinearResidual (const mfem::Vector &u, mfem::Vector &residual) const |
| Compute the contribution to the residual from nonlinear forms only. More... | |
| mfem::Operator & | GetGradient (const mfem::Vector &u) const override |
| Get Jacobian at the provided vector of true DoFs of trial variables. More... | |
| void | SetSolverRequiresGradient (bool requires_gradient) |
| Set whether the nonlinear solver driving this equation system requires Jacobian information. More... | |
| const std::vector< std::string > & | GetTrialVarNames () const |
| const std::vector< std::string > & | GetTestVarNames () const |
| bool | Nonlinear () const |
| void | PrepareLinearSolver (LinearSolverBase &solver) |
| Prepare the provided linear solver. More... | |
Protected Member Functions | |
| virtual void | AddCoupledVariableNameIfMissing (const std::string &coupled_var_name) |
| Add coupled variable to EquationSystem. More... | |
| virtual void | AddEliminatedVariableNameIfMissing (const std::string &eliminated_var_name) |
| Add eliminated variable to EquationSystem. More... | |
| virtual void | AddTestVariableNameIfMissing (const std::string &test_var_name) |
| Add test variable to EquationSystem. More... | |
| virtual void | SetTrialVariableNames () |
| Set trial variable names from subset of coupled variables that have an associated test variable. More... | |
| void | DeleteHBlocks () |
| Deletes the HypreParMatrix associated with any pointer stored in _h_blocks, and then proceeds to delete all dynamically allocated memory for _h_blocks itself, resetting all dimensions to zero. More... | |
| void | DeleteJacobianBlocks () |
| Deletes the HypreParMatrix associated with any pointer stored in _jacobian_blocks, and then proceeds to delete all dynamically allocated memory for _jacobian_blocks itself, resetting all dimensions to zero. More... | |
| bool | VectorContainsName (const std::vector< std::string > &the_vector, const std::string &name) const |
| virtual void | ApplyEssentialBC (const std::string &var_name, mfem::ParGridFunction &trial_gf, mfem::Array< int > &global_ess_markers) |
| Apply essential BC(s) associated with var_name to set true DoFs of trial_gf and update markers of all essential boundaries. More... | |
| virtual void | EliminateCoupledVariables () |
| Perform trivial eliminations of coupled variables lacking corresponding test variables. More... | |
| virtual void | BuildNonlinearForms () |
| Build non-linear action forms. More... | |
| virtual void | BuildMixedBilinearForms () |
| Build mixed bilinear forms (off-diagonal Jacobian contributions) More... | |
| virtual void | FormLinearSystem (mfem::OperatorHandle &op, mfem::BlockVector &trueX, mfem::BlockVector &trueRHS) |
| Form linear components of system based on on- and off-diagonal bilinear form contributions, populate solution and RHS vectors of true DoFs, and apply constraints. More... | |
| void | FormJacobianMatrix (const mfem::Vector &u) |
| Compute Jacobian matrix at the provided vector of true DoFs of trial variables. More... | |
| template<class FormType > | |
| void | ApplyDomainBLFIntegrators (const std::string &trial_var_name, const std::string &test_var_name, std::shared_ptr< FormType > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMKernel >>>> &kernels_map, std::optional< mfem::real_t > scale_factor=std::nullopt) |
| Template method for applying BilinearFormIntegrators on domains from kernels to a BilinearForm, or MixedBilinearForm. More... | |
| void | ApplyDomainLFIntegrators (const std::string &test_var_name, std::shared_ptr< mfem::ParLinearForm > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMKernel >>>> &kernels_map) |
| Apply domain LinearFormIntegrators from kernels to the linear form associated with the supplied test variable. More... | |
| void | ApplyDomainNLFIntegrators (const std::string &test_var_name, std::shared_ptr< mfem::ParNonlinearForm > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMKernel >>>> &kernels_map, std::optional< mfem::real_t > scale_factor=std::nullopt) |
| Apply domain NonlinearFormIntegrators from kernels to the nonlinear form associated with the supplied test variable. More... | |
| template<class FormType > | |
| void | ApplyBoundaryBLFIntegrators (const std::string &trial_var_name, const std::string &test_var_name, std::shared_ptr< FormType > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMIntegratedBC >>>> &integrated_bc_map, std::optional< mfem::real_t > scale_factor=std::nullopt) |
| Template method for applying BilinearFormIntegrators on boundaries from integrated boundary conditions to a BilinearForm, or MixedBilinearForm. More... | |
| void | ApplyBoundaryLFIntegrators (const std::string &test_var_name, std::shared_ptr< mfem::ParLinearForm > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMIntegratedBC >>>> &integrated_bc_map) |
| Apply boundary LinearFormIntegrators from integrated boundary conditions to the linear form associated with the supplied test variable. More... | |
| void | ApplyBoundaryNLFIntegrators (const std::string &test_var_name, std::shared_ptr< mfem::ParNonlinearForm > form, NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMIntegratedBC >>>> &integrated_bc_map, std::optional< mfem::real_t > scale_factor=std::nullopt) |
| Apply boundary NonlinearFormIntegrators from integrated boundary conditions to the nonlinear form associated with the supplied test variable. More... | |
Protected Attributes | |
| NamedFieldsMap< mfem::ParSesquilinearForm > | _slfs |
| NamedFieldsMap< mfem::ParComplexLinearForm > | _clfs |
| NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexKernel > > > > | _cmplx_kernels_map |
| NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexIntegratedBC > > > > | _cmplx_integrated_bc_map |
| NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexEssentialBC > > > | _cmplx_essential_bc_map |
| ComplexGridFunctions | _cmplx_eliminated_variables |
| Pointers to coupled variables not part of the reduced EquationSystem. More... | |
| std::vector< std::unique_ptr< mfem::ParComplexGridFunction > > | _cmplx_var_ess_constraints |
| Complex Gridfunctions holding essential constraints from Dirichlet BCs. More... | |
| Moose::MFEM::ComplexGridFunctions * | _complex_gfuncs |
| std::vector< std::string > | _coupled_var_names |
| Names of all trial variables of kernels and boundary conditions added to this EquationSystem. More... | |
| std::vector< std::string > | _trial_var_names |
| Subset of _coupled_var_names of all variables corresponding to gridfunctions with degrees of freedom that comprise the state vector of this EquationSystem. More... | |
| std::vector< std::string > | _eliminated_var_names |
| Names of all coupled variables without a corresponding test variable. More... | |
| Moose::MFEM::GridFunctions | _eliminated_variables |
| Pointers to coupled variables not part of the reduced EquationSystem. More... | |
| std::vector< std::string > | _test_var_names |
| Names of all test variables corresponding to linear forms in this equation system. More... | |
| std::vector< mfem::ParFiniteElementSpace * > | _test_pfespaces |
| Pointers to finite element spaces associated with test variables. More... | |
| std::vector< mfem::ParFiniteElementSpace * > | _coupled_pfespaces |
| Pointers to finite element spaces associated with coupled variables. More... | |
| NamedFieldsMap< mfem::ParBilinearForm > | _blfs |
| NamedFieldsMap< mfem::ParLinearForm > | _lfs |
| NamedFieldsMap< mfem::ParNonlinearForm > | _nlfs |
| NamedFieldsMap< NamedFieldsMap< mfem::ParMixedBilinearForm > > | _mblfs |
| std::vector< std::unique_ptr< mfem::ParGridFunction > > | _var_ess_constraints |
| Gridfunctions holding essential constraints from Dirichlet BCs. More... | |
| std::vector< mfem::Array< int > > | _ess_tdof_lists |
| mfem::Array2D< const mfem::HypreParMatrix * > | _h_blocks |
| mfem::Array2D< const mfem::HypreParMatrix * > | _jacobian_blocks |
| NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMKernel > > > > | _kernels_map |
| Arrays to store kernels to act on each component of weak form. More... | |
| NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMIntegratedBC > > > > | _integrated_bc_map |
| Arrays to store integrated BCs to act on each component of weak form. More... | |
| NamedFieldsMap< std::vector< std::shared_ptr< MFEMEssentialBC > > > | _essential_bc_map |
| Arrays to store essential BCs to act on each component of weak form. More... | |
| mfem::OperatorHandle | _jacobian |
| mfem::OperatorHandle | _linear_operator |
| mfem::AssemblyLevel | _assembly_level |
| Moose::MFEM::GridFunctions * | _gfuncs |
| mfem::Array< int > | _block_true_offsets |
| bool | _non_linear = false |
| bool | _solver_requires_gradient = false |
Definition at line 19 of file ComplexEquationSystem.h.
|
default |
|
default |
| void Moose::MFEM::ComplexEquationSystem::AddComplexEssentialBCs | ( | std::shared_ptr< MFEMComplexEssentialBC > | bc | ) |
Add complex essential BCs.
Definition at line 197 of file ComplexEquationSystem.C.
Referenced by MFEMProblem::addBoundaryCondition().
| void Moose::MFEM::ComplexEquationSystem::AddComplexIntegratedBC | ( | std::shared_ptr< MFEMComplexIntegratedBC > | bc | ) |
Add complex integrated BCs.
Definition at line 174 of file ComplexEquationSystem.C.
Referenced by MFEMProblem::addBoundaryCondition().
| void Moose::MFEM::ComplexEquationSystem::AddComplexKernel | ( | std::shared_ptr< MFEMComplexKernel > | kernel | ) |
Add complex kernels.
Definition at line 151 of file ComplexEquationSystem.C.
Referenced by MFEMProblem::addKernel().
|
protectedvirtualinherited |
Add coupled variable to EquationSystem.
Definition at line 56 of file EquationSystem.C.
Referenced by AddComplexIntegratedBC(), AddComplexKernel(), Moose::MFEM::EquationSystem::AddIntegratedBC(), and Moose::MFEM::EquationSystem::AddKernel().
|
protectedvirtualinherited |
Add eliminated variable to EquationSystem.
Definition at line 63 of file EquationSystem.C.
Referenced by Moose::MFEM::TimeDependentEquationSystem::AddKernel().
|
virtualinherited |
Add BC associated with essentially constrained DoFs on boundaries.
Definition at line 138 of file EquationSystem.C.
Referenced by MFEMProblem::addBoundaryCondition().
|
virtualinherited |
Definition at line 115 of file EquationSystem.C.
Referenced by MFEMProblem::addBoundaryCondition().
|
virtualinherited |
Add kernels.
Reimplemented in Moose::MFEM::TimeDependentEquationSystem.
Definition at line 92 of file EquationSystem.C.
Referenced by Moose::MFEM::TimeDependentEquationSystem::AddKernel(), and MFEMProblem::addKernel().
|
protectedvirtualinherited |
Add test variable to EquationSystem.
Definition at line 70 of file EquationSystem.C.
Referenced by AddComplexEssentialBCs(), AddComplexIntegratedBC(), AddComplexKernel(), Moose::MFEM::EquationSystem::AddEssentialBC(), Moose::MFEM::EquationSystem::AddIntegratedBC(), Moose::MFEM::TimeDependentEquationSystem::AddKernel(), and Moose::MFEM::EquationSystem::AddKernel().
| void Moose::MFEM::ComplexEquationSystem::ApplyBoundaryBLFIntegrators | ( | const std::string & | trial_var_name, |
| const std::string & | test_var_name, | ||
| std::shared_ptr< FormType > | form, | ||
| NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexIntegratedBC >>>> & | integrated_bc_map | ||
| ) |
Template method for applying BilinearFormIntegrators on boudaries from kernels to a SesquilinearForm.
Definition at line 187 of file ComplexEquationSystem.h.
|
protectedinherited |
Template method for applying BilinearFormIntegrators on boundaries from integrated boundary conditions to a BilinearForm, or MixedBilinearForm.
Definition at line 311 of file EquationSystem.h.
|
inline |
Method for applying LinearFormIntegrators on boundaries from kernels to a ParComplexLinearForm.
Definition at line 215 of file ComplexEquationSystem.h.
Referenced by BuildLinearForms().
|
protectedinherited |
Apply boundary LinearFormIntegrators from integrated boundary conditions to the linear form associated with the supplied test variable.
Definition at line 650 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::BuildLinearForms().
|
protectedinherited |
Apply boundary NonlinearFormIntegrators from integrated boundary conditions to the nonlinear form associated with the supplied test variable.
Definition at line 675 of file EquationSystem.C.
Referenced by Moose::MFEM::TimeDependentEquationSystem::BuildNonlinearForms(), and Moose::MFEM::EquationSystem::BuildNonlinearForms().
|
virtual |
Apply essential BC(s) associated with var_name to set true DoFs of trial_gf and update markers of all essential boundaries.
Definition at line 106 of file ComplexEquationSystem.C.
Referenced by ApplyEssentialBCs().
| void Moose::MFEM::ComplexEquationSystem::ApplyDomainBLFIntegrators | ( | const std::string & | trial_var_name, |
| const std::string & | test_var_name, | ||
| std::shared_ptr< FormType > | form, | ||
| NamedFieldsMap< NamedFieldsMap< std::vector< std::shared_ptr< MFEMComplexKernel >>>> & | kernels_map | ||
| ) |
Template method for applying BilinearFormIntegrators on domains from kernels to a SesquilinearForm.
Definition at line 135 of file ComplexEquationSystem.h.
|
protectedinherited |
Template method for applying BilinearFormIntegrators on domains from kernels to a BilinearForm, or MixedBilinearForm.
Definition at line 283 of file EquationSystem.h.
|
inline |
Method for applying LinearFormIntegrators on domains from kernels to a ParComplexLinearForm.
Definition at line 161 of file ComplexEquationSystem.h.
Referenced by BuildLinearForms().
|
protectedinherited |
Apply domain LinearFormIntegrators from kernels to the linear form associated with the supplied test variable.
Definition at line 595 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::BuildLinearForms().
|
protectedinherited |
Apply domain NonlinearFormIntegrators from kernels to the nonlinear form associated with the supplied test variable.
Definition at line 618 of file EquationSystem.C.
Referenced by Moose::MFEM::TimeDependentEquationSystem::BuildNonlinearForms(), and Moose::MFEM::EquationSystem::BuildNonlinearForms().
|
protectedvirtualinherited |
Apply essential BC(s) associated with var_name to set true DoFs of trial_gf and update markers of all essential boundaries.
Definition at line 207 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::ApplyEssentialBCs().
|
overridevirtual |
Update all essentially constrained true DoF markers and values on boundaries.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 127 of file ComplexEquationSystem.C.
Referenced by BuildLinearForms().
|
overridevirtual |
Build bilinear forms (diagonal Jacobian contributions)
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 84 of file ComplexEquationSystem.C.
Referenced by BuildEquationSystem().
|
overridevirtual |
Build all forms comprising this EquationSystem.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 53 of file ComplexEquationSystem.C.
|
overridevirtual |
Build linear forms and eliminate constrained DoFs.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 60 of file ComplexEquationSystem.C.
Referenced by BuildEquationSystem().
|
protectedvirtualinherited |
Build mixed bilinear forms (off-diagonal Jacobian contributions)
Reimplemented in Moose::MFEM::TimeDependentEquationSystem.
Definition at line 547 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::BuildEquationSystem().
|
protectedvirtualinherited |
Build non-linear action forms.
Reimplemented in Moose::MFEM::TimeDependentEquationSystem.
Definition at line 510 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::BuildEquationSystem().
|
inlineoverridevirtual |
Whether this a complex equation system.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 107 of file ComplexEquationSystem.h.
|
virtualinherited |
Compute the contribution to the residual from nonlinear forms only.
Definition at line 406 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::Mult().
|
protectedinherited |
Deletes the HypreParMatrix associated with any pointer stored in _h_blocks, and then proceeds to delete all dynamically allocated memory for _h_blocks itself, resetting all dimensions to zero.
Definition at line 26 of file EquationSystem.C.
Referenced by FormSystemMatrix(), Moose::MFEM::EquationSystem::FormSystemMatrix(), and Moose::MFEM::EquationSystem::~EquationSystem().
|
protectedinherited |
Deletes the HypreParMatrix associated with any pointer stored in _jacobian_blocks, and then proceeds to delete all dynamically allocated memory for _jacobian_blocks itself, resetting all dimensions to zero.
Definition at line 39 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::FormJacobianMatrix(), and Moose::MFEM::EquationSystem::~EquationSystem().
|
protectedvirtualinherited |
Perform trivial eliminations of coupled variables lacking corresponding test variables.
Reimplemented in Moose::MFEM::TimeDependentEquationSystem.
Definition at line 252 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::BuildLinearForms(), and Moose::MFEM::TimeDependentEquationSystem::EliminateCoupledVariables().
|
protectedinherited |
Compute Jacobian matrix at the provided vector of true DoFs of trial variables.
Definition at line 425 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::GetGradient().
|
protectedvirtualinherited |
Form linear components of system based on on- and off-diagonal bilinear form contributions, populate solution and RHS vectors of true DoFs, and apply constraints.
Definition at line 265 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::FormSystem().
|
inherited |
Assemble the linear part of the operator, assemble the right-hand side, apply essential and eliminated-variable constraints, and populate the true-DoF vectors used by the solve.
Definition at line 374 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystemProblemOperator::BuildEquationSystemOperator(), and Moose::MFEM::TimeDependentEquationSystemProblemOperator::BuildEquationSystemOperator().
|
overridevirtual |
Form matrix representation of system operator as a HypreParMatrix.
Used when EquationSystem assembly level is set to 'LEGACY'.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 238 of file ComplexEquationSystem.C.
|
overridevirtual |
Form matrix-free representation of system operator.
Used when EquationSystem assembly level is set to 'FULL', 'ELEMENT', 'PARTIAL', or 'NONE'.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 211 of file ComplexEquationSystem.C.
|
overrideinherited |
Get Jacobian at the provided vector of true DoFs of trial variables.
Definition at line 456 of file EquationSystem.C.
|
inlineinherited |
Definition at line 74 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), and Moose::MFEM::TimeDependentEquationSystemProblemOperator::SetGridFunctions().
|
inlineinherited |
Definition at line 73 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystemProblemOperator::SetGridFunctions(), Moose::MFEM::ComplexEquationSystemProblemOperator::SetGridFunctions(), and Moose::MFEM::TimeDependentEquationSystemProblemOperator::SetGridFunctions().
|
overridevirtual |
Initialise.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 10 of file ComplexEquationSystem.C.
|
overridevirtual |
Nonlinear Mult (Used by Newton-solver not necessarily nonlinear)
Definition at line 281 of file ComplexEquationSystem.C.
|
inlineinherited |
Definition at line 79 of file EquationSystem.h.
Referenced by Moose::MFEM::ProblemOperatorBase::SolveWithOperator().
|
inherited |
Prepare the provided linear solver.
First calls SetupLOR on the solver if it's using a Low Order Refined methodology and then calls SetOperator on the solver with the assembled linear operator
Definition at line 709 of file EquationSystem.C.
Referenced by Moose::MFEM::ProblemOperatorBase::SolveWithOperator().
|
inlineinherited |
Set whether the nonlinear solver driving this equation system requires Jacobian information.
Definition at line 66 of file EquationSystem.h.
|
protectedvirtualinherited |
Set trial variable names from subset of coupled variables that have an associated test variable.
Definition at line 77 of file EquationSystem.C.
Referenced by Init(), and Moose::MFEM::EquationSystem::Init().
|
overridevirtual |
Update variable from solution vector after solve.
Reimplemented from Moose::MFEM::EquationSystem.
Definition at line 289 of file ComplexEquationSystem.C.
|
protectedinherited |
Definition at line 49 of file EquationSystem.C.
Referenced by Moose::MFEM::EquationSystem::AddCoupledVariableNameIfMissing(), Moose::MFEM::EquationSystem::AddEliminatedVariableNameIfMissing(), Moose::MFEM::EquationSystem::AddTestVariableNameIfMissing(), Moose::MFEM::EquationSystem::EliminateCoupledVariables(), and Moose::MFEM::EquationSystem::SetTrialVariableNames().
|
protectedinherited |
Definition at line 263 of file EquationSystem.h.
Referenced by Moose::MFEM::TimeDependentEquationSystem::BuildBilinearForms(), BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildBilinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::FormLinearSystem(), Moose::MFEM::EquationSystem::GetGradient(), Init(), and Moose::MFEM::EquationSystem::Init().
|
protectedinherited |
Definition at line 239 of file EquationSystem.h.
Referenced by Moose::MFEM::TimeDependentEquationSystem::BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildBilinearForms(), Moose::MFEM::EigenproblemEquationSystem::FormEigenproblemMatrix(), Moose::MFEM::EquationSystem::FormSystemMatrix(), Moose::MFEM::EquationSystem::FormSystemOperator(), and Moose::MFEM::EquationSystem::PrepareLinearSolver().
|
protectedinherited |
Definition at line 268 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::ComputeNonlinearResidual(), Moose::MFEM::EquationSystem::FormJacobianMatrix(), and Moose::MFEM::EquationSystem::FormSystem().
|
protected |
Definition at line 112 of file ComplexEquationSystem.h.
Referenced by BuildLinearForms(), FormSystemMatrix(), and FormSystemOperator().
|
protected |
Pointers to coupled variables not part of the reduced EquationSystem.
Definition at line 124 of file ComplexEquationSystem.h.
Referenced by Init().
|
protected |
Definition at line 121 of file ComplexEquationSystem.h.
Referenced by AddComplexEssentialBCs(), and ApplyComplexEssentialBC().
|
protected |
Definition at line 118 of file ComplexEquationSystem.h.
Referenced by AddComplexIntegratedBC(), BuildBilinearForms(), and BuildLinearForms().
|
protected |
Definition at line 116 of file ComplexEquationSystem.h.
Referenced by AddComplexKernel(), BuildBilinearForms(), and BuildLinearForms().
|
protected |
Complex Gridfunctions holding essential constraints from Dirichlet BCs.
Definition at line 127 of file ComplexEquationSystem.h.
Referenced by ApplyEssentialBCs(), FormSystemMatrix(), FormSystemOperator(), and Init().
|
protected |
Definition at line 130 of file ComplexEquationSystem.h.
Referenced by ApplyEssentialBCs(), Init(), and SetTrialVariablesFromTrueVectors().
|
protectedinherited |
Pointers to finite element spaces associated with coupled variables.
Definition at line 236 of file EquationSystem.h.
Referenced by Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::BuildMixedBilinearForms(), Init(), and Moose::MFEM::EquationSystem::Init().
|
protectedinherited |
Names of all trial variables of kernels and boundary conditions added to this EquationSystem.
Definition at line 222 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::AddCoupledVariableNameIfMissing(), Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::BuildMixedBilinearForms(), Init(), Moose::MFEM::EquationSystem::Init(), and Moose::MFEM::EquationSystem::SetTrialVariableNames().
|
protectedinherited |
Names of all coupled variables without a corresponding test variable.
Definition at line 228 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::AddEliminatedVariableNameIfMissing(), Moose::MFEM::TimeDependentEquationSystem::EliminateCoupledVariables(), Moose::MFEM::EquationSystem::EliminateCoupledVariables(), Init(), Moose::MFEM::EquationSystem::Init(), and Moose::MFEM::EquationSystem::SetTrialVariableNames().
|
protectedinherited |
Pointers to coupled variables not part of the reduced EquationSystem.
Definition at line 230 of file EquationSystem.h.
Referenced by Moose::MFEM::TimeDependentEquationSystem::EliminateCoupledVariables(), Moose::MFEM::EquationSystem::EliminateCoupledVariables(), and Moose::MFEM::EquationSystem::Init().
|
protectedinherited |
Definition at line 246 of file EquationSystem.h.
Referenced by Moose::MFEM::EigenproblemEquationSystem::ApplyEssentialBCs(), ApplyEssentialBCs(), Moose::MFEM::EquationSystem::ApplyEssentialBCs(), Moose::MFEM::TimeDependentEquationSystem::BuildNonlinearForms(), Moose::MFEM::EquationSystem::BuildNonlinearForms(), FormSystemMatrix(), Moose::MFEM::EquationSystem::FormSystemMatrix(), FormSystemOperator(), Moose::MFEM::EquationSystem::FormSystemOperator(), and Moose::MFEM::EquationSystem::PrepareLinearSolver().
|
protectedinherited |
Arrays to store essential BCs to act on each component of weak form.
Named according to test variable.
Definition at line 257 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::AddEssentialBC(), and Moose::MFEM::EquationSystem::ApplyEssentialBC().
|
protectedinherited |
|
protectedinherited |
Definition at line 248 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::DeleteHBlocks(), Moose::MFEM::EquationSystem::DeleteJacobianBlocks(), Moose::MFEM::EquationSystem::FormJacobianMatrix(), FormSystemMatrix(), and Moose::MFEM::EquationSystem::FormSystemMatrix().
|
protectedinherited |
Arrays to store integrated BCs to act on each component of weak form.
Named according to test and trial variables.
Definition at line 254 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::AddIntegratedBC(), Moose::MFEM::TimeDependentEquationSystem::BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildLinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildNonlinearForms(), and Moose::MFEM::EquationSystem::BuildNonlinearForms().
|
mutableprotectedinherited |
|
protectedinherited |
Definition at line 248 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::DeleteHBlocks(), Moose::MFEM::EquationSystem::DeleteJacobianBlocks(), and Moose::MFEM::EquationSystem::FormJacobianMatrix().
|
protectedinherited |
Arrays to store kernels to act on each component of weak form.
Named according to test and trial variables.
Definition at line 251 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::AddKernel(), Moose::MFEM::TimeDependentEquationSystem::BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildLinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::BuildMixedBilinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildNonlinearForms(), and Moose::MFEM::EquationSystem::BuildNonlinearForms().
|
protectedinherited |
Definition at line 240 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::BuildLinearForms(), Moose::MFEM::TimeDependentEquationSystem::EliminateCoupledVariables(), Moose::MFEM::EquationSystem::EliminateCoupledVariables(), Moose::MFEM::EquationSystem::FormSystemMatrix(), and Moose::MFEM::EquationSystem::FormSystemOperator().
|
mutableprotectedinherited |
Definition at line 262 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::FormSystem(), Moose::MFEM::EquationSystem::GetGradient(), Mult(), Moose::MFEM::EquationSystem::Mult(), and Moose::MFEM::EquationSystem::PrepareLinearSolver().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Definition at line 270 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::ApplyBoundaryNLFIntegrators(), Moose::MFEM::EquationSystem::ApplyDomainNLFIntegrators(), Moose::MFEM::EquationSystem::ComputeNonlinearResidual(), Moose::MFEM::EquationSystem::GetGradient(), Moose::MFEM::EquationSystem::Mult(), and Moose::MFEM::EquationSystem::Nonlinear().
|
protected |
Definition at line 111 of file ComplexEquationSystem.h.
Referenced by BuildBilinearForms(), FormSystemMatrix(), and FormSystemOperator().
|
protectedinherited |
Definition at line 272 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::ApplyBoundaryNLFIntegrators(), Moose::MFEM::EquationSystem::ApplyDomainNLFIntegrators(), and Moose::MFEM::EquationSystem::SetSolverRequiresGradient().
|
protectedinherited |
Pointers to finite element spaces associated with test variables.
Definition at line 234 of file EquationSystem.h.
Referenced by Moose::MFEM::TimeDependentEquationSystem::BuildBilinearForms(), BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildBilinearForms(), BuildLinearForms(), Moose::MFEM::EquationSystem::BuildLinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::BuildMixedBilinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildNonlinearForms(), Moose::MFEM::EquationSystem::BuildNonlinearForms(), Moose::MFEM::EigenproblemEquationSystem::FormMassMatrix(), Moose::MFEM::EquationSystem::FormSystemMatrix(), Init(), and Moose::MFEM::EquationSystem::Init().
|
protectedinherited |
Names of all test variables corresponding to linear forms in this equation system.
Definition at line 232 of file EquationSystem.h.
Referenced by Moose::MFEM::EquationSystem::AddTestVariableNameIfMissing(), Moose::MFEM::TimeDependentEquationSystem::BuildBilinearForms(), BuildBilinearForms(), Moose::MFEM::EquationSystem::BuildBilinearForms(), Moose::MFEM::EigenproblemEquationSystem::BuildEigenproblemJacobian(), BuildLinearForms(), Moose::MFEM::EquationSystem::BuildLinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::BuildMixedBilinearForms(), Moose::MFEM::TimeDependentEquationSystem::BuildNonlinearForms(), Moose::MFEM::EquationSystem::BuildNonlinearForms(), Moose::MFEM::EquationSystem::ComputeNonlinearResidual(), Moose::MFEM::TimeDependentEquationSystem::EliminateCoupledVariables(), Moose::MFEM::EquationSystem::EliminateCoupledVariables(), Moose::MFEM::EigenproblemEquationSystem::FormEigenproblemMatrix(), Moose::MFEM::EquationSystem::FormJacobianMatrix(), Moose::MFEM::EquationSystem::FormLinearSystem(), FormSystemMatrix(), Moose::MFEM::EquationSystem::FormSystemMatrix(), FormSystemOperator(), Moose::MFEM::EquationSystem::FormSystemOperator(), Moose::MFEM::EquationSystem::GetTestVarNames(), Init(), Moose::MFEM::EquationSystem::Init(), Moose::MFEM::EquationSystem::PrepareLinearSolver(), and Moose::MFEM::EquationSystem::SetTrialVariableNames().
|
protectedinherited |
Subset of _coupled_var_names of all variables corresponding to gridfunctions with degrees of freedom that comprise the state vector of this EquationSystem.
This will differ from _coupled_var_names when time derivatives or other eliminated variables are present.
Definition at line 226 of file EquationSystem.h.
Referenced by Moose::MFEM::EigenproblemEquationSystem::ApplyEssentialBCs(), ApplyEssentialBCs(), Moose::MFEM::EquationSystem::ApplyEssentialBCs(), Moose::MFEM::EigenproblemEquationSystem::BuildEigenproblemJacobian(), Moose::MFEM::TimeDependentEquationSystem::BuildMixedBilinearForms(), Moose::MFEM::EquationSystem::FormJacobianMatrix(), Moose::MFEM::EquationSystem::FormLinearSystem(), Moose::MFEM::EquationSystem::FormSystem(), FormSystemMatrix(), Moose::MFEM::EquationSystem::FormSystemMatrix(), Moose::MFEM::EquationSystem::GetTrialVarNames(), Moose::MFEM::EquationSystem::Init(), Moose::MFEM::EquationSystem::SetTrialVariableNames(), Moose::MFEM::EquationSystem::SetTrialVariablesFromTrueVectors(), and SetTrialVariablesFromTrueVectors().
|
protectedinherited |
Gridfunctions holding essential constraints from Dirichlet BCs.
Definition at line 245 of file EquationSystem.h.
Referenced by Moose::MFEM::EigenproblemEquationSystem::ApplyEssentialBCs(), Moose::MFEM::EquationSystem::ApplyEssentialBCs(), Moose::MFEM::EquationSystem::FormSystemMatrix(), Moose::MFEM::EquationSystem::FormSystemOperator(), and Moose::MFEM::EquationSystem::Init().
1.8.14