discrete1.timed1d module
Time-dependent 1D transport problems.
This module provides solvers for time-dependent (transient) 1D transport problems using discrete ordinates methods. It implements Backward Euler (BDF1) and second-order Backward Differentiation Formula (BDF2) time integration schemes.
- discrete1.timed1d.backward_euler(flux_last, xs_total, xs_scatter, xs_fission, velocity, external, boundary, medium_map, delta_x, angle_x, angle_w, bc_x, steps, dt, chi=None, geometry=1)[source]
Solve time-dependent transport using first-order Backward Differentiation.
Advances solution through multiple time steps using implicit BDF1 (Backward Euler) time integration with source iteration for the spatial problem.
- Parameters:
flux_last (
numpy.ndarray) – Angular flux at previous time step (cells, angles, groups).xs_total (
numpy.ndarray) – Total macroscopic cross section (cells, groups).xs_scatter (
numpy.ndarray) – Scattering cross section (cells, groups).xs_fission (
numpy.ndarray) – Fission cross section (cells, groups).velocity (
numpy.ndarray) – Particle velocity (groups,).external (
numpy.ndarray) – External source (steps/1, cells, angles, groups).boundary (
numpy.ndarray) – Boundary conditions (steps/1, 2, angles, groups).medium_map (
numpy.ndarray) – Material region map (cells,).delta_x (
numpy.ndarray) – Cell widths (cells,).angle_x (
numpy.ndarray) – Discrete ordinates (angles,).angle_w (
numpy.ndarray) – Quadrature weights (angles,).bc_x (
int) – Boundary condition type (0=vacuum, 1=reflective).steps (
int) – Number of time steps.dt (
float) – Time step size.geometry (
int, optional) – Geometry type (1=slab, 2=cylindrical, 3=spherical).
- Returns:
Scalar flux at all time steps (steps, cells, groups).
- Return type:
numpy.ndarray
- discrete1.timed1d.bdf2(flux_last_1, xs_total, xs_scatter, xs_fission, velocity, external, boundary, medium_map, delta_x, angle_x, angle_w, bc_x, steps, dt, chi=None, geometry=1)[source]
Solve time-dependent transport using second-order Backward Differentiation.
Advances solution through multiple time steps using implicit BDF2 time integration, starting with BDF1 on the first step and switching to BDF2 thereafter.
- Parameters:
flux_last_1 (
numpy.ndarray) – Angular flux at previous time step (cells, angles, groups).xs_total (
numpy.ndarray) – Total macroscopic cross section (cells, groups).xs_scatter (
numpy.ndarray) – Scattering cross section (cells, groups).xs_fission (
numpy.ndarray) – Fission cross section (cells, groups).velocity (
numpy.ndarray) – Particle velocity (groups,).external (
numpy.ndarray) – External source (steps/1, cells, angles, groups).boundary (
numpy.ndarray) – Boundary conditions (steps/1, 2, angles, groups).medium_map (
numpy.ndarray) – Material region map (cells,).delta_x (
numpy.ndarray) – Cell widths (cells,).angle_x (
numpy.ndarray) – Discrete ordinates (angles,).angle_w (
numpy.ndarray) – Quadrature weights (angles,).bc_x (
int) – Boundary condition type (0=vacuum, 1=reflective).steps (
int) – Number of time steps.dt (
float) – Time step size.geometry (
int, optional) – Geometry type (1=slab, 2=cylindrical, 3=spherical).
- Returns:
Scalar flux at all time steps (steps, cells, groups).
- Return type:
numpy.ndarray