.. _section_eng_dynamics: Space-time Dynamics Calculations (Enterprise Version Only) ============================================================ RMC supports space-time dynamics calculations, which is used to simulate the change of neutron flux in the system with time and space after the steady-state reactor is subjected to reactivity disturbance. The RMC space-time dynamics calculation function adopts the estimated modified quasi-static method. During the calculation process, the neutron space-time dynamics equation is decomposed into a point reactor (kinetics) equation with rigidity about the amplitude function and a shape function equation about the estimated flux. The point reactor equation is solved by the numerical solution of the ordinary differential equation group, and the shape function equation is solved by the Monte Carlo method. The point reactor parameters in the point reactor equation are directly obtained by the Monte Carlo method. The RMC space-time dynamics calculation module can use neutron nuclear reaction cross-sections of multiple groups and continuous energies. .. _section_eng_dynamics_cards: Spacetime Dynamics Module Input Option -------------------------------------- Since the object of space-time dynamics calculation includes two states of the reactor, namely the steady state before the disturbance and the transient state after the disturbance, two input files are required to describe the state of the reactor. The first input file corresponds to the steady state of the reactor, in which the dynamics module input option is used to guide RMC to perform the corresponding dynamic steady-state calculation; the second input file corresponds to the transient state of the reactor, in which the dynamics module input card is used to guide RMC to perform the corresponding dynamic transient calculation. It should be noted that the population parameters in the steady-state calculation input card and the transient calculation input card should be consistent. The space-time dynamics calculation module supports parallel computing functions, but the parallel computing mode cannot be specified in the input file at present, and it is forced to use the master-slave parallel mode. Steady-state calculation input option for space-time dynamics module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: none QUASISTATIC_S PowerIter Population = InitSrc type= Timestep deltat= Adjoint WriteSourceCount WriteKineticsSrc where, - **QUASISTATIC_S** \ is the keyword for steady-state space-time dynamics calculations, and the suffix S stands for Static - **PowerIter** \ specifies source iteration parameters; - **InitSrc** \ specifies the initial fission source; - **Timestep** \ specifies the length of the first shape time step of the transient state in seconds; - **Adjoint** \ specifies whether to use adjoint flux weighting during the kinetic calculation. **0** \ means constant weighting, and **1** \ means adjoint flux weighting. Note that when adjoint flux weighting is used, in addition to the input card, an adjoint flux file needs to be prepared. This file can be generated by the repeated fission probability method and needs to be named *Adjoint*\. - **WriteSourceCount** \ specifies the number of delayed neutron sources and time absorption sources generated in the dynamic calculation. By default, it is consistent with the number of neutrons per generation in the source iteration parameter. Since the sources generated at each time step in the quasi-static calculation are output to the .source file, reducing the number of this option can reduce the size of the .source file. - **WriteKineticsSrc** \ specifies whether to output the initial critical source distribution of the direct simulation method. A value of 0 means no output, and 1 means to output, with the default value being 0. The number of generated source neutrons is consistent with the number of neutrons per generation in the source iteration parameter by default. If the WriteSourceCount parameter is specified, it is consistent with the WriteSourceCount parameter. Space-time dynamics module transient calculation input card ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: none QUASISTATIC_D PowerIter Population = Timestep deltat= Adjoint WriteSourceCount Substep number= interpolate= where, - **QUASISTATIC_D** \ is the keyword for transient spatiotemporal dynamics calculations, and the suffix D stands for Dynamic; - **PowerIter** \ specifies the source iteration parameters, and the parameter population should be consistent with the steady-state calculation input card; - **Timestep** \ specifies the size of the next shape time step in the transient state, in seconds. RMC supports variable step size calculations. - **Adjoint** \ specifies whether to use adjoint flux weighting during the kinetic calculation. **0** \ means constant weighting, and **1** \ means adjoint flux weighting. Note that when adjoint flux weighting is used, in addition to the input card, an adjoint flux file needs to be prepared. This file can be generated by the repeated fission probability method and needs to be named *Adjoint*\. - **WriteSourceCount** \ specifies the number of delayed neutron sources and time absorption sources generated in the dynamic calculation. By default, it is consistent with the number of neutrons per generation in the source iteration parameter. Since the sources generated at each time step in the quasi-static calculation are output to the .source file, reducing the number of this option can reduce the size of the .source file. - **Substep** \ specifies the number of interpolations of dynamic parameters used to solve the point reactor equations between the current shape time step and the previous shape time step in the dynamics calculation. **Number** \ specifies the number of interpolations, and,**interpolate** \ specifies whether to perform linear interpolation. For example, **number = 50 interpolate = 1** \ means that dynamic parameters are interpolated between two shape time steps, and the number of substeps after interpolation is 50. Use this option to improve the accuracy of solving the point reactor equations. Note that when calculating the transient time step, you need to save the .source generated in the previous time step and change its prefix to the input card file name of the current time step. For example, assuming that the input card name of the steady-state time step is "static" and the input card name of the first transient time step is "step1", then after completing the calculation of the steady-state time step, you need to rename "static.source" to "step1.source" and then perform the calculation of the first transient time step. Users can write shell, python and other script files to complete the entire transient calculation conveniently and flexibly. .. _section_eng_dynamics_example: Input example to the space-time dynamics module ----------------------------------------------- Example of steady-state calculation input for the space-time dynamics module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: c QUASISTATIC_S PowerIter population=500000 200 800 Keff0=1.0 InitSrc point=12.5 5.5 6.5 11.5 5.5 6.5 Timestep deltat=2.0E+00 Adjoint 1 WriteSourceCount 500000 Example of transient calculation input for the space-time dynamics module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: c QUASISTATIC_D PowerIter population=500000 200 800 Keff0=1.0 Timestep deltat=2.0E+00 Adjoint 1 WriteSourceCount 500000 Substep number=200 interpolate=1 Output file description ----------------------- RMC space-time dynamics calculations generate two important types of output files, and users only need to be concerned about these two types of output files. The first type of output file contains information such as reactor power, flux amplitude, point reactor parameters, and several intermediate results corresponding to each time step; the second type of output file contains the flux shape or power spatial distribution information that has not been normalized corresponding to each time step. The first type of file is named ".innerproduct" and the second type of file is named ".tally". A RMC space-time dynamics simulation will generate multiple ".innerproduct" and ".tally" files. Users can write their own script files to extract information from these files. It should be noted that the power variation and power spatial distribution (or neutron flux shape) in the “.innerproduct” and “.tally” files are not normalized. The meaning of each parameter in .innerproduct is: - The physical quantity represented by **NeuPopu** \ is :math:`<1/v * \Phi(r,\Omega,E,t_n+1), W(r,\omega,E)>`; - **Lambda x** \ (x>0) is the average decay coefficient of each group of delayed neutrons; - **Beta 0** \ represents the prompt neutron fraction (after weighting); - **Beta x** \ (x>0) represents the delayed neutron fraction of each group (after weighting); - **Reactivity** \ means dynamic reactivity; - **GenTime** \ represents the weighted neutron generation time, in units of 10^-8s;