ISoilAction

Set up I-Soil material model.

Description

This action is used to set up the I-soil material model for a set of soil layers.

Input Parameters

  • blockThe blocks where this material model is applied.

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

    Controllable:No

    Description:The blocks where this material model is applied.

  • densityVector of density values that map one-to-one with the number 'layer_ids' parameter.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Vector of density values that map one-to-one with the number 'layer_ids' parameter.

  • displacementsThe vector of displacement variables in the problem.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The vector of displacement variables in the problem.

  • initial_shear_modulusThe initial shear modulus of the soil layers.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial shear modulus of the soil layers.

  • layer_idsVector of layer ids that map one-to-one to the rest of the soil layer parameters provided as input.

    C++ Type:std::vector<unsigned int>

    Controllable:No

    Description:Vector of layer ids that map one-to-one to the rest of the soil layer parameters provided as input.

  • layer_variableThe auxvariable providing the soil layer identification.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The auxvariable providing the soil layer identification.

  • poissons_ratioPoissons's ratio for the soil layers. The size of the vector should be same as the size of layer_ids.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Poissons's ratio for the soil layers. The size of the vector should be same as the size of layer_ids.

  • soil_typeThis parameter determines the type of backbone curve used. Use 'user_defined' for a user defined backbone curve provided in a data file, 'darendeli' if the backbone curve is to be determined using Darandeli equations, 'gqh' if the backbone curve is determined using the GQ/H approach and 'thin_layer' if the soil is being used to simulate a thin-layer friction interface.

    C++ Type:MooseEnum

    Options:user_defined, darendeli, gqh, thin_layer

    Controllable:No

    Description:This parameter determines the type of backbone curve used. Use 'user_defined' for a user defined backbone curve provided in a data file, 'darendeli' if the backbone curve is to be determined using Darandeli equations, 'gqh' if the backbone curve is determined using the GQ/H approach and 'thin_layer' if the soil is being used to simulate a thin-layer friction interface.

Required Parameters

  • a01The first coefficient for pressure dependent yield strength calculation for all the soil layers. If a0 = 1, a1 = 0 and a2=0 for one soil layer, then the yield strength of that layer is independent of pressure.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The first coefficient for pressure dependent yield strength calculation for all the soil layers. If a0 = 1, a1 = 0 and a2=0 for one soil layer, then the yield strength of that layer is independent of pressure.

  • a10The second coefficient for pressure dependent yield strength calculation for all the soil layers. If a0 = 1, a1 = 0, a2 = 0 for one soil layer, then the yield strength of that layer is independent of pressure.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The second coefficient for pressure dependent yield strength calculation for all the soil layers. If a0 = 1, a1 = 0, a2 = 0 for one soil layer, then the yield strength of that layer is independent of pressure.

  • a20The third coefficient for pressure dependent yield strength calculation for all the soil layers. If a0 = 1, a1=0 and a2=0 for one soil layer, then the yield strength of that layer is independent of pressure.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The third coefficient for pressure dependent yield strength calculation for all the soil layers. If a0 = 1, a1=0 and a2=0 for one soil layer, then the yield strength of that layer is independent of pressure.

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

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

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • b_exp0The exponential factors for pressure dependent stiffness for all the soil layers.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The exponential factors for pressure dependent stiffness for all the soil layers.

  • backbone_curve_filesThe vector of file names of the files containing stress-strain backbone curves for the different soil layers. The size of the vector should be same as the size of layer_ids. All files should contain the same number of stress-strain points. Headers are not expected and it is assumed that the first column corresponds to strain values and the second column corresponds to the stress values. Additionally, two segments of a backbone curve cannot have the same slope.

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

    Controllable:No

    Description:The vector of file names of the files containing stress-strain backbone curves for the different soil layers. The size of the vector should be same as the size of layer_ids. All files should contain the same number of stress-strain points. Headers are not expected and it is assumed that the first column corresponds to strain values and the second column corresponds to the stress values. Additionally, two segments of a backbone curve cannot have the same slope.

  • finite_strainFalseSet to true to use finite strain calculator instead of incremental small strain.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Set to true to use finite strain calculator instead of incremental small strain.

  • friction_coefficientFriction coefficients of the thin layers.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Friction coefficients of the thin layers.

  • hardening_ratioPost-yield hardening ratios of the layers. Defaults to 0.01, which corresponds to 1 percent hardening.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Post-yield hardening ratios of the layers. Defaults to 0.01, which corresponds to 1 percent hardening.

  • implicitTrueSet to false to use the explicit solver.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set to false to use the explicit solver.

  • inactiveIf specified blocks matching these identifiers will be skipped.

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

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • initial_soil_stressThe function values for the initial stress distribution. 9 function names have to be provided corresponding to stress_xx, stress_xy, stress_xz, stress_yx, stress_yy, stress_yz, stress_zx, stress_zy, stress_zz. Each function can be a function of space.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The function values for the initial stress distribution. 9 function names have to be provided corresponding to stress_xx, stress_xy, stress_xz, stress_yx, stress_yy, stress_yz, stress_zx, stress_zy, stress_zz. Each function can be a function of space.

  • number_of_pointsThe total number of data points in which the backbone curve needs to be split for all soil layers (required for Darandeli or GQ/H type backbone curves).

    C++ Type:unsigned int

    Controllable:No

    Description:The total number of data points in which the backbone curve needs to be split for all soil layers (required for Darandeli or GQ/H type backbone curves).

  • over_consolidation_ratioThe over consolidation ratio of the soil layers. Required for Darandeli backbone curve.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The over consolidation ratio of the soil layers. Required for Darandeli backbone curve.

  • p_refThe reference pressure at which the parameters are defined for each soil layer. If 'soil_type = darendeli', then the reference pressure must be input in kilopascals.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The reference pressure at which the parameters are defined for each soil layer. If 'soil_type = darendeli', then the reference pressure must be input in kilopascals.

  • plasticity_indexThe plasticity index of the soil layers. Required for Darandeli backbone curve.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The plasticity index of the soil layers. Required for Darandeli backbone curve.

  • pressure_dependencyFalseSet to true to turn on pressure dependent stiffness and yield strength calculation.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Set to true to turn on pressure dependent stiffness and yield strength calculation.

  • taumaxThe ultimate shear strength of the soil layers. Required for GQ/H model

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The ultimate shear strength of the soil layers. Required for GQ/H model

  • tension_pressure_cut_off-1The tension cut-off for all the soil layers. If the pressure becomes lower than this value, then the stiffness of the soil reduces to zero. A negative pressure indicates tension. The default value is -1.0 for all the soil layers.

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The tension cut-off for all the soil layers. If the pressure becomes lower than this value, then the stiffness of the soil reduces to zero. A negative pressure indicates tension. The default value is -1.0 for all the soil layers.

  • theta_1The curve fit coefficient for GQ/H modelfor each soil layer.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The curve fit coefficient for GQ/H modelfor each soil layer.

  • theta_2The curve fit coefficient for GQ/H modelfor each soil layer.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The curve fit coefficient for GQ/H modelfor each soil layer.

  • theta_3The curve fit coefficient for GQ/H modelfor each soil layer.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The curve fit coefficient for GQ/H modelfor each soil layer.

  • theta_4The curve fit coefficient for GQ/H modelfor each soil layer.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The curve fit coefficient for GQ/H modelfor each soil layer.

  • theta_5The curve fit coefficient for GQ/H modelfor each soil layer.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The curve fit coefficient for GQ/H modelfor each soil layer.

  • use_automatic_differentiationFalseFlag to use automatic differentiation (AD) objects when possible

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Flag to use automatic differentiation (AD) objects when possible

Optional 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.

Advanced Parameters

References

No citations exist within this document.