Chi-Tech
diffusion_PWLC_00_constrdestr.cc
Go to the documentation of this file.
1#include "diffusion_PWLC.h"
2
4
5namespace lbs::acceleration
6{
7
9 std::string text_name,
11 const chi_math::UnknownManager& uk_man,
12 std::map<uint64_t, BoundaryCondition> bcs,
13 MatID2XSMap map_mat_id_2_xs,
14 const std::vector<UnitCellMatrices>& unit_cell_matrices,
15 bool verbose)
16 : DiffusionSolver(std::move(text_name),
17 sdm,
18 uk_man,
19 std::move(bcs),
20 std::move(map_mat_id_2_xs),
21 unit_cell_matrices,
22 verbose,
23 /*requires_ghosts=*/true)
24{
26 const auto& PWLC = SDM_TYPE ::PIECEWISE_LINEAR_CONTINUOUS;
27
28 if (sdm_.Type() != PWLC)
29 throw std::logic_error("lbs::acceleration::DiffusionPWLCSolver: can only be"
30 " used with PWLC.");
31}
32
33} // namespace lbs::acceleration
SpatialDiscretizationType Type() const
DiffusionPWLCSolver(std::string text_name, const chi_math::SpatialDiscretization &sdm, const chi_math::UnknownManager &uk_man, std::map< uint64_t, BoundaryCondition > bcs, MatID2XSMap map_mat_id_2_xs, const std::vector< UnitCellMatrices > &unit_cell_matrices, bool verbose)
const chi_math::SpatialDiscretization & sdm_
Definition: diffusion.h:39
std::map< int, Multigroup_D_and_sigR > MatID2XSMap
Definition: diffusion.h:35
SpatialDiscretizationType
Definition: chi_math.h:37