1#ifndef DFEM_DIFFUSION_SOLVER_H
2#define DFEM_DIFFUSION_SOLVER_H
25class SpatialDiscretization;
26typedef std::shared_ptr<SpatialDiscretization>
SDMPtr ;
55 explicit Solver(
const std::string& in_solver_name);
66 const std::vector<chi_mesh::Vector3>& cc_node_locs,
67 const std::vector<chi_mesh::Vector3>& ac_node_locs,
68 size_t ccf,
size_t acf,
70 double epsilon=1.0e-12);
std::pair< BoundaryType, std::vector< double > > BoundaryInfo
std::map< uint64_t, Boundary > boundaries_
int MapFaceNodeDisc(const chi_mesh::Cell &cur_cell, const chi_mesh::Cell &adj_cell, const std::vector< chi_mesh::Vector3 > &cc_node_locs, const std::vector< chi_mesh::Vector3 > &ac_node_locs, size_t ccf, size_t acf, size_t ccfi, double epsilon=1.0e-12)
Solver(const std::string &in_solver_name)
BoundaryPreferences boundary_preferences_
static double CallLua_iXYZFunction(lua_State *L, const std::string &, int, const chi_mesh::Vector3 &)
void Initialize() override
std::map< std::string, BoundaryInfo > BoundaryPreferences
void UpdateFieldFunctions()
chi_mesh::MeshContinuumPtr grid_ptr_
chi_math::SDMPtr sdm_ptr_
double HPerpendicular(const chi_mesh::Cell &cell, unsigned int f)
std::vector< double > field_
std::shared_ptr< SpatialDiscretization > SDMPtr
std::shared_ptr< MeshContinuum > MeshContinuumPtr