Struct BoundaryDefinition

Struct Documentation

struct BoundaryDefinition

Parsed boundary-condition specification for sweep boundary construction.

This structure stores the user-supplied boundary type and any type-specific data needed later by the sweep boundary factory. It intentionally describes the boundary condition without owning a concrete SweepBoundary object.

Public Functions

BoundaryDefinition() = default

Construct a vacuum boundary definition.

BoundaryDefinition(const InputParameters &params, unsigned int num_groups)

Construct a boundary definition from input parameters.

The constructor validates the requested boundary type and required/forbidden type-specific parameters. Isotropic boundaries store group strengths, arbitrary boundaries store an AngularFluxFunction, and vacuum/reflecting boundaries do not store additional payload.

Parameters:
  • params – Boundary option parameters containing at least name and type.

  • num_groups – Number of solver groups used to validate isotropic strengths.

Public Members

LBSBoundaryType type = LBSBoundaryType::VACUUM

Boundary condition type.

std::vector<double> group_strength

Group-wise incoming angular flux for isotropic boundaries.

double start_time = -std::numeric_limits<double>::infinity()
double end_time = std::numeric_limits<double>::infinity()
std::shared_ptr<AngularFluxTimeFunction> time_angular_flux_function

User-supplied angular flux callback for time-dependent arbitrary boundaries.