OGS
TimeLoop.cpp File Reference

Detailed Description

Definition in file TimeLoop.cpp.

#include "TimeLoop.h"
#include <range/v3/algorithm/any_of.hpp>
#include <range/v3/algorithm/contains.hpp>
#include "BaseLib/Error.h"
#include "BaseLib/RunTime.h"
#include "MathLib/LinAlg/LinAlg.h"
#include "NumLib/ODESolver/ConvergenceCriterionPerComponent.h"
#include "NumLib/ODESolver/PETScNonlinearSolver.h"
#include "NumLib/ODESolver/TimeDiscretizedODESystem.h"
#include "NumLib/StaggeredCoupling/StaggeredCoupling.h"
#include "NumLib/TimeStepping/Time.h"
#include "ProcessData.h"
Include dependency graph for TimeLoop.cpp:

Go to the source code of this file.

Namespaces

namespace  anonymous_namespace{TimeLoop.cpp}
 
namespace  ProcessLib
 

Functions

void anonymous_namespace{TimeLoop.cpp}::updateDeactivatedSubdomains (std::vector< std::unique_ptr< ProcessLib::ProcessData > > const &per_process_data, double const t)
 
bool anonymous_namespace{TimeLoop.cpp}::isOutputStep (std::vector< ProcessLib::Output > const &outputs, const int timestep, const NumLib::Time &t, const NumLib::Time &end_time)
 
void anonymous_namespace{TimeLoop.cpp}::preOutputForAllProcesses (int const timestep, NumLib::Time const &t, double const dt, const NumLib::Time &end_time, std::vector< std::unique_ptr< ProcessLib::ProcessData > > const &per_process_data, std::vector< GlobalVector * > const &process_solutions, std::vector< GlobalVector * > const &process_solutions_prev, std::vector< ProcessLib::Output > const &outputs)
 
void ProcessLib::preTimestepForAllProcesses (NumLib::Time const &t, double const dt, std::vector< std::unique_ptr< ProcessData > > const &per_process_data, std::vector< GlobalVector * > const &_process_solutions)
 
void ProcessLib::postTimestepForAllProcesses (NumLib::Time const &t, double const dt, std::vector< std::unique_ptr< ProcessData > > const &per_process_data, std::vector< GlobalVector * > const &process_solutions, std::vector< GlobalVector * > const &process_solutions_prev)
 
template<NumLib::ODESystemTag ODETag>
void ProcessLib::setTimeDiscretizedODESystem (ProcessData &process_data, NumLib::ODESystem< ODETag, NumLib::NonlinearSolverTag::Picard > &ode_sys)
 
void ProcessLib::setTimeDiscretizedODESystem (ProcessData &process_data)
 
std::pair< std::vector< GlobalVector * >, std::vector< GlobalVector * > > ProcessLib::setInitialConditions (NumLib::Time const &t0, std::vector< std::unique_ptr< ProcessData > > const &per_process_data)
 
void ProcessLib::calculateNonEquilibriumInitialResiduum (std::vector< std::unique_ptr< ProcessData > > const &per_process_data, std::vector< GlobalVector * > const &process_solutions, std::vector< GlobalVector * > const &process_solutions_prev)
 
NumLib::NonlinearSolverStatus ProcessLib::solveOneTimeStepOneProcess (std::vector< GlobalVector * > &x, std::vector< GlobalVector * > const &x_prev, std::size_t const timestep, double const t, double const delta_t, ProcessData const &process_data, std::vector< Output > const &outputs)
 
bool ProcessLib::computationOfChangeNeeded (NumLib::TimeStepAlgorithm const &timestep_algorithm, NumLib::Time const &time)
 
static NumLib::NonlinearSolverStatus ProcessLib::solveMonolithicProcess (const NumLib::Time &t, const double dt, const std::size_t timestep_id, ProcessData const &process_data, std::vector< GlobalVector * > &x, std::vector< GlobalVector * > const &x_prev, std::vector< Output > const &outputs)
 

Variables

static constexpr std::string_view ProcessLib::timestepper_cannot_reduce_dt