Chi-Tech
lbs_transient.cc
Go to the documentation of this file.
1#include "lbs_transient.h"
2
3#include "ChiObjectFactory.h"
4
6
7namespace lbs
8{
9
11
13{
16
18 "Generalized implementation of a transient solver. This solver calls"
19 " the Across-Groupset (AGS) solver for the lbs-data block.");
20 params.SetDocGroup("LBSExecutors");
21
22 params.ChangeExistingParamToOptional("name", "TransientSolver");
23
24 params.AddRequiredParameter<size_t>("lbs_solver_handle",
25 "Handle to an existing lbs solver");
26
27 params.AddRequiredParameter<size_t>(
28 "time_integration", "Handle to a time integration scheme to use");
29
30 return params;
31}
32
34 : chi_physics::Solver(params),
35 lbs_solver_(Chi::GetStackItem<LBSSolver>(
36 Chi::object_stack, params.GetParamValue<size_t>("lbs_solver_handle"))),
37 time_integration_(Chi::GetStackItemPtrAsType<chi_math::TimeIntegration>(
38 Chi::object_stack, params.GetParamValue<size_t>("time_integration")))
39{
40}
41
43
45
47
49
50} // namespace lbs
void SetDocGroup(const std::string &doc_group)
void AddRequiredParameter(const std::string &name, const std::string &doc_string)
void SetGeneralDescription(const std::string &description)
void ChangeExistingParamToOptional(const std::string &name, T value, const std::string &doc_string="")
static chi::InputParameters GetInputParameters()
Definition: chi_solver.cc:16
void Initialize() override
void Advance() override
void Execute() override
LBSSolver & lbs_solver_
Definition: lbs_transient.h:16
static chi::InputParameters GetInputParameters()
TransientSolver(const chi::InputParameters &params)
void Initialize() override
void Step() override
RegisterChiObject(lbs, DiffusionDFEMSolver)