Skip to content

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

Notifications You must be signed in to change notification settings

starmap-project/starmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

No packages published

Languages