Implements a form of the central difference time integrator that calculates acceleration directly from the residual forces. More...
#include <ExplicitMixedOrder.h>
Public Types | |
| enum | TimeOrder { FIRST, SECOND } |
| typedef DataFileName | DataFileParameterType |
Public Member Functions | |
| ExplicitMixedOrder (const InputParameters ¶meters) | |
| virtual int | order () override |
| virtual void | computeTimeDerivatives () override |
| virtual void | solve () override |
| virtual void | postResidual (NumericVector< Number > &residual) override |
| virtual bool | overridesSolve () const override |
| virtual void | postSolve () override |
| virtual bool | advancesProblemState () const override |
| virtual bool | performExplicitSolve (SparseMatrix< Number > &mass_matrix) override |
| void | computeADTimeDerivatives (ADReal &, const dof_id_type &, ADReal &) const override |
| virtual void | init () override |
| virtual void | meshChanged () override |
| TimeOrder | findVariableTimeOrder (unsigned int var_num) const |
| Retrieve the order of the highest time derivative of a variable. More... | |
| virtual void | initialSetup () override |
| virtual void | preSolve () override |
| virtual bool | isExplicit () const override |
| virtual void | preStep () |
| virtual void | postStep () |
| virtual unsigned int | getNumNonlinearIterations () const |
| virtual unsigned int | getNumLinearIterations () const |
| const Real & | dt () const |
| virtual unsigned int | numStatesRequired () const |
| virtual const bool & | isLumped () const |
| bool | integratesVar (const unsigned int var_num) const |
| void | setNumIterationsLastSolve () |
| virtual bool | enabled () const |
| std::shared_ptr< MooseObject > | getSharedPtr () |
| std::shared_ptr< const MooseObject > | getSharedPtr () const |
| bool | isKokkosObject () const |
| MooseApp & | getMooseApp () const |
| const std::string & | type () const |
| const std::string & | name () const |
| std::string | typeAndName () const |
| MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
| MooseObjectName | uniqueName () const |
| const InputParameters & | parameters () const |
| const hit::Node * | getHitNode () const |
| bool | hasBase () const |
| const std::string & | getBase () const |
| const T & | getParam (const std::string &name) const |
| std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
| const T * | queryParam (const std::string &name) const |
| const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
| T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
| bool | haveParameter (const std::string &name) const |
| bool | isParamValid (const std::string &name) const |
| bool | isParamSetByUser (const std::string &name) const |
| void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
| void | paramError (const std::string ¶m, Args... args) const |
| void | paramWarning (const std::string ¶m, Args... args) const |
| void | paramWarning (const std::string ¶m, Args... args) const |
| void | paramInfo (const std::string ¶m, Args... args) const |
| std::string | messagePrefix (const bool hit_prefix=true) const |
| std::string | errorPrefix (const std::string &) const |
| void | mooseError (Args &&... args) const |
| void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
| void | mooseErrorNonPrefixed (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseDeprecatedNoTrace (Args &&... args) const |
| void | mooseInfo (Args &&... args) const |
| void | callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const |
| std::string | getDataFileName (const std::string ¶m) const |
| std::string | getDataFileNameByName (const std::string &relative_path) const |
| std::string | getDataFilePath (const std::string &relative_path) const |
| TagID | uDotFactorTag () const |
| TagID | uDotDotFactorTag () const |
| virtual Real | timeDerivativeRHSContribution (dof_id_type dof_id, const std::vector< Real > &factors={}) const |
| virtual Real | timeDerivativeMatrixContribution (const Real factor) const |
| const Parallel::Communicator & | comm () const |
| processor_id_type | n_processors () const |
| processor_id_type | processor_id () const |
Static Public Member Functions | |
| static InputParameters | validParams () |
| static void | callMooseError (MooseApp *const app, const InputParameters ¶ms, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true) |
Public Attributes | |
| usingCombinedWarningSolutionWarnings | |
| const ConsoleStream | _console |
Static Public Attributes | |
| static const std::string | type_param |
| static const std::string | name_param |
| static const std::string | unique_name_param |
| static const std::string | app_param |
| static const std::string | moose_base_param |
| static const std::string | kokkos_object_param |
Protected Types | |
| enum | SolveType |
Protected Member Functions | |
| void | updateDOFIndices () |
| compile the dof indices for first and second order in time variables More... | |
| virtual TagID | massMatrixTagID () const override |
| virtual void | evaluateRHSResidual () |
| Evaluate the RHS residual. More... | |
| template<typename T , typename T2 , typename T3 , typename T4 > | |
| void | computeTimeDerivativeHelper (T &u_dot, T2 &u_dotdot, const T3 &u_old, const T4 &u_older) const |
| Helper function that actually does the math for computing the time derivative. More... | |
| void | computeICs () |
| void | setupSolver () |
| bool | solveLinearSystem (SparseMatrix< Number > &mass_matrix) |
| bool | checkLinearConvergence () |
| unsigned int | getNumNonlinearIterationsLastSolve () const |
| unsigned int | getNumLinearIterationsLastSolve () const |
| void | copyVector (const NumericVector< Number > &from, NumericVector< Number > &to) |
| virtual Real | duDotDuCoeff () const |
| void | computeDuDotDu () |
| void | flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const |
| InvalidSolutionID | registerInvalidSolutionInternal (const std::string &message, const bool warning) const |
| T & | declareRestartableData (const std::string &data_name, Args &&... args) |
| ManagedValue< T > | declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
| const T & | getRestartableData (const std::string &data_name) const |
| T & | declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
| T & | declareRecoverableData (const std::string &data_name, Args &&... args) |
| T & | declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args) |
| T & | declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args) |
| std::string | restartableName (const std::string &data_name) const |
| NumericVector< Number > * | addVector (const std::string &name, const bool project, const libMesh::ParallelType type) |
Implements a form of the central difference time integrator that calculates acceleration directly from the residual forces.
Definition at line 25 of file ExplicitMixedOrder.h.
| Enumerator | |
|---|---|
| FIRST | |
| SECOND | |
Definition at line 56 of file ExplicitMixedOrder.h.
| ExplicitMixedOrder::ExplicitMixedOrder | ( | const InputParameters & | parameters | ) |
Definition at line 83 of file ExplicitMixedOrder.C.
|
inlineoverridevirtual |
Reimplemented from ExplicitTimeIntegrator.
Definition at line 44 of file ExplicitMixedOrder.h.
|
inlineoverridevirtual |
Implements ExplicitTimeIntegrator.
Definition at line 48 of file ExplicitMixedOrder.h.
|
protected |
Definition at line 363 of file ExplicitMixedOrder.C.
Referenced by init().
|
protected |
Helper function that actually does the math for computing the time derivative.
Definition at line 124 of file ExplicitMixedOrder.h.
|
overridevirtual |
Implements ExplicitTimeIntegrator.
Definition at line 105 of file ExplicitMixedOrder.C.
|
protectedvirtual |
Evaluate the RHS residual.
Reimplemented in NEML2CentralDifference.
Definition at line 195 of file ExplicitMixedOrder.C.
Referenced by NEML2CentralDifference::evaluateRHSResidual(), and solve().
| ExplicitMixedOrder::TimeOrder ExplicitMixedOrder::findVariableTimeOrder | ( | unsigned int | var_num | ) | const |
Retrieve the order of the highest time derivative of a variable.
Definition at line 376 of file ExplicitMixedOrder.C.
Referenced by ExplicitDirichletBCBase::timestepSetup().
|
overridevirtual |
Reimplemented from ExplicitTimeIntegrator.
Definition at line 290 of file ExplicitMixedOrder.C.
|
overrideprotectedvirtual |
Reimplemented from ExplicitTimeIntegrator.
Definition at line 132 of file ExplicitMixedOrder.C.
Referenced by solve().
|
overridevirtual |
Reimplemented from ExplicitTimeIntegrator.
Reimplemented in NEML2CentralDifference.
Definition at line 117 of file ExplicitMixedOrder.C.
Referenced by NEML2CentralDifference::meshChanged().
|
inlineoverridevirtual |
Implements ExplicitTimeIntegrator.
Definition at line 32 of file ExplicitMixedOrder.h.
|
inlineoverridevirtual |
Implements ExplicitTimeIntegrator.
Definition at line 37 of file ExplicitMixedOrder.h.
|
overridevirtual |
Reimplemented from ExplicitTimeIntegrator.
Definition at line 217 of file ExplicitMixedOrder.C.
Referenced by solve().
Reimplemented from ExplicitTimeIntegrator.
Definition at line 206 of file ExplicitMixedOrder.C.
|
inlineoverridevirtual |
Reimplemented from ExplicitTimeIntegrator.
Reimplemented in NEML2CentralDifference.
Definition at line 39 of file ExplicitMixedOrder.h.
Referenced by NEML2CentralDifference::postSolve().
|
overridevirtual |
Reimplemented from ExplicitTimeIntegrator.
Definition at line 138 of file ExplicitMixedOrder.C.
|
protected |
compile the dof indices for first and second order in time variables
Definition at line 329 of file ExplicitMixedOrder.C.
Referenced by solve().
|
static |
Definition at line 41 of file ExplicitMixedOrder.C.
Referenced by NEML2CentralDifference::validParams().
|
protected |
Whether we are reusing the mass matrix.
Definition at line 78 of file ExplicitMixedOrder.h.
Referenced by meshChanged(), and solve().
|
protected |
Definition at line 104 of file ExplicitMixedOrder.h.
Referenced by performExplicitSolve(), and updateDOFIndices().
|
protected |
Definition at line 110 of file ExplicitMixedOrder.h.
Referenced by performExplicitSolve(), and updateDOFIndices().
|
protected |
|
protected |
Mass matrix name.
Definition at line 92 of file ExplicitMixedOrder.h.
Referenced by massMatrixTagID().
|
protected |
Whether the mesh changed just before the current solve.
Definition at line 89 of file ExplicitMixedOrder.h.
Referenced by meshChanged(), and solve().
|
protected |
Must be set to true to use adaptivity with a constant mass matrix.
This will recompute the mass matrix when the mesh changes. The user must make sure that the underlying material density stays constant, otherwise simulation results will depend on adaptivity.
Definition at line 86 of file ExplicitMixedOrder.h.
Referenced by meshChanged().
|
protected |
The older solution.
Definition at line 98 of file ExplicitMixedOrder.h.
|
protected |
Definition at line 101 of file ExplicitMixedOrder.h.
Referenced by findVariableTimeOrder(), init(), and updateDOFIndices().
|
protected |
Definition at line 107 of file ExplicitMixedOrder.h.
Referenced by findVariableTimeOrder(), init(), and updateDOFIndices().
1.8.14