1#ifndef MG_DIFFUSION_SOLVER_H
2#define MG_DIFFUSION_SOLVER_H
25class SpatialDiscretization;
26typedef std::shared_ptr<SpatialDiscretization>
SDMPtr ;
77 std::vector< std::vector<double> >
VF_;
80 typedef std::pair<BoundaryType,std::array<std::vector<double>, 3>>
87 explicit Solver(
const std::string& in_solver_name);
93 void Set_BCs(
const std::vector<uint64_t>& globl_unique_bndry_ids);
109 std::map<int,std::shared_ptr<chi_physics::MultiGroupXS>>
112 std::map<int,std::shared_ptr<chi_physics::IsotropicMultiGrpSource>>
void Update_Flux_With_TwoGrid(int64_t iverbose)
std::vector< std::vector< double > > VF_
std::map< int, TwoGridCollapsedInfo > map_mat_id_2_tginfo
BoundaryPreferences boundary_preferences_
void Assemble_RHS_TwoGrid(int64_t iverbose)
KSPAppContext my_app_context_
std::vector< Vec > x_old_
void Initialize_Materials(std::set< int > &material_ids)
Solver(const std::string &in_solver_name)
std::map< int, std::shared_ptr< chi_physics::MultiGroupXS > > matid_to_xs_map
void Compute_TwoGrid_VolumeFractions()
chi_mesh::MeshContinuumPtr grid_ptr_
void UpdateFieldFunctions()
std::vector< Boundary > boundaries_
std::pair< BoundaryType, std::array< std::vector< double >, 3 > > BoundaryInfo
void Compute_TwoGrid_Params()
std::map< int, std::shared_ptr< chi_physics::IsotropicMultiGrpSource > > matid_to_src_map
chi_math::SDMPtr sdm_ptr_
void Set_BCs(const std::vector< uint64_t > &globl_unique_bndry_ids)
void Assemble_RHS(unsigned int g, int64_t iverbose)
void Initialize() override
std::map< uint, BoundaryInfo > BoundaryPreferences
chi_math::PETScUtils::PETScSolverSetup petsc_solver_
void SolveOneGroupProblem(unsigned int g, int64_t iverbose)
std::shared_ptr< SpatialDiscretization > SDMPtr
std::shared_ptr< MeshContinuum > MeshContinuumPtr
std::vector< double > spectrum