#include <diffusion_solver.h>
|
| Solver (const Solver &)=delete |
|
Solver & | operator= (const Solver &)=delete |
|
| Solver (const std::string &in_solver_name) |
|
virtual | ~Solver () |
|
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 | InitializeCommonItems () |
|
void | Initialize () override |
|
int | Initialize (bool verbose) |
|
void | Execute () override |
|
int | ExecuteS (bool suppress_assembly=false, bool suppress_solve=false) |
|
void | CFEM_Assemble_A_and_b (chi_mesh::Cell &cell, int group=0) |
|
void | PWLD_Assemble_A_and_b (const chi_mesh::Cell &cell, int component=0) |
|
void | PWLD_Assemble_b (const chi_mesh::Cell &cell, int component=0) |
|
double | HPerpendicular (const chi_mesh::Cell &cell, const UnitIntegralContainer &fe_intgrl_values, unsigned int f) |
|
void | UpdateFieldFunctions () |
|
| 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 |
|
| 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 |
|
Solver for the general diffusion problem.
Definition at line 32 of file diffusion_solver.h.
◆ BoundaryInfo
◆ BoundaryPreferences
◆ uint
◆ Solver() [1/2]
chi_diffusion::Solver::Solver |
( |
const Solver & |
| ) |
|
|
delete |
◆ Solver() [2/2]
chi_diffusion::Solver::Solver |
( |
const std::string & |
in_solver_name | ) |
|
|
explicit |
◆ ~Solver()
chi_diffusion::Solver::~Solver |
( |
| ) |
|
|
virtual |
◆ CFEM_Assemble_A_and_b()
void chi_diffusion::Solver::CFEM_Assemble_A_and_b |
( |
chi_mesh::Cell & |
cell, |
|
|
int |
group = 0 |
|
) |
| |
Assembles PWLC matrix for general cells.
Definition at line 7 of file assemble_pwlc.cc.
◆ Execute()
void chi_diffusion::Solver::Execute |
( |
| ) |
|
|
inlineoverridevirtual |
◆ ExecuteS()
int chi_diffusion::Solver::ExecuteS |
( |
bool |
suppress_assembly = false , |
|
|
bool |
suppress_solve = false |
|
) |
| |
Executes the diffusion solver using the PETSc library.
Definition at line 12 of file main_exec.cc.
◆ GetMaterialProperties()
void chi_diffusion::Solver::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 |
|
) |
| |
Gets material properties various sources.
Definition at line 16 of file general.cc.
◆ HPerpendicular()
Still searching for a reference for this.
For Polygons: Defined from paper
Turcksin B, Ragusa J, "Discontinuous diffusion synthetic acceleration
for S_n transport on 2D arbitrary polygonal meshes", Journal of Computational Physics 274, pg 356-369, 2014.
Nv = Number of vertices. If Nv <= 4 then the perimeter parameter should be replaced by edge length.
Definition at line 18 of file assemble_utils_plwd.cc.
◆ Initialize() [1/2]
void chi_diffusion::Solver::Initialize |
( |
| ) |
|
|
inlineoverridevirtual |
◆ Initialize() [2/2]
int chi_diffusion::Solver::Initialize |
( |
bool |
verbose | ) |
|
Initializes the diffusion solver using the PETSc library.
Definition at line 16 of file main_initialize.cc.
◆ InitializeCommonItems()
void chi_diffusion::Solver::InitializeCommonItems |
( |
| ) |
|
Initialization of common to all solver types.
Definition at line 11 of file initcommon.cc.
◆ MapCellFace()
Given the face index on the current cell, finds the corresponding face index on the adjacent cell.
Definition at line 129 of file assemble_utils_plwd.cc.
◆ MapCellLocalNodeIDFromGlobalID()
uint64_t chi_diffusion::Solver::MapCellLocalNodeIDFromGlobalID |
( |
const chi_mesh::Cell & |
cell, |
|
|
uint64_t |
node_global_id |
|
) |
| |
|
static |
Given a global node index, returns the local cell-node it's associated on the referenced cell.
Definition at line 103 of file assemble_utils_plwd.cc.
◆ operator=()
Solver & chi_diffusion::Solver::operator= |
( |
const Solver & |
| ) |
|
|
delete |
◆ PWLD_Assemble_A_and_b()
void chi_diffusion::Solver::PWLD_Assemble_A_and_b |
( |
const chi_mesh::Cell & |
cell, |
|
|
int |
component = 0 |
|
) |
| |
◆ PWLD_Assemble_b()
void chi_diffusion::Solver::PWLD_Assemble_b |
( |
const chi_mesh::Cell & |
cell, |
|
|
int |
component = 0 |
|
) |
| |
◆ UpdateFieldFunctions()
void chi_diffusion::Solver::UpdateFieldFunctions |
( |
| ) |
|
Update the field functions with the latest data.
Definition at line 185 of file general.cc.
◆ A_
Mat chi_diffusion::Solver::A_ = nullptr |
◆ b_
Vec chi_diffusion::Solver::b_ = nullptr |
◆ boundaries_
◆ boundary_preferences_
◆ common_items_initialized_
bool chi_diffusion::Solver::common_items_initialized_ = false |
◆ discretization_
◆ G_
int chi_diffusion::Solver::G_ = 1 |
◆ gi_
int chi_diffusion::Solver::gi_ = 0 |
◆ global_dof_count_
size_t chi_diffusion::Solver::global_dof_count_ = 0 |
◆ grid_ptr_
◆ ierr_
PetscErrorCode chi_diffusion::Solver::ierr_ = 0 |
◆ ksp_
KSP chi_diffusion::Solver::ksp_ = nullptr |
◆ local_dof_count_
size_t chi_diffusion::Solver::local_dof_count_ = 0 |
◆ material_mode_
◆ norm_
PetscReal chi_diffusion::Solver::norm_ = 0.0 |
◆ options_string_
std::string chi_diffusion::Solver::options_string_ |
◆ pc_
PC chi_diffusion::Solver::pc_ = nullptr |
◆ pwld_phi_local_
std::vector<double> chi_diffusion::Solver::pwld_phi_local_ |
◆ t_assembly_
◆ t_solve_
◆ time_assembly_
double chi_diffusion::Solver::time_assembly_ = 0.0 |
|
private |
◆ time_solve_
double chi_diffusion::Solver::time_solve_ = 0.0 |
|
private |
◆ unit_integrals_
◆ unknown_manager_
◆ verbose_info_
bool chi_diffusion::Solver::verbose_info_ = true |
|
private |
◆ x_
Vec chi_diffusion::Solver::x_ = nullptr |
The documentation for this class was generated from the following files: