WeibullFailureProbability

Computes Weibull failure probability using principle of independent action (PIA) model.

Description

This Postprocessor computes the Weibull failure probability in TRISO modeling. The Weibull failure probability is given as: where is the characteristic strength, is the Weibull modulus. The stress integration above can be performed using the principle of independent action (PIA) model as follows: where , and are three principal stresses. The negative principal stresses will not be included in this integral because the compressive stresses do not contribute to fracture.

This postprocessor can be used in conjunction with AD variables through using ADWeibullFailureProbability.

Example Input Syntax

[Postprocessors<<<{"href": "../../syntax/Postprocessors/index.html"}>>>]
  [burnup]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "ElementExtremeValue.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = burnup
  []
  [fis_gas_produced]
    type = ElementIntegralFisGasGeneratedSifgrs<<<{"description": "Reports the fission gas that is produced in moles.  To be used in combination with the Sifgrs model.", "href": "ElementIntegralFisGasGeneratedSifgrs.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [fis_gas_released]
    type = ElementIntegralFisGasReleasedSifgrs<<<{"description": "Reports the fission gas that is released to the plenum in moles.  To be used in combination with the Sifgrs model.", "href": "ElementIntegralFisGasReleasedSifgrs.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [volumeTotal]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
  []
  [volumeFuel]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = fuel_outer_boundary
  []
  [volumeGas]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 'fuel_outer_boundary IPyC_inner_boundary'
    addition<<<{"description": "An additional volume to be included in the internal volume calculation. A time-dependent function is expected."}>>> = -5.53e-11
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [volumeBufferShell]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_IPyC_boundary
  []
  [ave_temp_interior]
    type = SideAverageValue<<<{"description": "Computes the average value of a variable on a sideset. Note that this cannot be used on the centerline of an axisymmetric model.", "href": "SideAverageValue.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_IPyC_boundary
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  # Postprocessors for CO production
  [total_fission_rate]
    type = ElementIntegralPower<<<{"description": "Computes the power given the fission rate and energy per fission.", "href": "ElementIntegralPower.html"}>>>
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    fission_rate<<<{"description": "Coupled fission rate"}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    energy_per_fission<<<{"description": "Energy released per fission (J/fission)"}>>> = 1.0
  []
  [total_fissions]
    type = TimeIntegratedPostprocessor<<<{"description": "Integrate a Postprocessor value over time using trapezoidal rule.", "href": "TimeIntegratedPostprocessor.html"}>>>
    value<<<{"description": "The name of the postprocessor"}>>> = total_fission_rate
  []
  [avg_surface_temperature]
    type = SideAverageValue<<<{"description": "Computes the average value of a variable on a sideset. Note that this cannot be used on the centerline of an axisymmetric model.", "href": "SideAverageValue.html"}>>>
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temperature
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
  []
  [time_int_surf_temperature]
    type = TimeIntegratedPostprocessor<<<{"description": "Integrate a Postprocessor value over time using trapezoidal rule.", "href": "TimeIntegratedPostprocessor.html"}>>>
    value<<<{"description": "The name of the postprocessor"}>>> = avg_surface_temperature
  []
  [co_production]
    type = CarbonMonoxideProduction<<<{"description": "Computes CO production in oxide fuel based on the Proksch or GA correlation.", "href": "CarbonMonoxideProduction.html"}>>>
    total_fissions<<<{"description": "The name of the postprocessor containing the total fissions."}>>> = total_fissions
    time_integrated_triso_temperature<<<{"description": "The name of the postprocessor containing the time integrated TRISO surface temperature (for Proksch)."}>>> = time_int_surf_temperature
    initial_enrichment<<<{"description": "initial enrichment fraction of U235 (wt%)"}>>> = 0.14029
  []
  [tang_SiC]
    type = ElementalVariableValue<<<{"description": "Outputs an elemental variable value at a particular location", "href": "ElementalVariableValue.html"}>>>
    variable<<<{"description": "The variable to be monitored"}>>> = stress_yy
    elementid<<<{"description": "The ID of the element where we monitor"}>>> = 18
  []
  [Weibull_failure_probability_OPyC]
    type = WeibullFailureProbability<<<{"description": "Computes Weibull failure probability using principle of independent action (PIA) model.", "href": "WeibullFailureProbability.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    characteristic_strength<<<{"description": "The material name of characteristic strength."}>>> = characteristic_strength_OPyC
  []
  [Weibull_failure_probability_IPyC]
    type = WeibullFailureProbability<<<{"description": "Computes Weibull failure probability using principle of independent action (PIA) model.", "href": "WeibullFailureProbability.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    characteristic_strength<<<{"description": "The material name of characteristic strength."}>>> = characteristic_strength_IPyC
  []
  [Weibull_failure_probability_SiC]
    type = WeibullFailureProbability<<<{"description": "Computes Weibull failure probability using principle of independent action (PIA) model.", "href": "WeibullFailureProbability.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    characteristic_strength<<<{"description": "The material name of characteristic strength."}>>> = characteristic_strength_SiC
  []
[]
(test/tests/triso_failure/triso_1d_weibull_probability.i)

Input Parameters

  • characteristic_strengthThe material name of characteristic strength.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:The material name of characteristic strength.

  • weibull_modulus,Weibull modulus

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:,Weibull modulus

Required Parameters

  • base_namebase name of stress

    C++ Type:std::string

    Controllable:No

    Description:base name of stress

  • blockThe list of blocks (ids or names) that this object will be applied

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

Optional Parameters

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Controllable:No

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

  • execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:XFEM_MARK, NONE, INITIAL, LINEAR, NONLINEAR_CONVERGENCE, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, TRANSFER

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

  • execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

    Default:0

    C++ Type:int

    Controllable:No

    Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

  • force_postauxFalseForces the UserObject to be executed in POSTAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in POSTAUX

  • force_preauxFalseForces the UserObject to be executed in PREAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREAUX

  • force_preicFalseForces the UserObject to be executed in PREIC during initial setup

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREIC during initial setup

Execution Scheduling Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:Yes

    Description:Set the enabled status of the MooseObject.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

  • outputsVector of output names where you would like to restrict the output of variables(s) associated with this object

    C++ Type:std::vector<OutputName>

    Controllable:No

    Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:The seed for the master random number generator

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

Material Property Retrieval Parameters

Input Files