ComputeMultiPlasticityStress

under construction:Undocumented Class

The ComputeMultiPlasticityStress has not been documented, if you would like to contribute to MOOSE by writing documentation, please see Documenting MOOSE. The content contained on this page explains the typical documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.

Material for multi-surface finite-strain plasticity

Input Parameters

  • ep_plastic_toleranceThe Newton-Raphson process is only deemed converged if the plastic strain increment constraints have L2 norm less than this.

    C++ Type:double

    Options:

    Description:The Newton-Raphson process is only deemed converged if the plastic strain increment constraints have L2 norm less than this.

Required Parameters

  • store_stress_oldFalseParameter which indicates whether the old stress state, required for the HHT time integration scheme and Rayleigh damping, needs to be stored

    Default:False

    C++ Type:bool

    Options:

    Description:Parameter which indicates whether the old stress state, required for the HHT time integration scheme and Rayleigh damping, needs to be stored

  • debug_fspbnoneDebug types for use by developers when creating new plasticity models, not for general use. 2 = debug Jacobian entries, 3 = check the entire Jacobian, and check Ax=b

    Default:none

    C++ Type:MooseEnum

    Options:none crash jacobian jacobian_and_linear_system

    Description:Debug types for use by developers when creating new plasticity models, not for general use. 2 = debug Jacobian entries, 3 = check the entire Jacobian, and check Ax=b

  • specialICnoneFor certain combinations of plastic models, the set of active constraints can be initialized optimally. 'none': no special initialization is performed. For all other choices, the plastic_models must be chosen to have the following types. 'rock': 'TensileMulti MohrCoulombMulti'. 'joint': 'WeakPlaneTensile WeakPlaneShear'.

    Default:none

    C++ Type:MooseEnum

    Options:none rock joint

    Description:For certain combinations of plastic models, the set of active constraints can be initialized optimally. 'none': no special initialization is performed. For all other choices, the plastic_models must be chosen to have the following types. 'rock': 'TensileMulti MohrCoulombMulti'. 'joint': 'WeakPlaneTensile WeakPlaneShear'.

  • max_NR_iterations20Maximum number of Newton-Raphson iterations allowed

    Default:20

    C++ Type:unsigned int

    Options:

    Description:Maximum number of Newton-Raphson iterations allowed

  • ignore_failuresFalseThe return-map algorithm will return with the best admissible stresses and internal parameters that it can, even if they don't fully correspond to the applied strain increment. To speed computations, this flag can be set to true, the max_NR_iterations set small, and the min_stepsize large.

    Default:False

    C++ Type:bool

    Options:

    Description:The return-map algorithm will return with the best admissible stresses and internal parameters that it can, even if they don't fully correspond to the applied strain increment. To speed computations, this flag can be set to true, the max_NR_iterations set small, and the min_stepsize large.

  • min_stepsize0.01If ordinary Newton-Raphson + line-search fails, then the applied strain increment is subdivided, and the return-map is tried again. This parameter is the minimum fraction of applied strain increment that may be applied before the algorithm gives up entirely

    Default:0.01

    C++ Type:double

    Options:

    Description:If ordinary Newton-Raphson + line-search fails, then the applied strain increment is subdivided, and the return-map is tried again. This parameter is the minimum fraction of applied strain increment that may be applied before the algorithm gives up entirely

  • debug_jac_at_stress(xx,xy,xz)=( 0, 0, 0) (yx,yy,yz)=( 0, 0, 0) (zx,zy,zz)=( 0, 0, 0) Debug Jacobian entries at this stress. For use by developers

    Default:(xx,xy,xz)=( 0, 0, 0) (yx,yy,yz)=( 0, 0, 0) (zx,zy,zz)=( 0, 0, 0)

    C++ Type:libMesh::TensorValue

    Options:

    Description:Debug Jacobian entries at this stress. For use by developers

  • debug_jac_at_intnlDebug Jacobian entries at these internal parameters

    C++ Type:std::vector

    Options:

    Description:Debug Jacobian entries at these internal parameters

  • boundaryThe list of boundary IDs from the mesh where this boundary condition applies

    C++ Type:std::vector

    Options:

    Description:The list of boundary IDs from the mesh where this boundary condition applies

  • linear_dependent0.0001Flow directions are considered linearly dependent if the smallest singular value is less than linear_dependent times the largest singular value

    Default:0.0001

    C++ Type:double

    Options:

    Description:Flow directions are considered linearly dependent if the smallest singular value is less than linear_dependent times the largest singular value

  • deactivation_schemeoptimizedScheme by which constraints are deactivated. (NOTE: This is irrelevant if there is only one yield surface.) safe: return to the yield surface and then deactivate constraints with negative plasticity multipliers. optimized: deactivate a constraint as soon as its plasticity multiplier becomes negative. dumb: iteratively try all combinations of active constraints until the solution is found. You may specify fall-back options. Eg optimized_to_safe: first use 'optimized', and if that fails, try the return with 'safe'.

    Default:optimized

    C++ Type:MooseEnum

    Options:optimized safe dumb optimized_to_safe safe_to_dumb optimized_to_safe_to_dumb optimized_to_dumb

    Description:Scheme by which constraints are deactivated. (NOTE: This is irrelevant if there is only one yield surface.) safe: return to the yield surface and then deactivate constraints with negative plasticity multipliers. optimized: deactivate a constraint as soon as its plasticity multiplier becomes negative. dumb: iteratively try all combinations of active constraints until the solution is found. You may specify fall-back options. Eg optimized_to_safe: first use 'optimized', and if that fails, try the return with 'safe'.

  • debug_intnl_changeDebug finite differencing parameters for the internal parameters

    C++ Type:std::vector

    Options:

    Description:Debug finite differencing parameters for the internal parameters

  • perform_finite_strain_rotationsTrueTensors are correctly rotated in finite-strain simulations. For optimal performance you can set this to 'false' if you are only ever using small strains

    Default:True

    C++ Type:bool

    Options:

    Description:Tensors are correctly rotated in finite-strain simulations. For optimal performance you can set this to 'false' if you are only ever using small strains

  • debug_pm_changeDebug finite differencing parameters for the plastic multipliers

    C++ Type:std::vector

    Options:

    Description:Debug finite differencing parameters for the plastic multipliers

  • max_stepsize_for_dumb0.01If your deactivation_scheme is 'something_to_dumb', then 'dumb' will only be used if the stepsize falls below this value. This parameter is useful because the 'dumb' scheme is computationally expensive

    Default:0.01

    C++ Type:double

    Options:

    Description:If your deactivation_scheme is 'something_to_dumb', then 'dumb' will only be used if the stepsize falls below this value. This parameter is useful because the 'dumb' scheme is computationally expensive

  • computeTrueWhen false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the Material via MaterialPropertyInterface::getMaterial(). Non-computed Materials are not sorted for dependencies.

    Default:True

    C++ Type:bool

    Options:

    Description:When false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the Material via MaterialPropertyInterface::getMaterial(). Non-computed Materials are not sorted for dependencies.

  • tangent_operatornonlinearType of tangent operator to return. 'elastic': return the elasticity tensor. 'linear': return the consistent tangent operator that is correct for plasticity with yield functions linear in stress. 'nonlinear': return the full, general consistent tangent operator. The calculations assume the hardening potentials are independent of stress and hardening parameters.

    Default:nonlinear

    C++ Type:MooseEnum

    Options:elastic linear nonlinear

    Description:Type of tangent operator to return. 'elastic': return the elasticity tensor. 'linear': return the consistent tangent operator that is correct for plasticity with yield functions linear in stress. 'nonlinear': return the full, general consistent tangent operator. The calculations assume the hardening potentials are independent of stress and hardening parameters.

  • base_nameOptional parameter that allows the user to define multiple mechanics material systems on the same block, i.e. for multiple phases

    C++ Type:std::string

    Options:

    Description:Optional parameter that allows the user to define multiple mechanics material systems on the same block, i.e. for multiple phases

  • debug_jac_at_pmDebug Jacobian entries at these plastic multipliers

    C++ Type:std::vector

    Options:

    Description:Debug Jacobian entries at these plastic multipliers

  • transverse_directionIf this parameter is provided, before the return-map algorithm is called a rotation is performed so that the 'z' axis in the new frame lies along the transverse_direction in the original frame. After returning, the inverse rotation is performed. The transverse_direction will itself rotate with large strains. This is so that transversely-isotropic plasticity models may be easily defined in the frame where the isotropy holds in the x-y plane.

    C++ Type:libMesh::VectorValue

    Options:

    Description:If this parameter is provided, before the return-map algorithm is called a rotation is performed so that the 'z' axis in the new frame lies along the transverse_direction in the original frame. After returning, the inverse rotation is performed. The transverse_direction will itself rotate with large strains. This is so that transversely-isotropic plasticity models may be easily defined in the frame where the isotropy holds in the x-y plane.

  • plastic_modelsList of names of user objects that define the plastic models that could be active for this material. If no plastic_models are provided, only elasticity will be used.

    C++ Type:std::vector

    Options:

    Description:List of names of user objects that define the plastic models that could be active for this material. If no plastic_models are provided, only elasticity will be used.

  • debug_stress_change1Debug finite differencing parameter for the stress

    Default:1

    C++ Type:double

    Options:

    Description:Debug finite differencing parameter for the stress

  • blockThe list of block ids (SubdomainID) that this object will be applied

    C++ Type:std::vector

    Options:

    Description:The list of block ids (SubdomainID) that this object will be applied

Optional Parameters

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

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Options:

    Description:The seed for the master random number generator

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

    Default:True

    C++ Type:bool

    Options:

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

  • constant_onNONEWhen ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeSubdomainProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped

    Default:NONE

    C++ Type:MooseEnum

    Options:NONE ELEMENT SUBDOMAIN

    Description:When ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeSubdomainProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped

Advanced Parameters

  • output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)

    C++ Type:std::vector

    Options:

    Description:List of material properties, from this material, to output (outputs must also be defined to an output type)

  • outputsnone Vector of output names were you would like to restrict the output of variables(s) associated with this object

    Default:none

    C++ Type:std::vector

    Options:

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

Outputs Parameters

Input Files

References