Skip to content

fgrSCIANTIX

Description

This class integrates the 0-D SCIANTIX code (developed at Polimi) into OFFBEAT as the fission gas release (FGR) model. The coupling process between OFFBEAT and SCIANTIX proceeds as follows:

  1. At each outer iteration and for every cell of fuel-type materials (such as UO2), OFFBEAT passes the necessary data to SCIANTIX for calculations. This data set includes:

    • History variables, i.e., local oldTime and current stresses, temperature, and fission rate.
    • Previous time step values of the SCIANTIX variables for the specific cell.
  2. Using the previous time step values as initial conditions, SCIANTIX computes the updated values for its internal variables.

  3. At the end of each outer iterations, certain updated values calculated by SCIANTIX, such as the FGR fraction or gaseous swelling, are passed to OFFBEAT.

  4. At the end of each time step, steps 1, 2, and 3 are repeated. This final pass stores the updated local SCIANTIX variables into the corresponding OFFBEAT fields, completing the synchronization process.


Options

The fgrSCIANTIX model requires the user to specify a few additional parameters in the fgrOptions sub-dictionary located inside the solverDict. Additionally, SCIANTIX requires the user to set the specific SCIANTIX input settings. See the next section for more information or consult SCIANTIX documentation.

Warning

There are two ways to provide SCIANTIX input settings when using OFFBEAT. One option is to define these settings in the input_settings.txt file within the OFFBEAT case folder (i.e., at the same level as the constant or system folders). However, note that if OFFBEAT is launched from outside the case folder using the -case argument, SCIANTIX assumes the input_settings.txt file path is the same as the folder from which the execution command is launched.

To address this, a new input reading option has been added to OFFBEAT. SCIANTIX input settings can now be defined in a sub-dictionary of fgrOptions within solverDict. If the code detects this dictionary, it reads the input from there; otherwise, it defaults to the original approach, reading from the input_settings.txt file. In both cases, an input_check.txt file is created for input validation. An example of the new input format can be found in Cases/testCases/generic_pwr_1D_newSCIANTIXinput/.

Parameters in fgrOptions:

relax Relaxation factor applied to inter/intra-gaseous swelling and fgr fraction. It can improve convergence when dealing with strongly coupled simulations. It is set to 1 by default.
nFrequency An integer defining how many outer iteration to skip before updating the OFFBEAT/SCIANTIX coupling. It can speed up the simulation (i.e. less SCIANTIX runs) but it should not be too large, as one risks not attaining proper convergence. It is set to 1 by default.
addToRegistry Keyword to switch on/off the creation of the SCIANTIX fields as separate volumetric fields. It is set to off by default.

Note

To minimize the creation of multiple volumetric fields (such as volScalarFields or volVectorFields), SCIANTIX fields are, by default, defined as standard fields (scalarFields or vectorFields). This is achieved using a template function located in globalFields.H.

Typically, these fields are read from a regIOObject named SCIANTIXfields, which is saved at each write time step. At the top of this dictionary, a summary of the current fission gas release (FGR) is included. If a specific field is missing from the dictionary, it is initialized with a default value. However, if an IOObject corresponding to one of these fields exists in the initial time step folder, the field is read from that file. This approach can be helpful when performing advanced operations, such as using OpenFOAM’s mapping routines.

In certain scenarios, adding fields to the registry is necessary for specific tasks, such as visualization in ParaFoam, probing, or mapping. This behavior is controlled by the addToRegistry keyword in the FGR options dictionary, enabling users to specify whether fields should be registered as volumetric fields.


Usage

Here is an example of (part of) the solverDict file to be used to activate the coupling between OFFBEAT and SCIANTIX .

fgr     SCIANTIX;

fgrOptions
{
    //- relax is 1 by default
    relax  1;

    //- nFrequency is 1 by default
    nFrequency  1;

    //- addToRegistry is off by default
    addToRegistry  off;
}

//... other physics subdictionaries

materials
{
    fuel
    {
        type UO2;

        //... other material specific options

        rGrain 5e-6;

    }
    //... remaining material subdictionaries
}

Additionally, the code SCIANTIX requires its own set of inputs to be properly set. One way to set the SCIANTIX parameters is to properly define in the case folder the input_settings.txt file (see SCIANTIX documentation for more details):

0 #  verification (0 = no verification)
1 #  grain growth (0 = none; 1 = ainscough)
1 #  inert gas behavior (0 = none; 1 = do IGB)
1 #  gas diff coeff (0 = 0 coeff (trial); 1 = Turnbull, 2 = Matzke (with small
OFFBEAT custom addition) )
1 #  intra bbl evo (1 = Pizzocri et al., 2018; 2 = White, Tucker 1983)
1 #  intra bubble_radius (1 = Olander&Wongy, 2006, 2= Ronchi 1972; 3 = Dollings
1977; 4 = Losonen 2002; 5 = Spino 2005; )
1 #  re-solution (1 = Turnbull 1971; 2 = Oldanter 1976)
1 #  trapping (1 = Ham 1958)
1 #  nucleation (1 = Baker 1971)
1 #  DiffSolver (1 = SDA, Pizzocri, 2 = FORMAS)
1 #  format_out (1 = output.txt, values separated by tabs)
1 #  gb vac diff coeff (1 = Reynolds and Burton, 1979; 2 = Pastore 2015)
1 #  gb behavior (1 = Pastore et al., 2013; Barani et al., 2017)
0 #  gb micro-cracking (0 = none; 1 = Barani et al., 2017)
0 #  hbs formation (0 = non active)
0 #  fuel/reactor couple for burnup calculations (0 = UO2/PWR)
1 #  gas effective (=0) or single atom (=1) diffusion coefficient - OFFBEAT
custom addition
0 #  add boundary gas sweeping (1=on) - OFFBEAT custom addition
0 #  micro cracking model span parameter (0 = default value of 10; 1 = original
value SCIANTIX of 10; 2 = Value from MOOSE of 5)

An alternative (which take priority in OFFBEAT) is to define the SCIANTIX options directly in the fgrOptions dictionary.

fgrOptions
{
    nFrequency  1;
    relax       1;

    SCIANTIX
    {
        iverification                                   0; // (0= no verification)
        igrain_growth                                   1; // (1 = ainscough)
        iinert_gas_behavior                             1; // (1= do IGB)
        igas_diffusion_coefficient                      1; // (1= Turnbull et al., 1988)
        iintra_bubble_evolution                         1; // (1=Pizzocri et al., 2018)
        ibubble_radius                                  1; // (1= Olander&Wongy, 2006)
        iresolution_rate                                1; // (1=Turnbull 1971)
        itrapping_rate                                  1; // (1= Ham 1958)
        inucleation_rate                                1; // (1= Baker 1971)
        isolver                                         1; // (1= SDA, Pizzocri et al., 2019)
        iformat_output                                  1; // (1 = output.txt, values separated by tabs)
        igrain_boundary_vacancy_diffusion_coefficient   1; // (1= Reynolds and Burton, 1979)
        igrain_boundary_behaviour                       1; // (1= do InterGranularGasBehavior - Pastore et al., 2013; Barani et al., 2017)
        igrain_boundary_micro_cracking                  1; // (1 = Barani et al., 2017)
        igrain_recrystallization                        0; // (0 = non active)
        ifuel_reactor_type                              0; // (0=UO2/PWR)
        igas_effective_coefficient                      1; // gas effective (=0) or single atom (=1)
        igas_sweeping                                   1; // add boundary gas sweeping
    }

}