SNSolver

Standard (non-HPC) discrete ordinates solver implementation.

Source:

  • include/solvers/snsolver.hpp

  • src/solvers/snsolver.cpp

class SNSolver : public SolverBase

Subclassed by CSDSNSolver

Public Functions

SNSolver(Config *settings)

SNSolver constructor.

Parameters:

settings – stores all needed information

Protected Functions

virtual void PrepareVolumeOutput() override

Initializes the output groups and fields of this solver and names the fields.

virtual void WriteVolumeOutput(unsigned idx_iter) override

Function that prepares VTK export and csv export of the current solver iteration.

Parameters:

idx_iter – current (pseudo) time iteration

virtual void FVMUpdate(unsigned idx_iter) override

Computes the finite Volume update step for the current iteration.

Parameters:

idx_iter – current (peudo) time iteration

virtual void FluxUpdate() override

Constructs the flux update for the current iteration and stores it in psiNew.

virtual void IterPreprocessing(unsigned idx_iter) override

Performs preprocessing for the current solver iteration.

Parameters:

idx_iter – current (peudo) time iteration

virtual void ComputeScalarFlux() override

Computes the flux of the solution to check conservation properties.

Protected Attributes

Matrix _scatteringKernel

scattering kernel for the quadrature

VectorVector _quadPoints

quadrature points, dim(_quadPoints) = (_nq,spatialDim)

Vector _weights

quadrature weights, dim(_weights) = (_nq)