|
musica (C++)
|
Options for constitutive models. More...
#include <options.hpp>
Public Member Functions | |
| void | setupOriginalModel () |
| Set the model to the original model. | |
| void | setupModifiedModel () |
| Set the model to the modified model. | |
| bool | isFrictionAngleLodeDependent () const |
| Check whether the friction angle is lode angle dependent. | |
| void | setMises () |
| Use Mises criterion. | |
| void | setTresca () |
| Use Tresca criterion. | |
| void | setMohrCoulomb () |
| Use Mohr-Coulomb criterion. | |
| void | setSMP () |
| Use SMP criterion. | |
| void | setMisesSMP (T weight_mises=0.5, T weight_smp=0.5) |
| Use Mises-SMP criterion. | |
| void | setTrescaMohrCoulomb (T weight_tresca=0.5, T weight_mohr_coulomb=0.5) |
| Use Tresca-Mohr-Coulomb criterion. | |
| void | checkSubsteppingOptions () const |
| Check the substepping options for plastic correction. | |
Public Attributes | |
| bool | update_void_ratio_from_after_isotropic_loading_to_before = false |
| whether to update the void ratio after the isotropic loading to the void ratio before the isotropic loading | |
| bool | kinematic_hypothesis = false |
| use the kinematic hypothesis | |
| bool | use_plastic_strain_in_fabric_evolution = false |
| Use plastic strain in fabric evolution. | |
| std::string | loading_direction_type = "depsd" |
| Type of loading direction, isotropic, depsd, depspd, s, sa, or custom. | |
| T | loading_direction_scale = 1.0 |
| Scale for the loading direction. | |
| bool | save_elastic_stiffness_matrix = false |
| whether to save the elastic stiffness matrix | |
| T | elastoplastic_finite_difference_increment = 1e-4 |
| finite difference increment for numerical derivatives in elastoplastic models | |
| bool | elastoplastic_finite_difference_central = false |
| Whether to use central finite difference for numerical derivatives in elastoplastic models. | |
| bool | elastoplastic_check_stiffness_matrix_positive_definite = false |
| Whether to check the positive definiteness of the elastoplastic stiffness matrix. | |
| bool | elastoplastic_check_stiffness_matrix_non_singularity = false |
| Whether to check the non-singularity of the elastoplastic stiffness matrix. | |
| bool | elastoplastic_critical_state_line_use_initial_stress_state = false |
| Whether to use the initial stress state to calculate critical state line. | |
| std::string | elastoplastic_critical_state_line_shape = "logarithmic" |
| Shape of critical state line, linear, logarithmic or exponential. | |
| bool | elastoplastic_critical_state_line_use_anisotropic_mean_stress = false |
| Whether to consider anisotropic mean stress in critical state line. | |
| std::string | elastoplastic_critical_stress_ratio_type = "mohr-coulomb" |
| Method to calculate critical stress ratio, mohr-coulomb, gtheta_li2002, gtheta_sheng2000, or gtheta_argyris1974. | |
| bool | elastoplastic_critical_stress_ratio_use_initial_stress_state = false |
| Whether to use the initial stress state to calculate critical stress ratio. | |
| bool | elastoplastic_critical_stress_ratio_use_anisotropic_stress = true |
| Whether to use the anisotropic stress tensor to calculate critical stress ratio. | |
| bool | elastoplastic_update_critical_void_ratio_when_required = false |
| Whether to update the critical void ratio when required. | |
| T | elastoplastic_tolerance = 1e-7 |
| tolerance of yield function for plastic correction | |
| int | elastoplastic_max_iterations = 100 |
| maximum number of iterations for plastic correction | |
| bool | elastoplastic_check_convergence = true |
| whether to check the converge for plastic correction | |
| bool | elastoplastic_ensure_stress_on_yield_surface = false |
| Whether to ensure the stress state is on the yield surface. | |
| T | elastoplastic_min_principal_stress = -1.0 |
| Minimum principal stress for elastoplastic models, negative value means no limit. | |
| bool | elastoplastic_yield_function_anisotropic_cohesion = false |
| Whether the cohesion is anisotropic. | |
| std::string | elastoplastic_yield_function_correction_direction = "plastic_flow" |
| Direction for yield function correction, "plastic_flow" for the plastic flow direction or "yield_normal" for the normal direction of the yield surface. | |
| T | elastoplastic_yield_function_correction_adaptive_ratio = -1.0 |
| Ratio for adaptive plastic correction, negative values are ignored. | |
| int | elastoplastic_yield_function_correction_max_const_steps = -1 |
| Maximum number of constant step size substeps for the plastic correction, non-positive value means no limit. | |
| bool | elastoplastic_yield_function_correction_diverged_steps_raise = true |
| Whether to raise an error when the plastic correction is detected as diverged. | |
| bool | elastoplastic_default_yield_function_derivative = false |
| whether to use the default yield function derivative for elastoplastic models | |
| bool | elastoplastic_yield_function_derivative_strain = true |
| whether to consider the strain contribution to the yield function derivative for elastoplastic models | |
| bool | elastoplastic_associated_flow_rule = false |
| whether to use associated flow rule for plastic correction | |
| bool | elastoplastic_default_potential_function_derivative = false |
| whether to use the default potential function derivative for elastoplastic models | |
| bool | elastoplastic_potential_function_half_shear_derivatives = false |
| Whether to use half derivatives of shear components for plastic potential function. | |
| T | elastoplastic_flow_rule_tolerance = 1e-7 |
| tolerance of flow rule for plastic correction, only valid for CPPM method | |
| std::string | elastoplastic_combined_stress_tensor_type = "anisotropic" |
| Type of the combined stress tensor for elastoplastic models, "anisotropic", "isotropic", "linear", "quadratic", "exponential", or "potential". | |
| std::string | elastoplastic_combined_stress_tensor_dilatancy_type = "anisotropic" |
| Type of the combined stress tensor in dilatancy for elastoplastic models, "anisotropic", "isotropic", "linear", "quadratic", "exponential", or "potential". | |
| T | elastoplastic_combined_stress_tensor_fav_ratio = 1.0 |
| Ratio for the fabric anisotropy variable in the combined stress tensor for elastoplastic models. | |
| T | elastoplastic_combined_stress_tensor_evolution_ratio = 1.0 |
| Ratio for the evolution of the combined stress tensor in elastoplastic models. | |
| T | elastoplastic_combined_stress_tensor_scale = 1.0 |
| Scale for effect of fabric anisotropy in the combined stress tensor for elastoplastic models. | |
| T | elastoplastic_fabric_anisotropy_variable_nonproportionality_orthogonal = 0.0 |
| Weight of the orthogonal component of the non-proportionality in the fabric anisotropy variable. | |
| T | elastoplastic_fabric_anisotropy_variable_nonproportionality_noncoaxial = 0.0 |
| Weight of the non-coaxial component of the non-proportionality in the fabric anisotropy variable. | |
| T | elastoplastic_substepping_max_plastic_strain = -1.0 |
| Maximum plastic strain for substepping in plastic correction, negative value means no substepping. | |
| int | elastoplastic_substepping_max_iterations = 100000 |
| Maximum number of iterations for substepping in plastic correction. | |
| T | elastoplastic_substepping_initial_step_size = 1.0 |
| Initial step size for substepping in plastic correction. | |
| T | elastoplastic_substepping_min_step_size = 1e-5 |
| Minimum step size for substepping in plastic correction. | |
| T | elastoplastic_substepping_max_step_size = 1.0 |
| Maximum step size for substepping in plastic correction. | |
| bool | elastoplastic_substepping_check_min_step_size = true |
| Whether to check the minimum step size for substepping in plastic correction. | |
| T | elastoplastic_substepping_step_size_increase_ratio = 2.0 |
| Step size increase ratio for substepping in plastic correction when the plastic multiplier is less than half of the maximum allowed value. | |
| T | elastoplastic_substepping_step_size_decrease_ratio = 0.5 |
| Step size decrease ratio for substepping in plastic correction when the plastic multiplier exceeds the maximum allowed value. | |
| std::string | elastoplastic_runge_kutta_integrate_stress_on_yield_surface_method = "bisection" |
| Method to integrate stress from elastic to the yield surface for Runge-Kutta method, "bisection", "newton" or "none". | |
| int | elastoplastic_runge_kutta_integrate_stress_on_yield_surface_max_iterations = 100 |
| Maximum number of iterations to integrate stress from elastic to the yield surface for Runge-Kutta method. | |
| T | elastoplastic_runge_kutta_integrate_stress_on_yield_surface_tolerance = 1e-10 |
| Tolerance to integrate stress from elastic to the yield surface for Runge-Kutta method. | |
| int | elastoplastic_runge_kutta_order = 2 |
| Order of the Runge-Kutta method for elastoplastic integration, 1, 2, 3, or 4. | |
| T | elastoplastic_runge_kutta_second_order_alpha = 2.0 / 3.0 |
| Parameter alpha for the second-order Runge-Kutta method in elastoplastic integration. | |
| T | elastoplastic_runge_kutta_third_order_alpha = 0.5 |
| Parameter alpha for the third-order Runge-Kutta method in elastoplastic integration. | |
| T | elastoplastic_runge_kutta_third_order_beta = 0.75 |
| Parameter beta for the third-order Runge-Kutta method in elastoplastic integration. | |
| std::string | elastoplastic_runge_kutta_fourth_order_type = "classic" |
| Type of the fourth-order Runge-Kutta method for elastoplastic integration, "classic", "3/8-rule", or "ralston". | |
| std::string | elastoplastic_runge_kutta_stiffness_type = "weighted" |
| Type of the elastoplastic stiffness matrix for Runge-Kutta method, "elastic", "elastoplastic", "elastoplastic_end", or "weighted". | |
| bool | elastoplastic_runge_kutta_correction_substep = false |
| Whether to perform yield function corrections at each substep of the Runge-Kutta method. | |
| int | elastoplastic_runge_kutta_max_const_steps = -1 |
| Maximum number of constant step size substeps for the Runge-Kutta method, non-positive value means no limit. | |
| bool | elastoplastic_runge_kutta_diverged_steps_raise = true |
| Whether to raise an error when a Runge-Kutta step is detected as diverged. | |
| T | elastoplastic_runge_kutta_substepping_tolerance = -1 |
| Tolerance for substepping in Runge-Kutta elastoplastic integration, negative value means no substepping. | |
| int | elastoplastic_runge_kutta_substepping_max_iterations = 100000 |
| Maximum number of iterations for substepping in Runge-Kutta elastoplastic integration. | |
| T | elastoplastic_runge_kutta_substepping_initial_step_size = 1.0 |
| Initial step size for substepping in Runge-Kutta elastoplastic integration. | |
| T | elastoplastic_runge_kutta_substepping_min_step_size = 1e-5 |
| Minimum step size for substepping in Runge-Kutta elastoplastic integration. | |
| T | elastoplastic_runge_kutta_substepping_max_step_size = 1.0 |
| Maximum step size for substepping in Runge-Kutta elastoplastic integration. | |
| bool | elastoplastic_runge_kutta_substepping_check_min_step_size = true |
| Whether to check the minimum step size for substepping in Runge-Kutta elastoplastic integration. | |
| T | elastoplastic_runge_kutta_substepping_adaptive_ratio = 0.9 |
| Ratio for adaptive step size control in Runge-Kutta elastoplastic integration. | |
| T | elastoplastic_runge_kutta_substepping_adaptive_max_ratio = 1.5 |
| Maximum step size ratio of adaptive step size control in Runge-Kutta elastoplastic integration. | |
| T | elastoplastic_runge_kutta_substepping_adaptive_min_ratio = 0.25 |
| Minimum step size ratio of adaptive step size control in Runge-Kutta elastoplastic integration. | |
| bool | update_npv = false |
| whether to update npv based on the coordination number and particle radius | |
| bool | update_fabric_coefs = false |
| whether to update fabric coefficients | |
| bool | best_fit_strain_averaging = false |
| use the best-fit hypothesis for strain averaging | |
| bool | increment_plastic_displacement = false |
| increment plastic displacement to the total displacement | |
| bool | use_isotropic_fabric_tensor_in_strain_averaging = false |
| Use isotropic fabric tensor in strain averaging. | |
| bool | use_isotropic_fabric_tensor_in_stress_localization = false |
| Use isotropic fabric tensor in stress localization. | |
| bool | ignore_fabric_anisotropy_for_isotropic_loading = false |
| ignore fabric anisotropy for isotropic loading | |
| bool | ignore_fabric_evolution_for_isotropic_loading = false |
| ignore fabric evolution for isotropic loading | |
| bool | ignore_distractions = true |
| ignore distractions in the calculation | |
| bool | check_stiffness_matrix_symmetry = false |
| check the symmetry of the stiffness matrix | |
| bool | multi_scale_return_mapping = false |
| solve the plastic problem with the multi-scale return mapping | |
| bool | mixed_load_check_convergence = true |
| check convergence of mixed load control with maximum iterations | |
| bool | mixed_load_check_strain_convergence = false |
| check strain convergence of the mixed load control algorithm | |
| bool | mixed_load_check_stress_convergence = true |
| check stress convergence of the mixed load control algorithm | |
| bool | mixed_load_check_absolute_convergence = true |
| check absolute tolerance for the mixed load | |
| T | mixed_load_absolute_tolerance = 1e-5 |
| absolute tolerance for the mixed load | |
| T | mixed_load_relative_tolerance = 1e-3 |
| relative tolerance for the mixed load | |
| int | mixed_load_max_iterations = 100 |
| maximum number of iterations for the mixed load control algorithm | |
| int | mixed_load_max_larger_steps = -1 |
| maximum number of larger steps for the mixed load control algorithm | |
| bool | mixed_load_constant_elastic_stiffness = true |
| Whether to use constant elastic stiffness within a mixed load iteration to improve convergence of state-dependent elastoplastic models. | |
| std::string | mixed_load_update_void_ratio_in = "after_convergence" |
| When to update the void ratio in the mixed load control algorithm. | |
| bool | mixed_load_stress_as_anisotropic_stress = false |
| Whether the stress-controlled load is given as anisotropic stress. | |
| T | friction_angle_weight_mises = 0.0 |
| Weight of Mises component in lode angle dependent friction angle. | |
| T | friction_angle_weight_tresca = 0.0 |
| Weight of Tresca component in lode angle dependent friction angle. | |
| T | friction_angle_weight_mohr_coulomb = 1.0 |
| Weight of Mohr-Coulomb component in lode angle dependent friction angle. | |
| T | friction_angle_weight_smp = 0.0 |
| Weight of SMP component in lode angle dependent friction angle. | |
| T | integration_loading_ratio = 1.0 |
| macro-micro integration loading ratio | |
| bool | integration_substepping_relative_to_increment = false |
| whether to use the macro-micro integration substepping relative to the increment of last step | |
| T | integration_substepping_max_ratio = -1.0 |
| maximum macro-micro integration substepping ratio | |
| T | integration_substepping_min_ratio = -1.0 |
| minimum macro-micro integration substepping ratio | |
| bool | integration_at_least_once = false |
| macro-micro integration must be ran at least once | |
| bool | integration_check_convergence = true |
| check convergence of integration with maximum iterations | |
| bool | integration_check_absolute_convergence = true |
| check absolute contact integration error | |
| bool | integration_tolerance_relative_stress = false |
| whether to use relative tolerance to the stress norm | |
| T | integration_absolute_tolerance = 1e-10 |
| absolute tolerance for the unbalanced force | |
| T | integration_relative_tolerance = 1e-3 |
| relative tolerance for the unbalanced force | |
| int | integration_max_iterations = 100 |
| maximum number of iterations for the integration algorithm | |
| bool | contact_check_convergence = true |
| Whether to check the convergence. | |
| T | contact_tolerance = 1e-10 |
| Contact tolerance. | |
| int | contact_max_iterations = 100 |
| Maximum number of iterations. | |
| bool | contact_substepping = false |
| Whether to use substepping strategy. | |
| bool | contact_substepping_separate_normal_shear_displacements = true |
| Whether to separate normal and shear displacement in contact substepping. | |
| T | contact_substepping_max_increment = -1.0 |
| Maximum force ratio increment. | |
| T | contact_min_normal_force = 1e-10 |
| minimum normal force | |
| bool | contact_associated_flow_rule = false |
| Whether to use associated flow rule for contact law. | |
| bool | contact_check_plastic_multiplier = true |
| Whether to check the sign of plastic multiplier. | |
| T | contact_plastic_method_multiplier = 1.0 |
| Multiplier for the contact plastic method. | |
| bool | contact_ensure_force_state_on_yield_surface = false |
| Whether to ensure the force state is on the yield surface. | |
| bool | contact_sanisand_constant_hardening_parameter = true |
| Whether to use constant hardening parameter h for the SANISAND contact law. | |
| bool | contact_sanisand_maintain_yield_surface = false |
| Whether to maintain the yield surface for the SANISAND contact law. | |
| bool | contact_simsand_use_plastic_displacement = true |
| Whether to use plastic displacement in OSIMSAND/SIMSAND contact laws. | |
| bool | contact_simsand_hardening_use_plastic_displacement = true |
| Whether to use plastic displacement in hardening rules of OSIMSAND/SIMSAND contact laws. | |
| bool | contact_save_stiffness = false |
| Whether to save contact stiffness in the state variables. | |
| T | contact_tensile_stiffness_ratio = 1.0 |
| Ratio of tensile stiffness to compressive stiffness. | |
| bool | contact_default_yield_function_derivative = false |
| whether to use the default yield function derivative for contact laws | |
| bool | contact_default_potential_function_derivative = false |
| whether to use the default potential function derivative for contact laws | |
| int | disp_steps = -1 |
| Print debug information every disp_steps steps. | |
| bool | verbose = false |
| Whether to print verbose information. | |
| bool | cache = true |
| Cache state variables. | |
| int | cache_precision = 15 |
| Cache state variables precision. | |
| bool | elastoplastic_cache_state_variables = true |
| Whether to cache state variables for elastoplastic models. | |
| bool | debug = false |
| debug flag | |
| int | run_steps = -1 |
| number of steps to run | |
| int | run_mixed_load_steps = -1 |
| number of mixed load steps to run | |
| int | run_contact_integration_steps = -1 |
| number of contact integration steps to run | |
| bool | elastic_stiffness_void_ratio_dependence = true |
| Whether to use the void ratio dependent elastic stiffness. | |
| bool | elastic_stiffness_void_ratio_dependence_initial = false |
| Whether to use the initial void ratio for void ratio dependent elastic stiffness. | |
| bool | elastic_stiffness_stress_dependence = true |
| Whether to use the stress dependent elastic stiffness. | |
| T | elastic_stiffness_stress_dependence_min_mean_stress_ratio = 0.0 |
| Minimum mean stress ratio for stress dependent elastic stiffness, below which the elastic stiffness does not depend on the stress. | |
| bool | elastic_stiffness_stress_dependence_use_anisotropic_mean_stress = false |
| Whether to consider anisotropic mean stress in stress dependent elastic stiffness. | |
| T | elastic_fabric_anisotropy_scale = 1.0 |
| Scale factor for fabric anisotropy in elastic stiffness. | |
| std::string | elastoplastic_density_effect_on_strength_dilatancy_type = "powerlaw" |
| The type of density effect on strength and dilatancy, either 'exponential' or 'powerlaw'. | |
| T | elastoplastic_yield_function_stress_dependent_kp_scale = -1.0 |
| Scale factor for the stress-dependent kp in the yield function. If negative, kp is a constant. | |
| T | elastoplastic_yield_function_min_critical_stress_ratio = -1.0 |
| Minimum critical stress ratio for elastoplastic models. Negative values are ignored. | |
| bool | elastoplastic_yield_function_fabric_anisotropy = true |
| Whether to consider fabric anisotropy in the yield function. | |
| bool | simsand_yield_function_use_plastic_strain = true |
| Whether to use plastic strain (or total strain) in the yield function for SIMSAND model. | |
| T | simsand_yield_function_additional_shear_strain = 0.0 |
| Additional shear strain to be added to the yield function for SIMSAND model to improve numerical stability when shear strain is close to zero. | |
| T | simsand_yield_function_shear_strain_scale = 1.0 |
| Scale factor for the shear strain for SIMSAND model. | |
| bool | j2yang_yield_function_epsr_relative_to_kp = false |
| Whether to use the epsr relative to kp in the yield function for J2Yang model. | |
| std::string | j2yang_yield_function_softening_type = "exponential" |
| Type of softening behavior in the yield function for J2Yang model, 'exponential', 'hyperbolic' or 'hyperbolic-modified'. | |
| T | j2yang_yield_function_softening_alpha = 1.0 |
| Parameter alpha to control the softening behavior in the yield function for J2Yang model. | |
| T | j2yang_yield_function_softening_beta = 1.0 |
| Parameter beta to control the softening behavior in the yield function for J2Yang model. | |
| bool | j2yang_yield_function_softening_relative_to_CSR = false |
| Whether softening behavior depends on critical stress ratio in the yield function for J2Yang model. | |
| bool | elastoplastic_dilatancy_separate_friction_angle = false |
| Whether to use a separate friction angle for the stress-dilatancy relationship. | |
| T | elastoplastic_dilatancy_exponent = 1.0 |
| Exponent for the stress-dilatancy relationship when using a power-law type relationship. | |
| T | elastoplastic_dilatancy_scale_at_low_mean_stress = 0.0 |
| Low mean stress threshold to scale the dilatancy function. | |
| bool | elastoplastic_use_anisotropic_state_parameter = false |
| Whether to use the anisotropic state parameter in the stress-dilatancy relationship. | |
Options for constitutive models.
|
inline |
Check the substepping options for plastic correction.
|
inline |
Check whether the friction angle is lode angle dependent.
|
inline |
Use Mises criterion.
|
inline |
Use Mises-SMP criterion.
|
inline |
Use Mohr-Coulomb criterion.
|
inline |
Use SMP criterion.
|
inline |
Use Tresca criterion.
|
inline |
Use Tresca-Mohr-Coulomb criterion.
|
inline |
Set the model to the modified model.
|
inline |
Set the model to the original model.
| bool constitutive::Options< T >::best_fit_strain_averaging = false |
use the best-fit hypothesis for strain averaging
| bool constitutive::Options< T >::cache = true |
Cache state variables.
| int constitutive::Options< T >::cache_precision = 15 |
Cache state variables precision.
| bool constitutive::Options< T >::check_stiffness_matrix_symmetry = false |
check the symmetry of the stiffness matrix
| bool constitutive::Options< T >::contact_associated_flow_rule = false |
Whether to use associated flow rule for contact law.
| bool constitutive::Options< T >::contact_check_convergence = true |
Whether to check the convergence.
| bool constitutive::Options< T >::contact_check_plastic_multiplier = true |
Whether to check the sign of plastic multiplier.
| bool constitutive::Options< T >::contact_default_potential_function_derivative = false |
whether to use the default potential function derivative for contact laws
| bool constitutive::Options< T >::contact_default_yield_function_derivative = false |
whether to use the default yield function derivative for contact laws
| bool constitutive::Options< T >::contact_ensure_force_state_on_yield_surface = false |
Whether to ensure the force state is on the yield surface.
| int constitutive::Options< T >::contact_max_iterations = 100 |
Maximum number of iterations.
| T constitutive::Options< T >::contact_min_normal_force = 1e-10 |
minimum normal force
| T constitutive::Options< T >::contact_plastic_method_multiplier = 1.0 |
Multiplier for the contact plastic method.
| bool constitutive::Options< T >::contact_sanisand_constant_hardening_parameter = true |
Whether to use constant hardening parameter h for the SANISAND contact law.
| bool constitutive::Options< T >::contact_sanisand_maintain_yield_surface = false |
Whether to maintain the yield surface for the SANISAND contact law.
| bool constitutive::Options< T >::contact_save_stiffness = false |
Whether to save contact stiffness in the state variables.
| bool constitutive::Options< T >::contact_simsand_hardening_use_plastic_displacement = true |
Whether to use plastic displacement in hardening rules of OSIMSAND/SIMSAND contact laws.
| bool constitutive::Options< T >::contact_simsand_use_plastic_displacement = true |
Whether to use plastic displacement in OSIMSAND/SIMSAND contact laws.
| bool constitutive::Options< T >::contact_substepping = false |
Whether to use substepping strategy.
| T constitutive::Options< T >::contact_substepping_max_increment = -1.0 |
Maximum force ratio increment.
| bool constitutive::Options< T >::contact_substepping_separate_normal_shear_displacements = true |
Whether to separate normal and shear displacement in contact substepping.
| T constitutive::Options< T >::contact_tensile_stiffness_ratio = 1.0 |
Ratio of tensile stiffness to compressive stiffness.
| T constitutive::Options< T >::contact_tolerance = 1e-10 |
Contact tolerance.
| bool constitutive::Options< T >::debug = false |
debug flag
| int constitutive::Options< T >::disp_steps = -1 |
Print debug information every disp_steps steps.
| T constitutive::Options< T >::elastic_fabric_anisotropy_scale = 1.0 |
Scale factor for fabric anisotropy in elastic stiffness.
| bool constitutive::Options< T >::elastic_stiffness_stress_dependence = true |
Whether to use the stress dependent elastic stiffness.
| T constitutive::Options< T >::elastic_stiffness_stress_dependence_min_mean_stress_ratio = 0.0 |
Minimum mean stress ratio for stress dependent elastic stiffness, below which the elastic stiffness does not depend on the stress.
| bool constitutive::Options< T >::elastic_stiffness_stress_dependence_use_anisotropic_mean_stress = false |
Whether to consider anisotropic mean stress in stress dependent elastic stiffness.
| bool constitutive::Options< T >::elastic_stiffness_void_ratio_dependence = true |
Whether to use the void ratio dependent elastic stiffness.
| bool constitutive::Options< T >::elastic_stiffness_void_ratio_dependence_initial = false |
Whether to use the initial void ratio for void ratio dependent elastic stiffness.
| bool constitutive::Options< T >::elastoplastic_associated_flow_rule = false |
whether to use associated flow rule for plastic correction
| bool constitutive::Options< T >::elastoplastic_cache_state_variables = true |
Whether to cache state variables for elastoplastic models.
| bool constitutive::Options< T >::elastoplastic_check_convergence = true |
whether to check the converge for plastic correction
| bool constitutive::Options< T >::elastoplastic_check_stiffness_matrix_non_singularity = false |
Whether to check the non-singularity of the elastoplastic stiffness matrix.
| bool constitutive::Options< T >::elastoplastic_check_stiffness_matrix_positive_definite = false |
Whether to check the positive definiteness of the elastoplastic stiffness matrix.
| std::string constitutive::Options< T >::elastoplastic_combined_stress_tensor_dilatancy_type = "anisotropic" |
Type of the combined stress tensor in dilatancy for elastoplastic models, "anisotropic", "isotropic", "linear", "quadratic", "exponential", or "potential".
| T constitutive::Options< T >::elastoplastic_combined_stress_tensor_evolution_ratio = 1.0 |
Ratio for the evolution of the combined stress tensor in elastoplastic models.
| T constitutive::Options< T >::elastoplastic_combined_stress_tensor_fav_ratio = 1.0 |
Ratio for the fabric anisotropy variable in the combined stress tensor for elastoplastic models.
| T constitutive::Options< T >::elastoplastic_combined_stress_tensor_scale = 1.0 |
Scale for effect of fabric anisotropy in the combined stress tensor for elastoplastic models.
| std::string constitutive::Options< T >::elastoplastic_combined_stress_tensor_type = "anisotropic" |
Type of the combined stress tensor for elastoplastic models, "anisotropic", "isotropic", "linear", "quadratic", "exponential", or "potential".
| std::string constitutive::Options< T >::elastoplastic_critical_state_line_shape = "logarithmic" |
Shape of critical state line, linear, logarithmic or exponential.
| bool constitutive::Options< T >::elastoplastic_critical_state_line_use_anisotropic_mean_stress = false |
Whether to consider anisotropic mean stress in critical state line.
| bool constitutive::Options< T >::elastoplastic_critical_state_line_use_initial_stress_state = false |
Whether to use the initial stress state to calculate critical state line.
| std::string constitutive::Options< T >::elastoplastic_critical_stress_ratio_type = "mohr-coulomb" |
Method to calculate critical stress ratio, mohr-coulomb, gtheta_li2002, gtheta_sheng2000, or gtheta_argyris1974.
| bool constitutive::Options< T >::elastoplastic_critical_stress_ratio_use_anisotropic_stress = true |
Whether to use the anisotropic stress tensor to calculate critical stress ratio.
| bool constitutive::Options< T >::elastoplastic_critical_stress_ratio_use_initial_stress_state = false |
Whether to use the initial stress state to calculate critical stress ratio.
| bool constitutive::Options< T >::elastoplastic_default_potential_function_derivative = false |
whether to use the default potential function derivative for elastoplastic models
| bool constitutive::Options< T >::elastoplastic_default_yield_function_derivative = false |
whether to use the default yield function derivative for elastoplastic models
| std::string constitutive::Options< T >::elastoplastic_density_effect_on_strength_dilatancy_type = "powerlaw" |
The type of density effect on strength and dilatancy, either 'exponential' or 'powerlaw'.
| T constitutive::Options< T >::elastoplastic_dilatancy_exponent = 1.0 |
Exponent for the stress-dilatancy relationship when using a power-law type relationship.
| T constitutive::Options< T >::elastoplastic_dilatancy_scale_at_low_mean_stress = 0.0 |
Low mean stress threshold to scale the dilatancy function.
| bool constitutive::Options< T >::elastoplastic_dilatancy_separate_friction_angle = false |
Whether to use a separate friction angle for the stress-dilatancy relationship.
| bool constitutive::Options< T >::elastoplastic_ensure_stress_on_yield_surface = false |
Whether to ensure the stress state is on the yield surface.
| T constitutive::Options< T >::elastoplastic_fabric_anisotropy_variable_nonproportionality_noncoaxial = 0.0 |
Weight of the non-coaxial component of the non-proportionality in the fabric anisotropy variable.
| T constitutive::Options< T >::elastoplastic_fabric_anisotropy_variable_nonproportionality_orthogonal = 0.0 |
Weight of the orthogonal component of the non-proportionality in the fabric anisotropy variable.
| bool constitutive::Options< T >::elastoplastic_finite_difference_central = false |
Whether to use central finite difference for numerical derivatives in elastoplastic models.
| T constitutive::Options< T >::elastoplastic_finite_difference_increment = 1e-4 |
finite difference increment for numerical derivatives in elastoplastic models
| T constitutive::Options< T >::elastoplastic_flow_rule_tolerance = 1e-7 |
tolerance of flow rule for plastic correction, only valid for CPPM method
| int constitutive::Options< T >::elastoplastic_max_iterations = 100 |
maximum number of iterations for plastic correction
| T constitutive::Options< T >::elastoplastic_min_principal_stress = -1.0 |
Minimum principal stress for elastoplastic models, negative value means no limit.
| bool constitutive::Options< T >::elastoplastic_potential_function_half_shear_derivatives = false |
Whether to use half derivatives of shear components for plastic potential function.
| bool constitutive::Options< T >::elastoplastic_runge_kutta_correction_substep = false |
Whether to perform yield function corrections at each substep of the Runge-Kutta method.
| bool constitutive::Options< T >::elastoplastic_runge_kutta_diverged_steps_raise = true |
Whether to raise an error when a Runge-Kutta step is detected as diverged.
| std::string constitutive::Options< T >::elastoplastic_runge_kutta_fourth_order_type = "classic" |
Type of the fourth-order Runge-Kutta method for elastoplastic integration, "classic", "3/8-rule", or "ralston".
| int constitutive::Options< T >::elastoplastic_runge_kutta_integrate_stress_on_yield_surface_max_iterations = 100 |
Maximum number of iterations to integrate stress from elastic to the yield surface for Runge-Kutta method.
| std::string constitutive::Options< T >::elastoplastic_runge_kutta_integrate_stress_on_yield_surface_method = "bisection" |
Method to integrate stress from elastic to the yield surface for Runge-Kutta method, "bisection", "newton" or "none".
| T constitutive::Options< T >::elastoplastic_runge_kutta_integrate_stress_on_yield_surface_tolerance = 1e-10 |
Tolerance to integrate stress from elastic to the yield surface for Runge-Kutta method.
| int constitutive::Options< T >::elastoplastic_runge_kutta_max_const_steps = -1 |
Maximum number of constant step size substeps for the Runge-Kutta method, non-positive value means no limit.
| int constitutive::Options< T >::elastoplastic_runge_kutta_order = 2 |
Order of the Runge-Kutta method for elastoplastic integration, 1, 2, 3, or 4.
| T constitutive::Options< T >::elastoplastic_runge_kutta_second_order_alpha = 2.0 / 3.0 |
Parameter alpha for the second-order Runge-Kutta method in elastoplastic integration.
| std::string constitutive::Options< T >::elastoplastic_runge_kutta_stiffness_type = "weighted" |
Type of the elastoplastic stiffness matrix for Runge-Kutta method, "elastic", "elastoplastic", "elastoplastic_end", or "weighted".
| T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_adaptive_max_ratio = 1.5 |
Maximum step size ratio of adaptive step size control in Runge-Kutta elastoplastic integration.
| T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_adaptive_min_ratio = 0.25 |
Minimum step size ratio of adaptive step size control in Runge-Kutta elastoplastic integration.
| T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_adaptive_ratio = 0.9 |
Ratio for adaptive step size control in Runge-Kutta elastoplastic integration.
| bool constitutive::Options< T >::elastoplastic_runge_kutta_substepping_check_min_step_size = true |
Whether to check the minimum step size for substepping in Runge-Kutta elastoplastic integration.
| T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_initial_step_size = 1.0 |
Initial step size for substepping in Runge-Kutta elastoplastic integration.
| int constitutive::Options< T >::elastoplastic_runge_kutta_substepping_max_iterations = 100000 |
Maximum number of iterations for substepping in Runge-Kutta elastoplastic integration.
| T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_max_step_size = 1.0 |
Maximum step size for substepping in Runge-Kutta elastoplastic integration.
| T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_min_step_size = 1e-5 |
Minimum step size for substepping in Runge-Kutta elastoplastic integration.
| T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_tolerance = -1 |
Tolerance for substepping in Runge-Kutta elastoplastic integration, negative value means no substepping.
| T constitutive::Options< T >::elastoplastic_runge_kutta_third_order_alpha = 0.5 |
Parameter alpha for the third-order Runge-Kutta method in elastoplastic integration.
| T constitutive::Options< T >::elastoplastic_runge_kutta_third_order_beta = 0.75 |
Parameter beta for the third-order Runge-Kutta method in elastoplastic integration.
| bool constitutive::Options< T >::elastoplastic_substepping_check_min_step_size = true |
Whether to check the minimum step size for substepping in plastic correction.
| T constitutive::Options< T >::elastoplastic_substepping_initial_step_size = 1.0 |
Initial step size for substepping in plastic correction.
| int constitutive::Options< T >::elastoplastic_substepping_max_iterations = 100000 |
Maximum number of iterations for substepping in plastic correction.
| T constitutive::Options< T >::elastoplastic_substepping_max_plastic_strain = -1.0 |
Maximum plastic strain for substepping in plastic correction, negative value means no substepping.
| T constitutive::Options< T >::elastoplastic_substepping_max_step_size = 1.0 |
Maximum step size for substepping in plastic correction.
| T constitutive::Options< T >::elastoplastic_substepping_min_step_size = 1e-5 |
Minimum step size for substepping in plastic correction.
| T constitutive::Options< T >::elastoplastic_substepping_step_size_decrease_ratio = 0.5 |
Step size decrease ratio for substepping in plastic correction when the plastic multiplier exceeds the maximum allowed value.
| T constitutive::Options< T >::elastoplastic_substepping_step_size_increase_ratio = 2.0 |
Step size increase ratio for substepping in plastic correction when the plastic multiplier is less than half of the maximum allowed value.
| T constitutive::Options< T >::elastoplastic_tolerance = 1e-7 |
tolerance of yield function for plastic correction
| bool constitutive::Options< T >::elastoplastic_update_critical_void_ratio_when_required = false |
Whether to update the critical void ratio when required.
| bool constitutive::Options< T >::elastoplastic_use_anisotropic_state_parameter = false |
Whether to use the anisotropic state parameter in the stress-dilatancy relationship.
| bool constitutive::Options< T >::elastoplastic_yield_function_anisotropic_cohesion = false |
Whether the cohesion is anisotropic.
| T constitutive::Options< T >::elastoplastic_yield_function_correction_adaptive_ratio = -1.0 |
Ratio for adaptive plastic correction, negative values are ignored.
| std::string constitutive::Options< T >::elastoplastic_yield_function_correction_direction = "plastic_flow" |
Direction for yield function correction, "plastic_flow" for the plastic flow direction or "yield_normal" for the normal direction of the yield surface.
| bool constitutive::Options< T >::elastoplastic_yield_function_correction_diverged_steps_raise = true |
Whether to raise an error when the plastic correction is detected as diverged.
| int constitutive::Options< T >::elastoplastic_yield_function_correction_max_const_steps = -1 |
Maximum number of constant step size substeps for the plastic correction, non-positive value means no limit.
| bool constitutive::Options< T >::elastoplastic_yield_function_derivative_strain = true |
whether to consider the strain contribution to the yield function derivative for elastoplastic models
| bool constitutive::Options< T >::elastoplastic_yield_function_fabric_anisotropy = true |
Whether to consider fabric anisotropy in the yield function.
| T constitutive::Options< T >::elastoplastic_yield_function_min_critical_stress_ratio = -1.0 |
Minimum critical stress ratio for elastoplastic models. Negative values are ignored.
| T constitutive::Options< T >::elastoplastic_yield_function_stress_dependent_kp_scale = -1.0 |
Scale factor for the stress-dependent kp in the yield function. If negative, kp is a constant.
| T constitutive::Options< T >::friction_angle_weight_mises = 0.0 |
Weight of Mises component in lode angle dependent friction angle.
| T constitutive::Options< T >::friction_angle_weight_mohr_coulomb = 1.0 |
Weight of Mohr-Coulomb component in lode angle dependent friction angle.
| T constitutive::Options< T >::friction_angle_weight_smp = 0.0 |
Weight of SMP component in lode angle dependent friction angle.
| T constitutive::Options< T >::friction_angle_weight_tresca = 0.0 |
Weight of Tresca component in lode angle dependent friction angle.
| bool constitutive::Options< T >::ignore_distractions = true |
ignore distractions in the calculation
| bool constitutive::Options< T >::ignore_fabric_anisotropy_for_isotropic_loading = false |
ignore fabric anisotropy for isotropic loading
| bool constitutive::Options< T >::ignore_fabric_evolution_for_isotropic_loading = false |
ignore fabric evolution for isotropic loading
| bool constitutive::Options< T >::increment_plastic_displacement = false |
increment plastic displacement to the total displacement
| T constitutive::Options< T >::integration_absolute_tolerance = 1e-10 |
absolute tolerance for the unbalanced force
| bool constitutive::Options< T >::integration_at_least_once = false |
macro-micro integration must be ran at least once
| bool constitutive::Options< T >::integration_check_absolute_convergence = true |
check absolute contact integration error
| bool constitutive::Options< T >::integration_check_convergence = true |
check convergence of integration with maximum iterations
| T constitutive::Options< T >::integration_loading_ratio = 1.0 |
macro-micro integration loading ratio
| int constitutive::Options< T >::integration_max_iterations = 100 |
maximum number of iterations for the integration algorithm
| T constitutive::Options< T >::integration_relative_tolerance = 1e-3 |
relative tolerance for the unbalanced force
| T constitutive::Options< T >::integration_substepping_max_ratio = -1.0 |
maximum macro-micro integration substepping ratio
| T constitutive::Options< T >::integration_substepping_min_ratio = -1.0 |
minimum macro-micro integration substepping ratio
| bool constitutive::Options< T >::integration_substepping_relative_to_increment = false |
whether to use the macro-micro integration substepping relative to the increment of last step
| bool constitutive::Options< T >::integration_tolerance_relative_stress = false |
whether to use relative tolerance to the stress norm
| bool constitutive::Options< T >::j2yang_yield_function_epsr_relative_to_kp = false |
Whether to use the epsr relative to kp in the yield function for J2Yang model.
| T constitutive::Options< T >::j2yang_yield_function_softening_alpha = 1.0 |
Parameter alpha to control the softening behavior in the yield function for J2Yang model.
| T constitutive::Options< T >::j2yang_yield_function_softening_beta = 1.0 |
Parameter beta to control the softening behavior in the yield function for J2Yang model.
| bool constitutive::Options< T >::j2yang_yield_function_softening_relative_to_CSR = false |
Whether softening behavior depends on critical stress ratio in the yield function for J2Yang model.
| std::string constitutive::Options< T >::j2yang_yield_function_softening_type = "exponential" |
Type of softening behavior in the yield function for J2Yang model, 'exponential', 'hyperbolic' or 'hyperbolic-modified'.
| bool constitutive::Options< T >::kinematic_hypothesis = false |
use the kinematic hypothesis
| T constitutive::Options< T >::loading_direction_scale = 1.0 |
Scale for the loading direction.
| std::string constitutive::Options< T >::loading_direction_type = "depsd" |
Type of loading direction, isotropic, depsd, depspd, s, sa, or custom.
| T constitutive::Options< T >::mixed_load_absolute_tolerance = 1e-5 |
absolute tolerance for the mixed load
| bool constitutive::Options< T >::mixed_load_check_absolute_convergence = true |
check absolute tolerance for the mixed load
| bool constitutive::Options< T >::mixed_load_check_convergence = true |
check convergence of mixed load control with maximum iterations
| bool constitutive::Options< T >::mixed_load_check_strain_convergence = false |
check strain convergence of the mixed load control algorithm
| bool constitutive::Options< T >::mixed_load_check_stress_convergence = true |
check stress convergence of the mixed load control algorithm
| bool constitutive::Options< T >::mixed_load_constant_elastic_stiffness = true |
Whether to use constant elastic stiffness within a mixed load iteration to improve convergence of state-dependent elastoplastic models.
| int constitutive::Options< T >::mixed_load_max_iterations = 100 |
maximum number of iterations for the mixed load control algorithm
| int constitutive::Options< T >::mixed_load_max_larger_steps = -1 |
maximum number of larger steps for the mixed load control algorithm
| T constitutive::Options< T >::mixed_load_relative_tolerance = 1e-3 |
relative tolerance for the mixed load
| bool constitutive::Options< T >::mixed_load_stress_as_anisotropic_stress = false |
Whether the stress-controlled load is given as anisotropic stress.
| std::string constitutive::Options< T >::mixed_load_update_void_ratio_in = "after_convergence" |
When to update the void ratio in the mixed load control algorithm.
| bool constitutive::Options< T >::multi_scale_return_mapping = false |
solve the plastic problem with the multi-scale return mapping
| int constitutive::Options< T >::run_contact_integration_steps = -1 |
number of contact integration steps to run
| int constitutive::Options< T >::run_mixed_load_steps = -1 |
number of mixed load steps to run
| int constitutive::Options< T >::run_steps = -1 |
number of steps to run
| bool constitutive::Options< T >::save_elastic_stiffness_matrix = false |
whether to save the elastic stiffness matrix
| T constitutive::Options< T >::simsand_yield_function_additional_shear_strain = 0.0 |
Additional shear strain to be added to the yield function for SIMSAND model to improve numerical stability when shear strain is close to zero.
| T constitutive::Options< T >::simsand_yield_function_shear_strain_scale = 1.0 |
Scale factor for the shear strain for SIMSAND model.
| bool constitutive::Options< T >::simsand_yield_function_use_plastic_strain = true |
Whether to use plastic strain (or total strain) in the yield function for SIMSAND model.
| bool constitutive::Options< T >::update_fabric_coefs = false |
whether to update fabric coefficients
| bool constitutive::Options< T >::update_npv = false |
whether to update npv based on the coordination number and particle radius
| bool constitutive::Options< T >::update_void_ratio_from_after_isotropic_loading_to_before = false |
whether to update the void ratio after the isotropic loading to the void ratio before the isotropic loading
| bool constitutive::Options< T >::use_isotropic_fabric_tensor_in_strain_averaging = false |
Use isotropic fabric tensor in strain averaging.
| bool constitutive::Options< T >::use_isotropic_fabric_tensor_in_stress_localization = false |
Use isotropic fabric tensor in stress localization.
| bool constitutive::Options< T >::use_plastic_strain_in_fabric_evolution = false |
Use plastic strain in fabric evolution.
| bool constitutive::Options< T >::verbose = false |
Whether to print verbose information.