Milonga reference sheet

Jeremy Theler


This reference sheet is for Milonga v0.5.6-g3b0ca87 .

$ milonga
milonga v0.5.6-g3b0ca87+Δ 
free nuclear reactor core analysis code
$

Note that Milonga works on top of wasora, so you should also check the wasora reference sheet also—not to mention the wasora RealBook.

1 Keywords

1.1 FLUX_POST

Writes a post-processing file with total and partial fluxes and optionally XS distributions.

FLUX_POST { FILE <name> | FILE_PATH <file_path> } [ XS ] [ NO_MESH ] [ FORMAT { gmsh | vtk } ]

1.2 IMPLICIT_BC

IMPLICIT_BC { NONE | ALLOWED }

1.3 MILONGA_DEBUG

Generates debugging and benchmarking output and/or dumps the matrices into files or the screen.

MILONGA_DEBUG [ FILE <file_id> | [ FILE_PATH <file_path> ] [ MATRICES_ASCII ] [ MATRICES_ASCII_STRUCTURE ] [ MATRICES_PETSC_BINARY ] [ MATRICES_PETSC_COMPRESSED_BINARY ] [ MATRICES_PETSC_ASCII ] [ MATRICES_PETSC_OCTAVE ] [ MATRICES_PETSC_DENSE ] [ MATRICES_X ] [ MATRICES_SNG ] [ MATRICES_SNG_STRUCT ] [ MATRICES_SIZE <expr> ] [ MATRICES_STRIDE <expr> ] [ INCLUDE_INPUT ]

1.4 MILONGA_PROBLEM

Defines the number of spatial dimensions and groups of neutron energies.
It also selects the formulation of the neutronic problem to be solved (i.e. diffusion or tranport) and the spatial discretization scheme (i.e. finite volumes or finite elements). If several meshes are defined, it selects over which one it is that the neutronic problem is solved.

MILONGA_PROBLEM [ DIMENSIONS <expr> ] [ GROUPS <expr> ] [ MESH <identifier> ] [ SCHEME { volumes | elements } ] [ FORMULATION { diffusion | s2 | s4 | s6 | s8 } ] [ VOLHOM ]

1.5 MILONGA_SOLVER

Sets options related to the eigen-solver.

MILONGA_SOLVER [ ROUTINE <loadable_routine> ] [ SPECTRUM { largest_eigenvalue | smallest_eigenvalue } ] [ EPS_TYPE { krylovschur | gd | jd | power | arnoldi | subspace | ... } ] [ ST_TYPE { sinvert | shift | cayley | precond } ] [ KSP_TYPE { gmres | bcgs | bicg | richardson | chebyshev | ... } ] [ PC_TYPE { lu | none | sor | bjacobi | cholesky | ... } ] [ SUBSPACE_DIM <expr> ] [ ST_SHIFT <expr> ] [ ST_ANTI_SHIFT <expr> ]

List of EPS_TYPEs http://www.grycap.upv.es/slepc/documentation/current/docs/manualpages/EPS/EPSType.html

List of ST_TYPEs http://www.grycap.upv.es/slepc/documentation/current/docs/manualpages/ST/STType.html

List of KSP_TYPEs http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPType.html

List of PC_TYPEs http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCType.html

1.6 MILONGA_STEP

Solves the linear eigenvalue problem.

MILONGA_STEP [ JUST_BUILD | JUST_SOLVE ]

2 Variables

2.1 eigen_error_estimate

Absolute error estimate |\lambda - \lambda_\text{real}| (|lambda - lambda_real|) of the obtained eigenvalue.

2.2 eigen_rel_error

Relative error |R \phi - \lambda F \phi|_2/|\lambda \phi|_2 |Rx-lFx|_2/|kx|_2 reached by the eigensolver.

2.3 eigen_rel_tolerance

Tolerance passed the iterative eigensolver, relative to the matrices norm. By default it is zero, meaning the default value of the SLEPc library.

2.4 eigen_residual_norm

Residual norm |R \phi - \lambda F \phi|_2 (|Rx-lFx|_2) reached by the eigensolver.

2.5 keff

Efective multiplication factor as computed by solving the multigroup neutron diffusion equation. It is equal to 1.0 until MILONGA_STEP is executed.

2.6 memory_usage_global

Maximum resident set size (global memory used), in bytes.

2.7 memory_usage_petsc

Maximum resident set size (memory used by PETSc), in bytes.

2.8 memory_use

Total available memory, in bytes.

2.9 petsc_flops

Number of floating point operations performed by PETSc/SLEPc.

2.10 power

Power setpoint used to normalize the computed fluxes. By default it is zero, meaning the fluxes are normalized so the mean value is equal to one. If this variable is set, then the property eSigmaF should be nonzero through the domain.

2.11 sn_a_weight

Factor used to control the upwinding of the discrete ordinates~S_N formulation. For the finite volumes scheme, the difference factor a = 1/2 (1+\alpha) is used to weight the adjacent cell fluxes, i.e. \alpha = 0 (a=1/2) corresponds to diamond difference and \alpha = 1 (a=1) corresponds to full upwinding. For the finite elements scheme, a Streamline-Upwind Petrov-Galerkin stabilization term 1/2 \alpha \ell/\| \vec{\Omega} \cdot ( \vec{\Omega} \cdot \nabla h)\| is added to the weighting functions. A value of~\alpha=0 corresponds to the unstable original Galerkin scheme and \alpha=1 to the cotangent-optimum upwind term. For~\alpha < 1 expect oscillations in the fluxes and even non-convergence for small values of~\alpha. Default is \alpha=0.5.

2.12 time_cpu_build

CPU time insumed to build the problem matrices, in seconds.

2.13 time_cpu_ini

CPU time insumed to initialize the problem, in seconds.

2.14 time_cpu_solve

CPU time insumed to solve the eigen-problem, in seconds.

2.15 time_petsc_build

CPU time insumed by PETSc to build the problem matrices, in seconds.

2.16 time_petsc_ini

CPU time insumed by PETSc to initialize the problem, in seconds.

2.17 time_petsc_solve

CPU time insumed by PETSc to solve the eigen-problem, in seconds.

2.18 time_wall_build

Wall time insumed to build the problem matrices, in seconds.

2.19 time_wall_ini

Wall time insumed to initialize the problem, in seconds.

2.20 time_wall_solve

Wall time insumed to solve the eigen-problem, in seconds.

2.21 time_wall_total

Wall time insumed to initialize, build and solve, in seconds. CPU time insumed to initialize, build and solve, in seconds. CPU time insumed by PETSc to initialize, build and solve, in seconds.

2.22 unknowns

Number of total unknowns (size) of the problem. It is equal to the number of spatial unknowns times the number of energy groups.