1#ifndef CHI_DIFFUSION_SOLVER_H
2#define CHI_DIFFUSION_SOLVER_H
21#define DIFFUSION_MATERIALS_REGULAR 10
22#define DIFFUSION_MATERIALS_FROM_TRANSPORTXS_TTR 11
23#define DIFFUSION_MATERIALS_FROM_TRANSPORTXS_TTF 12
24#define DIFFUSION_MATERIALS_FROM_TRANSPORTXS_TTF_JPART 13
25#define DIFFUSION_MATERIALS_FROM_TRANSPORTXS_TTF_JFULL 14
85 explicit Solver(
const std::string& in_solver_name);
91 std::vector<double>& diffCoeff,
92 std::vector<double>& sourceQ,
93 std::vector<double>& sigmaa,
105 int ExecuteS(
bool suppress_assembly =
false,
bool suppress_solve =
false);
125 uint64_t node_global_id);
std::map< uint64_t, UnitIntegralContainer > unit_integrals_
void CFEM_Assemble_A_and_b(chi_mesh::Cell &cell, int group=0)
void UpdateFieldFunctions()
std::vector< double > pwld_phi_local_
static uint64_t MapCellLocalNodeIDFromGlobalID(const chi_mesh::Cell &cell, uint64_t node_global_id)
Solver(const Solver &)=delete
std::pair< BoundaryType, std::vector< double > > BoundaryInfo
void GetMaterialProperties(const chi_mesh::Cell &cell, int cell_dofs, std::vector< double > &diffCoeff, std::vector< double > &sourceQ, std::vector< double > &sigmaa, int group=0, int moment=0)
void PWLD_Assemble_b(const chi_mesh::Cell &cell, int component=0)
static unsigned int MapCellFace(const chi_mesh::Cell &cur_cell, const chi_mesh::Cell &adj_cell, unsigned int f)
BoundaryPreferences boundary_preferences_
int ExecuteS(bool suppress_assembly=false, bool suppress_solve=false)
void Initialize() override
std::map< uint64_t, chi_diffusion::Boundary * > boundaries_
chi_mesh::MeshContinuumPtr grid_ptr_
void InitializeCommonItems()
bool common_items_initialized_
std::shared_ptr< chi_math::SpatialDiscretization > discretization_
std::map< std::string, BoundaryInfo > BoundaryPreferences
std::string options_string_
chi_math::UnknownManager unknown_manager_
double HPerpendicular(const chi_mesh::Cell &cell, const UnitIntegralContainer &fe_intgrl_values, unsigned int f)
void PWLD_Assemble_A_and_b(const chi_mesh::Cell &cell, int component=0)
Solver & operator=(const Solver &)=delete
#define DIFFUSION_MATERIALS_REGULAR
std::shared_ptr< MeshContinuum > MeshContinuumPtr