Chi-Tech
lbs_steady_state.cc
Go to the documentation of this file.
1#include "lbs_steady_state.h"
2
3#include "ChiObjectFactory.h"
4
6
7namespace lbs
8{
9
11
13{
16
18 "Generalized implementation of a steady state solver. This solver calls"
19 " the Across-Groupset (AGS) solver for the lbs-data block.");
20 params.SetDocGroup("LBSExecutors");
21
22 params.ChangeExistingParamToOptional("name", "SteadyStateSolver");
23
24 params.AddRequiredParameter<size_t>("lbs_solver_handle",
25 "Handle to an existing lbs solver");
26
27 return params;
28}
29
31 : chi_physics::Solver(params),
32 lbs_solver_(Chi::GetStackItem<LBSSolver>(
33 Chi::object_stack, params.GetParamValue<size_t>("lbs_solver_handle")))
34{
35
36}
37
39{
41}
42
44{
45 auto& ags_solver = *lbs_solver_.GetPrimaryAGSSolver();
46
47 ags_solver.Setup();
48 ags_solver.Solve();
49
52
54}
55
56} // 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
AGSLinSolverPtr GetPrimaryAGSSolver()
void Initialize() override
lbs::Options & Options()
void Initialize() override
SteadyStateSolver(const chi::InputParameters &params)
static chi::InputParameters GetInputParameters()
RegisterChiObject(lbs, DiffusionDFEMSolver)
bool use_precursors
Definition: lbs_structs.h:138