Lattice Family

class Lattice_SN : public ProblemBase

Public Functions

virtual VectorVector GetScatteringXS(const Vector &energies) override

GetScatteringXS gives back vector (each energy) of vectors (each grid cell) of scattering cross sections for materials defined by density and energies in vector energy.

Parameters:

energies – is the energy the cross section is queried for

virtual VectorVector GetTotalXS(const Vector &energies) override

GetTotalXS gives back vector of vectors of total cross sections for materials defined by density and energies in vector energy.

Parameters:

energies – is the energy the cross section is queried for

virtual std::vector<VectorVector> GetExternalSource(const Vector &energies) override

GetExternalSource gives back vector of vectors of source terms for each energy, cell and angle.

Parameters:

energies – is the energy the cross section is queried for

virtual VectorVector SetupIC() override

Setup the initial condition for the flux psi.

virtual const Vector &GetGhostCellValue(int idx_cell, const Vector &cell_sol) final override

Returns the Value of the ghost cell with index idx_cell.

virtual void ComputeCurrentAbsorptionLattice(const Vector &scalarFlux) override

Computes Problemspecific Scalar QOI.

virtual void ComputeMaxAbsorptionLattice(const Vector &scalarFlux) override

Computes Problemspecific Scalar QOI.

Protected Functions

virtual void SetGhostCells() override

Sets vector of ghost cells for boundary conditions.

unsigned GetBlockID(const Vector &pos) const

Returns checkerboard field id (0-48, row major) of the Lattice test case.

Private Functions

bool IsAbsorption(const Vector &pos) const
Returns:

True if pos is in absorption region, False otherwise

bool IsSource(const Vector &pos) const
Returns:

True if pos is in source region, False otherwise

bool IsAbsorption(double x, double y) const
Returns:

True if pos is in absorption region, False otherwise

Private Members

Vector _sigmaS

Vector of scattering crosssections.

Vector _sigmaT

Vector of total crosssections.

double _curAbsorptionLattice

Absorption of particles at Lattice checkerboard regions at current time step.

double _totalAbsorptionLattice

Absorption of particles at Lattice checkerboard regions integrated until current time step.

double _curMaxAbsorptionLattice

Maximum pointwise absorption of particles at Lattice checkerboard regions until current time step.

class Lattice_Moment : public ProblemBase

Public Functions

virtual VectorVector GetScatteringXS(const Vector &energies) override

GetScatteringXS gives back vector (each energy) of vectors (each grid cell) of scattering cross sections for materials defined by density and energies in vector energy.

Parameters:

energies – is the energy the cross section is queried for

virtual VectorVector GetTotalXS(const Vector &energies) override

GetTotalXS gives back vector of vectors of total cross sections for materials defined by density and energies in vector energy.

Parameters:

energies – is the energy the cross section is queried for

virtual std::vector<VectorVector> GetExternalSource(const Vector &energies) override

GetExternalSource gives back vector of vectors of source terms for each energy, cell and angle.

Parameters:

energies – is the energy the cross section is queried for

virtual VectorVector SetupIC() override

Setup the initial condition for the flux psi.

Private Functions

bool isAbsorption(const Vector &pos) const
Returns:

True if pos is in absorption region, False otherwise

bool isSource(const Vector &pos) const
Returns:

True if pos is in source region, False otherwise

int GlobalIndex(int l, int k) const

Gets the global index for given order l of Legendre polynomials and given order k of Legendre functions. Note: This is code doubling from PNSolver::GlobalIndex.

Parameters:
  • l – order of Legendre polynomial

  • k – order of Legendre function

Returns:

globalIndex

Private Members

Vector _sigmaS

Vector of scattering crosssections len: numCells

Vector _sigmaT

Vector of total crosssections. len: numCells.