Class CBCSweepChunkTD

Inheritance Relationships

Base Type

Class Documentation

class CBCSweepChunkTD : public opensn::SweepChunk

Host CBC sweep chunk for transient problems.

Public Functions

CBCSweepChunkTD(DiscreteOrdinatesProblem &problem, LBSGroupset &groupset)
virtual void SetAngleSet(AngleSet &angle_set) override

Sets the currently active angleset.

virtual void Sweep(AngleSet &angle_set) override

Sweep chunks should override this.

inline virtual bool IsTimeDependent() const override

Protected Types

using SweepFunc = void (CBCSweepChunkTD::*)(AngleSet&)

Protected Functions

void Sweep_Generic(AngleSet &angle_set)
template<unsigned int NumNodes>
void Sweep_FixedN(AngleSet &angle_set)

Protected Attributes

DiscreteOrdinatesProblem &problem_
const std::vector<double> &psi_old_
CBC_FLUDS *fluds_ = nullptr
CBC_AsynchronousCommunicator *async_comm_ = nullptr
unsigned int group_block_size_ = 0
CBCSweepWorkspace workspace_

Friends

template<bool time_dependent, class SweepChunkT>
friend void CBC_Sweep_Generic(SweepChunkT &sweep_chunk, AngleSet &angle_set)

Sweep one host CBC cell using the generic dense-kernel path.

Template Parameters:

time_dependent – Whether transient time terms are assembled.

template<unsigned int NumNodes, bool time_dependent, class SweepChunkT>
friend void CBC_Sweep_FixedN(SweepChunkT &sweep_chunk, AngleSet &angle_set)

Sweep one host CBC cell using a fixed-node-count dense-kernel path.

Template Parameters:
  • NumNodes – Number of cell nodes.

  • time_dependent – Whether transient time terms are assembled.