1
PDT Thermal Radiation Transport Package Marvin L. Adams, Wm. Daryl Hawkins, Ryan G. McClarren, Jim E. Morel Dept. of Nuclear Engineering, Texas A&M University PDT Introduction Solves the time-dependent linear Boltzmann and thermal radiation equations • 3D (XYZ) or 2D (XY) • Multigroup in energy • Discrete ordinates (quadrature set can vary by energy group) • Finite-volume and finite-element methods on arbitrary polyhedral/polygonal cells • Various time discretization methods (Fully Implicit, Crank-Nicolson, Trapezoidal BDF2) • Various partitioning algorithms (KBA, Volumetric, Hybrid, METIS) • Various iterative schemes obtained via scheduling choices (Sweeps, Block- Jacobi, Hybrid) • Supports various Krylov methods (GMRES, BiCGSTAB, CG, CGS) Massively parallel with the parallelism obtained via the underlying PTTL parallel components library Written entirely in C++ Thermal Radiation Solver PDT solves equations for radiation intensity and electron temperature Much code is shared by the linear Boltzmann solver and the radiation transport solver Group-summed absorption-rate density is the solver unknown • Can converge A.R.D. pointwise in addition to norm of the residual Many changes have been made to the solver to improve its robustness and handling of negative energy densities and temperatures Can use opacity data from tables, fits, and simple analytic functions TOPS data • Interpolated TOPS data • Κ = A+BT C Can use simple analytic functions of temperature for specific heats C v = A+BT C Several options for time-centering opacities and specific heats: Beginning of time-step T e Extrapolated T e Converged T e Time-step control includes a simple and effective adaptive time-step capability Many performance and memory usage improvements PDT Data Structures Elements contain fundamental spatial unknowns and volumetric sources Supports multiple element types Whole-cell elements Corner elements for finite-volume for finite-element discretizations discretizations Cells contain elements and encapsulate material information Cells are stored in a grid Grid is stored as a graph • Vertices of the graph correspond to cells • Edges of the graph correspond to cell faces • Contains methods to store and read angular intensities Graph is a templated C++ class that handles various cell, element, and edge types Ce ll Cel l PDT/BATSRUS Coupling PDT can successfully run radiation transport problems from within BATSRUS PDT exposes to BATSRUS two core interfaces functions • pdt_initialize() is called once during BATSRUS setup to initialize PDT data structures and ensure consistency between BATSRUS and PDT inputs. Receives from BATSRUS geometry, grid, material, and cell identification information. • pdt_execute() is called by each BATSRUS process and passes to PDT material densities, material average velocities, and electron energy densities for cells owned by the BATSRUS calling process. • pdt_execute() communicates the information passed to it by BATSRUS to the appropriate PDT processes so that PDT can use its own domain decomposition (such as KBA) • pdt_execute() returns to each BATSRUS process the radiation/matter momentum exchange rate density vector, the radiation /matter energy exchange rate density, and the electron energy density for the appropriate BATSRUS cells belonging to the BATSRUS calling process. Complexity is mostly on PDT side. Coding complete except for redistribution. Initial debugging and verification will be helped by a simplified radiation model (cell- wise infinite-medium), which should give the same solution from PDT as from the embedded BATSRUS diffusion solver Test Problems Approximately 50 test problems in the PDT radiation transport test suite • Testing various combinations of discretizations, iterative solvers, etc. • Includes simple semi-analytic one-cell heat-up problem and light-front propagation problem • Adding many more as time goes on Su-Olsen boundary problem detailed in LA-UR-05-6865 Equilibrium Marshak wave problem (Ryan McClarren) ρ = 1.0 g/cm 3 κ = 1.0 cm 2 /g T e = 100 K (0.008 eV) α = 4a, C v = αT e 3 200 spatial cells, S2 quadrature order LPWLD discretization, GMRES, TBDF2 Δt = 1.0×10 -13 s X = 0 cm X = 20cm T r = 1 keV ρ = 3.0 g/cm 3 κ = 1.5629×10 23 cm 2 /g T e = 0.01 eV C v = 5.3783×10 19 eV/g-K 1000 spatial cells, S2 quadrature order LPWLD discretization, GMRES, Fully-Implicit Δt = 1.0×10 -13 s X = 0 cm X = 0.5cm T r = 1 keV

PDT Introduction Solves the time-dependent linear Boltzmann and thermal radiation equations

  • Upload
    merlin

  • View
    36

  • Download
    2

Embed Size (px)

DESCRIPTION

Cell. PDT Introduction Solves the time-dependent linear Boltzmann and thermal radiation equations 3D (XYZ) or 2D (XY) Multigroup in energy Discrete ordinates ( quadrature set can vary by energy group) Finite-volume and finite-element methods on arbitrary polyhedral/polygonal cells - PowerPoint PPT Presentation

Citation preview

Page 1: PDT Introduction  Solves the time-dependent linear Boltzmann and thermal radiation equations

PDT Thermal Radiation Transport PackageMarvin L. Adams, Wm. Daryl Hawkins, Ryan G. McClarren, Jim E. Morel

Dept. of Nuclear Engineering, Texas A&M University

PDT Introduction• Solves the time-dependent linear Boltzmann and thermal radiation equations

• 3D (XYZ) or 2D (XY)• Multigroup in energy• Discrete ordinates (quadrature set can vary by energy group)• Finite-volume and finite-element methods on arbitrary polyhedral/polygonal cells• Various time discretization methods (Fully Implicit, Crank-Nicolson, Trapezoidal BDF2)• Various partitioning algorithms (KBA, Volumetric, Hybrid, METIS)• Various iterative schemes obtained via scheduling choices (Sweeps, Block-Jacobi, Hybrid)• Supports various Krylov methods (GMRES, BiCGSTAB, CG, CGS)

• Massively parallel with the parallelism obtained via the underlying PTTL parallel components library• Written entirely in C++

Thermal Radiation Solver• PDT solves equations for radiation intensity and electron temperature• Much code is shared by the linear Boltzmann solver and the radiation transport solver• Group-summed absorption-rate density is the solver unknown

• Can converge A.R.D. pointwise in addition to norm of the residual

• Many changes have been made to the solver to improve its robustness and handling of negative energy densities and temperatures• Can use opacity data from tables, fits, and simple analytic functions

• TOPS data• Interpolated TOPS data• Κ = A+BTC

• Can use simple analytic functions of temperature for specific heats• Cv = A+BTC

• Several options for time-centering opacities and specific heats:• Beginning of time-step Te

• Extrapolated Te

• Converged Te

• Time-step control includes a simple and effective adaptive time-step capability• Many performance and memory usage improvements

PDT Data Structures• Elements contain fundamental spatial unknowns and volumetric sources• Supports multiple element types

Whole-cell elements Corner elementsfor finite-volume for finite-element discretizations discretizations

• Cells contain elements and encapsulate material information• Cells are stored in a grid• Grid is stored as a graph

• Vertices of the graph correspond to cells• Edges of the graph correspond to cell faces• Contains methods to store and read angular intensities

• Graph is a templated C++ class that handles various cell, element, and edge types

Cell Cell

PDT/BATSRUS Coupling• PDT can successfully run radiation transport problems from within BATSRUS• PDT exposes to BATSRUS two core interfaces functions

• pdt_initialize() is called once during BATSRUS setup to initialize PDT data structures and ensure consistency between BATSRUS and PDT inputs. Receives from BATSRUS geometry, grid, material, and cell identification information.• pdt_execute() is called by each BATSRUS process and passes to PDT material densities, material average velocities, and electron energy densities for cells owned by the BATSRUS calling process. • pdt_execute() communicates the information passed to it by BATSRUS to the appropriate PDT processes so that PDT can use its own domain decomposition (such as KBA)• pdt_execute() returns to each BATSRUS process the radiation/matter momentum exchange rate density vector, the radiation /matter energy exchange rate density, and the electron energy density for the appropriate BATSRUS cells belonging to the BATSRUS calling process.

• Complexity is mostly on PDT side. Coding complete except for redistribution.• Initial debugging and verification will be helped by a simplified radiation model (cell- wise infinite-medium), which should give the same solution from PDT as from the embedded BATSRUS diffusion solver

Test Problems• Approximately 50 test problems in the PDT radiation transport test suite

• Testing various combinations of discretizations, iterative solvers, etc.• Includes simple semi-analytic one-cell heat-up problem and light-front propagation problem• Adding many more as time goes on

• Su-Olsen boundary problem detailed in LA-UR-05-6865

• Equilibrium Marshak wave problem (Ryan McClarren)

ρ = 1.0 g/cm3

κ = 1.0 cm2/gTe = 100 K (0.008 eV)

α = 4a, Cv = αTe3

200 spatial cells, S2 quadrature orderLPWLD discretization, GMRES, TBDF2

Δt = 1.0×10-13 s

X = 0 cm X = 20cm

Tr = 1 keV

ρ = 3.0 g/cm3

κ = 1.5629×1023 cm2/gTe = 0.01 eV

Cv = 5.3783×1019eV/g-K1000 spatial cells, S2 quadrature order

LPWLD discretization, GMRES, Fully-ImplicitΔt = 1.0×10-13 s

X = 0 cm X = 0.5cm

Tr = 1 keV