Chi-Tech
lbs::acceleration::DiffusionPWLCSolver Class Reference

#include <diffusion_PWLC.h>

Inheritance diagram for lbs::acceleration::DiffusionPWLCSolver:
lbs::acceleration::DiffusionSolver

Public Member Functions

 DiffusionPWLCSolver (std::string text_name, const chi_math::SpatialDiscretization &sdm, const chi_math::UnknownManager &uk_man, std::map< uint64_t, BoundaryCondition > bcs, MatID2XSMap map_mat_id_2_xs, const std::vector< UnitCellMatrices > &unit_cell_matrices, bool verbose)
 
void AssembleAand_b (const std::vector< double > &q_vector) override
 
void Assemble_b (const std::vector< double > &q_vector) override
 
void Assemble_b (Vec petsc_q_vector) override
 
- Public Member Functions inherited from lbs::acceleration::DiffusionSolver
 DiffusionSolver (std::string text_name, const chi_math::SpatialDiscretization &sdm, const chi_math::UnknownManager &uk_man, std::map< uint64_t, BoundaryCondition > bcs, MatID2XSMap map_mat_id_2_xs, const std::vector< UnitCellMatrices > &unit_cell_matrices, bool verbose, bool requires_ghosts)
 
std::string TextName () const
 
const VecRHS () const
 
const std::map< uint64_t, BoundaryCondition > & BCS () const
 
const chi_math::UnknownManagerUnknownStructure () const
 
const chi_math::SpatialDiscretizationSpatialDiscretization () const
 
std::pair< size_t, size_t > GetNumPhiIterativeUnknowns ()
 
virtual ~DiffusionSolver ()
 
void Initialize ()
 
virtual void AssembleAand_b (const std::vector< double > &q_vector)=0
 
virtual void Assemble_b (const std::vector< double > &q_vector)=0
 
virtual void Assemble_b (Vec petsc_q_vector)=0
 
void AddToRHS (const std::vector< double > &values)
 
void Solve (std::vector< double > &solution, bool use_initial_guess=false)
 
void Solve (Vec petsc_solution, bool use_initial_guess=false)
 

Additional Inherited Members

- Data Fields inherited from lbs::acceleration::DiffusionSolver
struct lbs::acceleration::DiffusionSolver::Options options
 
- Protected Types inherited from lbs::acceleration::DiffusionSolver
typedef std::map< int, Multigroup_D_and_sigRMatID2XSMap
 
- Protected Attributes inherited from lbs::acceleration::DiffusionSolver
const std::string text_name_
 
const chi_mesh::MeshContinuumgrid_
 
const chi_math::SpatialDiscretizationsdm_
 
const chi_math::UnknownManager uk_man_
 
const std::map< uint64_t, BoundaryConditionbcs_
 
const MatID2XSMap mat_id_2_xs_map_
 
const std::vector< UnitCellMatrices > & unit_cell_matrices_
 
const int64_t num_local_dofs_
 
const int64_t num_global_dofs_
 
Mat A_ = nullptr
 
Vec rhs_ = nullptr
 
KSP ksp_ = nullptr
 
const bool requires_ghosts_
 

Detailed Description

Definition at line 9 of file diffusion_PWLC.h.

Constructor & Destructor Documentation

◆ DiffusionPWLCSolver()

lbs::acceleration::DiffusionPWLCSolver::DiffusionPWLCSolver ( std::string  text_name,
const chi_math::SpatialDiscretization sdm,
const chi_math::UnknownManager uk_man,
std::map< uint64_t, BoundaryCondition bcs,
MatID2XSMap  map_mat_id_2_xs,
const std::vector< UnitCellMatrices > &  unit_cell_matrices,
bool  verbose 
)

Definition at line 8 of file diffusion_PWLC_00_constrdestr.cc.

Member Function Documentation

◆ Assemble_b() [1/2]

void lbs::acceleration::DiffusionPWLCSolver::Assemble_b ( const std::vector< double > &  q_vector)
overridevirtual

Assembles the RHS using unit cell-matrices. These are the routines used in the production versions.

Implements lbs::acceleration::DiffusionSolver.

Definition at line 27 of file diffusion_PWLC_02d_assemble_b.cc.

◆ Assemble_b() [2/2]

void lbs::acceleration::DiffusionPWLCSolver::Assemble_b ( Vec  petsc_q_vector)
overridevirtual

Assembles the RHS using unit cell-matrices. These are the routines used in the production versions.

Implements lbs::acceleration::DiffusionSolver.

Definition at line 179 of file diffusion_PWLC_02d_assemble_b.cc.

◆ AssembleAand_b()

void lbs::acceleration::DiffusionPWLCSolver::AssembleAand_b ( const std::vector< double > &  q_vector)
overridevirtual

Assembles both the matrix and the RHS using unit cell-matrices. These are the routines used in the production versions.

Implements lbs::acceleration::DiffusionSolver.

Definition at line 23 of file diffusion_PWLC_02c_assembleAand_b.cc.


The documentation for this class was generated from the following files: