Class DiscreteOrdinatesSolver
Defined in File discrete_ordinates_solver.h
Inheritance Relationships
Base Type
public opensn::Solver(Class Solver)
Derived Types
public opensn::NonLinearKEigenSolver(Class NonLinearKEigenSolver)public opensn::PowerIterationKEigenSolver(Class PowerIterationKEigenSolver)public opensn::SteadyStateSourceSolver(Class SteadyStateSourceSolver)public opensn::TransientSolver(Class TransientSolver)
Class Documentation
-
class DiscreteOrdinatesSolver : public opensn::Solver
Base class for solvers that drive a DiscreteOrdinatesProblem.
Solution and time state remain in the shared problem. A solver restores its temporary settings before returning. Validation is collective.
Subclassed by opensn::NonLinearKEigenSolver, opensn::PowerIterationKEigenSolver, opensn::SteadyStateSourceSolver, opensn::TransientSolver
Public Static Functions
-
static InputParameters GetInputParameters()
Protected Functions
-
explicit DiscreteOrdinatesSolver(const InputParameters ¶ms)
-
virtual void ValidateState() const final
Requires a built problem, validates its configuration, then checks solver requirements.
-
virtual void CheckRequirements(std::vector<std::string> &errors) const = 0
Appends one message for each solver-specific requirement the problem violates.
Problem-wide rules belong in DiscreteOrdinatesProblem::CheckConfigurationErrors. Requirements based on rank-local state reduce it before appending an error.
-
void RequireSteadyState(std::vector<std::string> &errors) const
Appends the error for a solver that requires steady-state mode.
-
void RequireNoExternalSources(std::vector<std::string> &errors) const
Appends an error for each external source (volumetric, point, or incoming-flux boundary).
-
void RequireFissionableMaterial(std::vector<std::string> &errors) const
Appends an error if no cell has fissionable cross sections. Collective.
-
void CheckKEigenRequirements(std::vector<std::string> &errors) const
Appends the requirements common to k-eigenvalue solvers. Collective.
Protected Attributes
-
std::shared_ptr<DiscreteOrdinatesProblem> do_problem_
-
static InputParameters GetInputParameters()