Chi-Tech
|
#include <mg_diffusion_solver.h>
Public Types | |
typedef std::pair< BoundaryType, std::array< std::vector< double >, 3 > > | BoundaryInfo |
typedef std::map< uint, BoundaryInfo > | BoundaryPreferences |
Public Member Functions | |
Solver (const std::string &in_solver_name) | |
~Solver () override | |
void | Initialize () override |
void | Initialize_Materials (std::set< int > &material_ids) |
void | Set_BCs (const std::vector< uint64_t > &globl_unique_bndry_ids) |
void | Assemble_A_bext () |
void | Compute_TwoGrid_Params () |
void | Compute_TwoGrid_VolumeFractions () |
void | Execute () override |
void | Assemble_RHS (unsigned int g, int64_t iverbose) |
void | Assemble_RHS_TwoGrid (int64_t iverbose) |
void | SolveOneGroupProblem (unsigned int g, int64_t iverbose) |
void | Update_Flux_With_TwoGrid (int64_t iverbose) |
void | UpdateFieldFunctions () |
Public Member Functions inherited from chi_physics::Solver | |
Solver (std::string in_text_name) | |
Solver (std::string in_text_name, std::initializer_list< BasicOption > in_options) | |
Solver (const chi::InputParameters ¶ms) | |
virtual | ~Solver ()=default |
std::string | TextName () const |
BasicOptions & | GetBasicOptions () |
const BasicOptions & | GetBasicOptions () const |
std::vector< std::shared_ptr< FieldFunctionGridBased > > & | GetFieldFunctions () |
const std::vector< std::shared_ptr< FieldFunctionGridBased > > & | GetFieldFunctions () const |
TimeStepper & | GetTimeStepper () |
const TimeStepper & | GetTimeStepper () const |
virtual void | Initialize () |
virtual void | Execute () |
virtual void | Step () |
virtual void | Advance () |
virtual chi::ParameterBlock | GetInfo (const chi::ParameterBlock ¶ms) const |
virtual void | SetProperties (const chi::ParameterBlock ¶ms) |
chi::ParameterBlock | GetInfoWithPreCheck (const chi::ParameterBlock ¶ms) const |
Public Member Functions inherited from ChiObject | |
ChiObject () | |
ChiObject (const chi::InputParameters ¶ms) | |
void | SetStackID (size_t stack_id) |
size_t | StackID () const |
virtual void | PushOntoStack (std::shared_ptr< ChiObject > &new_object) |
virtual | ~ChiObject ()=default |
Data Fields | |
chi_mesh::MeshContinuumPtr | grid_ptr_ = nullptr |
chi_math::SDMPtr | sdm_ptr_ = nullptr |
uint | num_groups_ = 0 |
uint | last_fast_group_ = 0 |
bool | do_two_grid_ = false |
size_t | num_local_dofs_ = 0 |
size_t | num_globl_dofs_ = 0 |
std::vector< Mat > | A_ |
std::vector< Vec > | bext_ |
std::vector< Vec > | x_ |
std::vector< Vec > | x_old_ |
Vec | thermal_dphi_ = nullptr |
Vec | b_ = nullptr |
chi_math::PETScUtils::PETScSolverSetup | petsc_solver_ |
KSPAppContext | my_app_context_ |
std::vector< std::vector< double > > | VF_ |
BoundaryPreferences | boundary_preferences_ |
std::vector< Boundary > | boundaries_ |
Protected Attributes | |
std::map< int, std::shared_ptr< chi_physics::MultiGroupXS > > | matid_to_xs_map |
std::map< int, std::shared_ptr< chi_physics::IsotropicMultiGrpSource > > | matid_to_src_map |
std::map< int, TwoGridCollapsedInfo > | map_mat_id_2_tginfo |
Protected Attributes inherited from chi_physics::Solver | |
BasicOptions | basic_options_ |
std::vector< std::shared_ptr< FieldFunctionGridBased > > | field_functions_ |
std::shared_ptr< TimeStepper > | timestepper_ = nullptr |
Additional Inherited Members | |
Static Public Member Functions inherited from chi_physics::Solver | |
static chi::InputParameters | GetInputParameters () |
Static Public Member Functions inherited from ChiObject | |
static chi::InputParameters | GetInputParameters () |
Multi-group diffusion solver
Definition at line 52 of file mg_diffusion_solver.h.
typedef std::pair<BoundaryType,std::array<std::vector<double>, 3> > mg_diffusion::Solver::BoundaryInfo |
Definition at line 81 of file mg_diffusion_solver.h.
typedef std::map<uint, BoundaryInfo> mg_diffusion::Solver::BoundaryPreferences |
Definition at line 83 of file mg_diffusion_solver.h.
|
explicit |
Definition at line 15 of file mgd_01_main_init.cc.
|
overridevirtual |
Reimplemented from chi_physics::Solver.
Definition at line 26 of file mgd_01_main_init.cc.
void mg_diffusion::Solver::Assemble_A_bext | ( | ) |
Definition at line 12 of file mgd_01c_assemble_A_bext.cc.
void mg_diffusion::Solver::Assemble_RHS | ( | unsigned int | g, |
int64_t | iverbose | ||
) |
Definition at line 8 of file mgd_02a_asemble_rhs_g.cc.
void mg_diffusion::Solver::Assemble_RHS_TwoGrid | ( | int64_t | iverbose | ) |
Definition at line 11 of file mgd_02c_asemble_rhs_tg.cc.
void mg_diffusion::Solver::Compute_TwoGrid_Params | ( | ) |
Definition at line 6 of file mgd_01aa_init_two_grid_params.cc.
void mg_diffusion::Solver::Compute_TwoGrid_VolumeFractions | ( | ) |
Definition at line 8 of file mgd_01ab_init_two_grid_volume_frac.cc.
|
overridevirtual |
Reimplemented from chi_physics::Solver.
Definition at line 13 of file mgd_02_main_exec.cc.
|
overridevirtual |
Reimplemented from chi_physics::Solver.
Definition at line 51 of file mgd_01_main_init.cc.
void mg_diffusion::Solver::Initialize_Materials | ( | std::set< int > & | material_ids | ) |
Definition at line 15 of file mgd_01a_init_materials.cc.
void mg_diffusion::Solver::Set_BCs | ( | const std::vector< uint64_t > & | globl_unique_bndry_ids | ) |
Definition at line 16 of file mgd_01b_set_bc.cc.
void mg_diffusion::Solver::SolveOneGroupProblem | ( | unsigned int | g, |
int64_t | iverbose | ||
) |
Definition at line 6 of file mgd_02b_solve1g.cc.
void mg_diffusion::Solver::Update_Flux_With_TwoGrid | ( | int64_t | iverbose | ) |
Definition at line 12 of file mgd_02d_update_flux_with_two_grid_flux.cc.
void mg_diffusion::Solver::UpdateFieldFunctions | ( | ) |
Updates the field functions with the lates data.
Definition at line 8 of file mgd_04_update_fieldfuncs.cc.
std::vector<Mat> mg_diffusion::Solver::A_ |
Definition at line 66 of file mg_diffusion_solver.h.
Vec mg_diffusion::Solver::b_ = nullptr |
Definition at line 72 of file mg_diffusion_solver.h.
std::vector<Vec> mg_diffusion::Solver::bext_ |
Definition at line 67 of file mg_diffusion_solver.h.
std::vector<Boundary> mg_diffusion::Solver::boundaries_ |
Definition at line 85 of file mg_diffusion_solver.h.
BoundaryPreferences mg_diffusion::Solver::boundary_preferences_ |
Definition at line 84 of file mg_diffusion_solver.h.
bool mg_diffusion::Solver::do_two_grid_ = false |
Definition at line 61 of file mg_diffusion_solver.h.
chi_mesh::MeshContinuumPtr mg_diffusion::Solver::grid_ptr_ = nullptr |
Definition at line 55 of file mg_diffusion_solver.h.
uint mg_diffusion::Solver::last_fast_group_ = 0 |
Definition at line 60 of file mg_diffusion_solver.h.
|
protected |
Definition at line 115 of file mg_diffusion_solver.h.
|
protected |
Definition at line 113 of file mg_diffusion_solver.h.
|
protected |
Definition at line 110 of file mg_diffusion_solver.h.
KSPAppContext mg_diffusion::Solver::my_app_context_ |
Definition at line 75 of file mg_diffusion_solver.h.
size_t mg_diffusion::Solver::num_globl_dofs_ = 0 |
Definition at line 64 of file mg_diffusion_solver.h.
uint mg_diffusion::Solver::num_groups_ = 0 |
Definition at line 59 of file mg_diffusion_solver.h.
size_t mg_diffusion::Solver::num_local_dofs_ = 0 |
Definition at line 63 of file mg_diffusion_solver.h.
chi_math::PETScUtils::PETScSolverSetup mg_diffusion::Solver::petsc_solver_ |
Definition at line 74 of file mg_diffusion_solver.h.
chi_math::SDMPtr mg_diffusion::Solver::sdm_ptr_ = nullptr |
Definition at line 57 of file mg_diffusion_solver.h.
Vec mg_diffusion::Solver::thermal_dphi_ = nullptr |
Definition at line 71 of file mg_diffusion_solver.h.
std::vector< std::vector<double> > mg_diffusion::Solver::VF_ |
Definition at line 77 of file mg_diffusion_solver.h.
std::vector<Vec> mg_diffusion::Solver::x_ |
Definition at line 68 of file mg_diffusion_solver.h.
std::vector<Vec> mg_diffusion::Solver::x_old_ |
Definition at line 69 of file mg_diffusion_solver.h.