Chi-Tech
chi_mesh::sweep_management::BoundaryReflecting Class Reference

#include <sweep_boundaries.h>

Inheritance diagram for chi_mesh::sweep_management::BoundaryReflecting:
chi_mesh::sweep_management::SweepBoundary

Public Member Functions

 BoundaryReflecting (size_t in_num_groups, const chi_mesh::Normal &in_normal, chi_math::CoordinateSystemType coord_type=chi_math::CoordinateSystemType::CARTESIAN)
 
const chi_mesh::Vector3Normal () const
 
bool IsOpposingReflected () const
 
void SetOpposingReflected (bool value)
 
std::vector< AngVec > & GetHeteroBoundaryFluxNew ()
 
std::vector< AngVec > & GetHeteroBoundaryFluxOld ()
 
std::vector< int > & GetReflectedAngleIndexMap ()
 
std::vector< std::vector< bool > > & GetAngleReadyFlags ()
 
double * HeterogeneousPsiIncoming (uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, int group_num, size_t gs_ss_begin) override
 
double * HeterogeneousPsiOutgoing (uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, size_t gs_ss_begin) override
 
void UpdateAnglesReadyStatus (const std::vector< size_t > &angles, size_t gs_ss) override
 
bool CheckAnglesReadyStatus (const std::vector< size_t > &angles, size_t gs_ss) override
 
void ResetAnglesReadyStatus ()
 
- Public Member Functions inherited from chi_mesh::sweep_management::SweepBoundary
 SweepBoundary (BoundaryType bndry_type, size_t in_num_groups, chi_math::CoordinateSystemType coord_type)
 
virtual ~SweepBoundary ()=default
 
BoundaryType Type () const
 
chi_math::CoordinateSystemType CoordType () const
 
bool IsReflecting () const
 
double GetEvaluationTime () const
 
void SetEvaluationTime (double time)
 
virtual double * HeterogeneousPsiIncoming (uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, int group_num, size_t gs_ss_begin)
 
virtual double * HeterogeneousPsiOutgoing (uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, size_t gs_ss_begin)
 
virtual void UpdateAnglesReadyStatus (const std::vector< size_t > &angles, size_t gs_ss)
 
virtual bool CheckAnglesReadyStatus (const std::vector< size_t > &angles, size_t gs_ss)
 
virtual void Setup (const chi_mesh::MeshContinuum &grid, const chi_math::AngularQuadrature &quadrature)
 
double * ZeroFlux (int group_num)
 

Protected Types

typedef std::vector< double > DOFVec
 
typedef std::vector< DOFVecFaceVec
 
typedef std::vector< FaceVecCellVec
 
typedef std::vector< CellVecAngVec
 

Protected Attributes

const chi_mesh::Normal normal_
 
bool opposing_reflected_ = false
 
std::vector< AngVechetero_boundary_flux_
 
std::vector< AngVechetero_boundary_flux_old_
 
std::vector< int > reflected_anglenum_
 
std::vector< std::vector< bool > > angle_readyflags_
 
- Protected Attributes inherited from chi_mesh::sweep_management::SweepBoundary
std::vector< double > zero_boundary_flux_
 
size_t num_groups_
 

Detailed Description

Reflective boundary condition.

Definition at line 132 of file sweep_boundaries.h.

Member Typedef Documentation

◆ AngVec

Definition at line 141 of file sweep_boundaries.h.

◆ CellVec

Definition at line 140 of file sweep_boundaries.h.

◆ DOFVec

typedef std::vector<double> chi_mesh::sweep_management::BoundaryReflecting::DOFVec
protected

Definition at line 138 of file sweep_boundaries.h.

◆ FaceVec

Definition at line 139 of file sweep_boundaries.h.

Constructor & Destructor Documentation

◆ BoundaryReflecting()

chi_mesh::sweep_management::BoundaryReflecting::BoundaryReflecting ( size_t  in_num_groups,
const chi_mesh::Normal in_normal,
chi_math::CoordinateSystemType  coord_type = chi_math::CoordinateSystemType::CARTESIAN 
)
inline

Definition at line 152 of file sweep_boundaries.h.

Member Function Documentation

◆ CheckAnglesReadyStatus()

bool chi_mesh::sweep_management::BoundaryReflecting::CheckAnglesReadyStatus ( const std::vector< size_t > &  angles,
size_t  gs_ss 
)
overridevirtual

Checks to see if angles are ready to execute.

Reimplemented from chi_mesh::sweep_management::SweepBoundary.

Definition at line 65 of file boundary_reflecting.cc.

◆ GetAngleReadyFlags()

std::vector< std::vector< bool > > & chi_mesh::sweep_management::BoundaryReflecting::GetAngleReadyFlags ( )
inline

Definition at line 169 of file sweep_boundaries.h.

◆ GetHeteroBoundaryFluxNew()

std::vector< AngVec > & chi_mesh::sweep_management::BoundaryReflecting::GetHeteroBoundaryFluxNew ( )
inline

Definition at line 164 of file sweep_boundaries.h.

◆ GetHeteroBoundaryFluxOld()

std::vector< AngVec > & chi_mesh::sweep_management::BoundaryReflecting::GetHeteroBoundaryFluxOld ( )
inline

Definition at line 165 of file sweep_boundaries.h.

◆ GetReflectedAngleIndexMap()

std::vector< int > & chi_mesh::sweep_management::BoundaryReflecting::GetReflectedAngleIndexMap ( )
inline

Definition at line 167 of file sweep_boundaries.h.

◆ HeterogeneousPsiIncoming()

double * chi_mesh::sweep_management::BoundaryReflecting::HeterogeneousPsiIncoming ( uint64_t  cell_local_id,
unsigned int  face_num,
unsigned int  fi,
unsigned int  angle_num,
int  group_num,
size_t  gs_ss_begin 
)
overridevirtual

Returns a pointer to a reflected flux storage location.

Reimplemented from chi_mesh::sweep_management::SweepBoundary.

Definition at line 8 of file boundary_reflecting.cc.

◆ HeterogeneousPsiOutgoing()

double * chi_mesh::sweep_management::BoundaryReflecting::HeterogeneousPsiOutgoing ( uint64_t  cell_local_id,
unsigned int  face_num,
unsigned int  fi,
unsigned int  angle_num,
size_t  gs_ss_begin 
)
overridevirtual

Returns a pointer to a heterogeneous flux storage location.

Reimplemented from chi_mesh::sweep_management::SweepBoundary.

Definition at line 40 of file boundary_reflecting.cc.

◆ IsOpposingReflected()

bool chi_mesh::sweep_management::BoundaryReflecting::IsOpposingReflected ( ) const
inline

Definition at line 161 of file sweep_boundaries.h.

◆ Normal()

const chi_mesh::Vector3 & chi_mesh::sweep_management::BoundaryReflecting::Normal ( ) const
inline

Definition at line 160 of file sweep_boundaries.h.

◆ ResetAnglesReadyStatus()

void chi_mesh::sweep_management::BoundaryReflecting::ResetAnglesReadyStatus ( )

Resets angle ready flags to false.

Definition at line 79 of file boundary_reflecting.cc.

◆ SetOpposingReflected()

void chi_mesh::sweep_management::BoundaryReflecting::SetOpposingReflected ( bool  value)
inline

Definition at line 162 of file sweep_boundaries.h.

◆ UpdateAnglesReadyStatus()

void chi_mesh::sweep_management::BoundaryReflecting::UpdateAnglesReadyStatus ( const std::vector< size_t > &  angles,
size_t  gs_ss 
)
overridevirtual

Sets flags indicating reflected angles are ready to execute.

Reimplemented from chi_mesh::sweep_management::SweepBoundary.

Definition at line 56 of file boundary_reflecting.cc.

Field Documentation

◆ angle_readyflags_

std::vector<std::vector<bool> > chi_mesh::sweep_management::BoundaryReflecting::angle_readyflags_
protected

Definition at line 149 of file sweep_boundaries.h.

◆ hetero_boundary_flux_

std::vector<AngVec> chi_mesh::sweep_management::BoundaryReflecting::hetero_boundary_flux_
protected

Definition at line 145 of file sweep_boundaries.h.

◆ hetero_boundary_flux_old_

std::vector<AngVec> chi_mesh::sweep_management::BoundaryReflecting::hetero_boundary_flux_old_
protected

Definition at line 146 of file sweep_boundaries.h.

◆ normal_

const chi_mesh::Normal chi_mesh::sweep_management::BoundaryReflecting::normal_
protected

Definition at line 135 of file sweep_boundaries.h.

◆ opposing_reflected_

bool chi_mesh::sweep_management::BoundaryReflecting::opposing_reflected_ = false
protected

Definition at line 136 of file sweep_boundaries.h.

◆ reflected_anglenum_

std::vector<int> chi_mesh::sweep_management::BoundaryReflecting::reflected_anglenum_
protected

Definition at line 148 of file sweep_boundaries.h.


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