-
Notifications
You must be signed in to change notification settings - Fork 1
A simple method to solve spherical harmonics moment systems, such as the the time-dependent PN and SPN equations, of radiative transfer in 1D-3D geometry.
License
starmap-project/starmap
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
================================================================= StaRMAP ================================================================= A second order staggered grid finite difference solver for linear hyperbolic moment approximations to the equations of radiative transfer in 1D, 2D and 3D geometry. Version 2.0 Copyright (c) 06/28/2022 Benjamin Seibold, Martin Frank, and Rujeko Chinomona http://www.math.temple.edu/~seibold https://www.scc.kit.edu/personen/martin.frank.php https://rujekoc.github.io/ Contributers: Edgar Olbrant (v1.0), Kerstin Kuepper (v1.5,v2.0). StaRMAP project website: https://github.com/starmap-project Prior versions of StaRMAP: http://math.temple.edu/~seibold/research/starmap/ ================================================================= Files ================================================================= starmap_1d_ex_gauss.m Example file: Gaussian initial condition starmap_1d_ex_planesource.m Example file: plane source test starmap_2d_create_beam.m Creates file starmap_2d_ex_beam_auto.m -> starmap_2d_ex_beam_auto.m Example file: beam in void and medium starmap_2d_create_hemisphere_filter_convergence.m Creates file starmap_2d_ex_hemisphere_filter_convergence_auto.m -> starmap_2d_ex_hemisphere_filter_convergence_auto.m Example file: FPN convergence for hemisphere test starmap_2d_create_mms.m Creates file starmap_ex_mms_auto.m -> starmap_2d_ex_mms_auto.m Example file:manufactured solution starmap_2d_ex_asymptotic_preserving.m Example file:asymptotic preserving properties starmap_2d_ex_boxes.m Example file: boxes test case starmap_2d_ex_controlrod.m Example file: control rod test starmap_2d_ex_gauss_filter_convergence.m Example file: FPN convergence for Gauss test starmap_2d_ex_homogeneous.m Example file: homogeneous material coefficients starmap_2d_ex_l2norm.m Example file: l2norm of solution starmap_2d_ex_lattice.m Example file: lattice/checkerboard test starmap_2d_ex_lattice_filter.m Example file: lattice/checkerboard test with filtering starmap_2d_ex_lattice_filter_convergence.m Example file: FPN convergence for lattice/checkerboard test starmap_2d_ex_linesource.m Example file: line source test starmap_2d_ex_linesource_filter.m Example file: line source test with filtering starmap_2d_ex_linesource_filter_reconstruction.m Example file: line source test with angular reconstruction in a point starmap_3d_ex_lattice.m Example file: lattice test in 3D starmap_3d_ex_pointsource.m Example file: point source test starmap_closure_pn.m Creates P_N moment matrices starmap_closure_spn.m Creates SP_N moment matrices starmap_init.m Initializes data structures for the solver file starmap_solver.m The computational code ChangeLog.txt Changes from previous versions LICENSE.txt License file README.txt This file ================================================================= Operation ================================================================= To run a simulation with StaRMAP, the file starmap_init.m must first be called with a struct "prob" in which the problem parameters are defined. Within starmap_init.m, the variables in the user-defined struct "prob" are transformed into data structures compatible with the solver, defaults are set, and closure matrices are defined. The resulting information is stored in the new struct "par". The starmap_solver.m file must then be called with the struct "par". The meaning of most parameters can be seen in the "Parameter Defaults" part in starmap_init.m, in the provided example files starmap_ex_*.m, and in the paper http://arxiv.org/abs/1211.2205. Below explained is the syntax for the parameter functions that define the problem. General philosophy: do not prescribe parameters when not needed; for special cases (e.g., time-independence, isotropy) the code will run faster. ================================================================= ================================================================= Syntax for functions (which parameters need to be provided) ================================================================= Initial conditions: par.ic: 1D: (x) or (x,k) 2D: (x,y) or (x,y,k) 3D: (x,y,z) or (x,y,z,k) - If only spatial coordinates specified, then initial conditions are only nonzero for k=1 (i.e., zeroth moment). Absorption coefficient: sigma_a: 1D: (x) or (x,t) 2D: (x,y) or (x,y,t) 3D: (x,y,z) or (x,y,z,t) - If only spatial coordinates specified, the function is only evaluated once (in the first time step). Isotropic scattering coefficient: par.sigma_s0: 1D: (x) or (x,t) 2D: (x,y) or (x,y,t) 3D: (x,y,z) or (x,y,z,t) - Zeroth moment of scattering kernel (i.e., isotropic part). - If only spatial coordinates specified, the function is only evaluated once. Anisotropic scattering: par.sigma_sm: 1D: (x,m) or (x,m,t) 2D: (x,y,m) or (x,y,m,t) 3D: (x,y,z,m) or (x,y,z,m,t) - Higher moments of scattering kernel. - Evaluated for m>=1, where m = par.mom_order(k) moment order and k = system component. - Vector par.mom_order must exist if this function is specified. - If only spatial coordinates and moment order specified, the function is only evaluated once (in the first time step). Source: par.source: 1D: (x,t) or (x,t,k) 2D: (x,y,t) or (x,y,t,k) 3D: (x,y,z,t) or (x,y,z,t,k) - If only spatial coordinates and time specified, then source only active for k=1 (i.e., zeroth moment). - Via the vector par.source_ind one can prescribe in which moments the source term is active (only those will be evaluated). Filter: par.filterfunction: 1D: (par,dt,k,x) or (par,dt,k,x,t) 2D: (par,dt,k,x,y) or (par,dt,k,x,y,t) 3D: (par,dt,k,x,y,z) or (par,dt,k,x,y,z,t) - Multiplication factor for decay coefficients, reducing Gibbs oscillations. - Vector par.mom_order must exist if this function is specified. - If t not specified, the function is only evaluated once (in the first time step). - Via par.f_position one can define whether the filter is applied after each 'substep' or 'full' time-step ('' turns off the filter). =================================================================
About
A simple method to solve spherical harmonics moment systems, such as the the time-dependent PN and SPN equations, of radiative transfer in 1D-3D geometry.
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published