#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: