TensorMechanicsPlasticMohrCoulomb

under construction:Undocumented Class

The TensorMechanicsPlasticMohrCoulomb has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.


# TensorMechanicsPlasticMohrCoulomb

!syntax description /UserObjects/TensorMechanicsPlasticMohrCoulomb

## Overview

!! Replace these lines with information regarding the TensorMechanicsPlasticMohrCoulomb object.

## Example Input File Syntax

!! Describe and include an example of how to use the TensorMechanicsPlasticMohrCoulomb object.

!syntax parameters /UserObjects/TensorMechanicsPlasticMohrCoulomb

!syntax inputs /UserObjects/TensorMechanicsPlasticMohrCoulomb

!syntax children /UserObjects/TensorMechanicsPlasticMohrCoulomb

Non-associative Mohr-Coulomb plasticity with hardening/softening

Input Parameters

  • cohesionA TensorMechanicsHardening UserObject that defines hardening of the cohesion. Physically the cohesion should not be negative.

    C++ Type:UserObjectName

    Options:

    Description:A TensorMechanicsHardening UserObject that defines hardening of the cohesion. Physically the cohesion should not be negative.

  • dilation_angleA TensorMechanicsHardening UserObject that defines hardening of the dilation angle (in radians). Usually the dilation angle is not greater than the friction angle, and it is between 0 and 90deg.

    C++ Type:UserObjectName

    Options:

    Description:A TensorMechanicsHardening UserObject that defines hardening of the dilation angle (in radians). Usually the dilation angle is not greater than the friction angle, and it is between 0 and 90deg.

  • friction_angleA TensorMechanicsHardening UserObject that defines hardening of the friction angle (in radians). Physically the friction angle should be between 0 and 90deg.

    C++ Type:UserObjectName

    Options:

    Description:A TensorMechanicsHardening UserObject that defines hardening of the friction angle (in radians). Physically the friction angle should be between 0 and 90deg.

  • internal_constraint_toleranceThe Newton-Raphson process is only deemed converged if the internal constraint is less than this.

    C++ Type:double

    Options:

    Description:The Newton-Raphson process is only deemed converged if the internal constraint is less than this.

  • mc_tip_smootherSmoothing parameter: the cone vertex at mean = cohesion*cot(friction_angle), will be smoothed by the given amount. Typical value is 0.1*cohesion

    C++ Type:double

    Options:

    Description:Smoothing parameter: the cone vertex at mean = cohesion*cot(friction_angle), will be smoothed by the given amount. Typical value is 0.1*cohesion

  • yield_function_toleranceIf the yield function is less than this amount, the (stress, internal parameter) are deemed admissible.

    C++ Type:double

    Options:

    Description:If the yield function is less than this amount, the (stress, internal parameter) are deemed admissible.

Required Parameters

  • cap_rate0For the 'cap' tip_scheme, this controls how quickly the cap degenerates to a hemisphere: small values mean a slow degeneration to a hemisphere (and zero means the 'cap' will be totally inactive). Typical value is 1/tensile_strength

    Default:0

    C++ Type:double

    Options:

    Description:For the 'cap' tip_scheme, this controls how quickly the cap degenerates to a hemisphere: small values mean a slow degeneration to a hemisphere (and zero means the 'cap' will be totally inactive). Typical value is 1/tensile_strength

  • cap_start0For the 'cap' tip_scheme, smoothing is performed in the stress_mean > cap_start region

    Default:0

    C++ Type:double

    Options:

    Description:For the 'cap' tip_scheme, smoothing is performed in the stress_mean > cap_start region

  • execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL CUSTOM

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

  • mc_edge_smoother25Smoothing parameter: the edges of the cone are smoothed by the given amount.

    Default:25

    C++ Type:double

    Options:

    Description:Smoothing parameter: the edges of the cone are smoothed by the given amount.

  • mc_lode_cutoffIf the second invariant of stress is less than this amount, the Lode angle is assumed to be zero. This is to gaurd against precision-loss problems, and this parameter should be set small. Default = 0.00001*((yield_Function_tolerance)^2)

    C++ Type:double

    Options:

    Description:If the second invariant of stress is less than this amount, the Lode angle is assumed to be zero. This is to gaurd against precision-loss problems, and this parameter should be set small. Default = 0.00001*((yield_Function_tolerance)^2)

  • tip_schemehyperbolicScheme by which the pyramid's tip will be smoothed.

    Default:hyperbolic

    C++ Type:MooseEnum

    Options:hyperbolic cap

    Description:Scheme by which the pyramid's tip will be smoothed.

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

    Options:

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

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

    C++ Type:std::vector

    Options:

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

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Options:

    Description:Set the enabled status of the MooseObject.

  • force_preauxFalseForces the GeneralUserObject to be executed in PREAUX

    Default:False

    C++ Type:bool

    Options:

    Description:Forces the GeneralUserObject to be executed in PREAUX

  • 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

    Options:

    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

Input Files