musica (C++)
Loading...
Searching...
No Matches
constitutive::Options< T > Struct Template Reference

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.

Detailed Description

template<typename T>
struct constitutive::Options< T >

Options for constitutive models.

Member Function Documentation

◆ checkSubsteppingOptions()

template<typename T>
void constitutive::Options< T >::checkSubsteppingOptions ( ) const
inline

Check the substepping options for plastic correction.

◆ isFrictionAngleLodeDependent()

template<typename T>
bool constitutive::Options< T >::isFrictionAngleLodeDependent ( ) const
inline

Check whether the friction angle is lode angle dependent.

◆ setMises()

template<typename T>
void constitutive::Options< T >::setMises ( )
inline

Use Mises criterion.

◆ setMisesSMP()

template<typename T>
void constitutive::Options< T >::setMisesSMP ( T weight_mises = 0.5,
T weight_smp = 0.5 )
inline

Use Mises-SMP criterion.

◆ setMohrCoulomb()

template<typename T>
void constitutive::Options< T >::setMohrCoulomb ( )
inline

Use Mohr-Coulomb criterion.

◆ setSMP()

template<typename T>
void constitutive::Options< T >::setSMP ( )
inline

Use SMP criterion.

◆ setTresca()

template<typename T>
void constitutive::Options< T >::setTresca ( )
inline

Use Tresca criterion.

◆ setTrescaMohrCoulomb()

template<typename T>
void constitutive::Options< T >::setTrescaMohrCoulomb ( T weight_tresca = 0.5,
T weight_mohr_coulomb = 0.5 )
inline

Use Tresca-Mohr-Coulomb criterion.

◆ setupModifiedModel()

template<typename T>
void constitutive::Options< T >::setupModifiedModel ( )
inline

Set the model to the modified model.

◆ setupOriginalModel()

template<typename T>
void constitutive::Options< T >::setupOriginalModel ( )
inline

Set the model to the original model.

Member Data Documentation

◆ best_fit_strain_averaging

template<typename T>
bool constitutive::Options< T >::best_fit_strain_averaging = false

use the best-fit hypothesis for strain averaging

◆ cache

template<typename T>
bool constitutive::Options< T >::cache = true

Cache state variables.

◆ cache_precision

template<typename T>
int constitutive::Options< T >::cache_precision = 15

Cache state variables precision.

◆ check_stiffness_matrix_symmetry

template<typename T>
bool constitutive::Options< T >::check_stiffness_matrix_symmetry = false

check the symmetry of the stiffness matrix

◆ contact_associated_flow_rule

template<typename T>
bool constitutive::Options< T >::contact_associated_flow_rule = false

Whether to use associated flow rule for contact law.

◆ contact_check_convergence

template<typename T>
bool constitutive::Options< T >::contact_check_convergence = true

Whether to check the convergence.

◆ contact_check_plastic_multiplier

template<typename T>
bool constitutive::Options< T >::contact_check_plastic_multiplier = true

Whether to check the sign of plastic multiplier.

◆ contact_default_potential_function_derivative

template<typename T>
bool constitutive::Options< T >::contact_default_potential_function_derivative = false

whether to use the default potential function derivative for contact laws

◆ contact_default_yield_function_derivative

template<typename T>
bool constitutive::Options< T >::contact_default_yield_function_derivative = false

whether to use the default yield function derivative for contact laws

◆ contact_ensure_force_state_on_yield_surface

template<typename T>
bool constitutive::Options< T >::contact_ensure_force_state_on_yield_surface = false

Whether to ensure the force state is on the yield surface.

◆ contact_max_iterations

template<typename T>
int constitutive::Options< T >::contact_max_iterations = 100

Maximum number of iterations.

◆ contact_min_normal_force

template<typename T>
T constitutive::Options< T >::contact_min_normal_force = 1e-10

minimum normal force

◆ contact_plastic_method_multiplier

template<typename T>
T constitutive::Options< T >::contact_plastic_method_multiplier = 1.0

Multiplier for the contact plastic method.

◆ contact_sanisand_constant_hardening_parameter

template<typename T>
bool constitutive::Options< T >::contact_sanisand_constant_hardening_parameter = true

Whether to use constant hardening parameter h for the SANISAND contact law.

◆ contact_sanisand_maintain_yield_surface

template<typename T>
bool constitutive::Options< T >::contact_sanisand_maintain_yield_surface = false

Whether to maintain the yield surface for the SANISAND contact law.

◆ contact_save_stiffness

template<typename T>
bool constitutive::Options< T >::contact_save_stiffness = false

Whether to save contact stiffness in the state variables.

◆ contact_simsand_hardening_use_plastic_displacement

template<typename T>
bool constitutive::Options< T >::contact_simsand_hardening_use_plastic_displacement = true

Whether to use plastic displacement in hardening rules of OSIMSAND/SIMSAND contact laws.

◆ contact_simsand_use_plastic_displacement

template<typename T>
bool constitutive::Options< T >::contact_simsand_use_plastic_displacement = true

Whether to use plastic displacement in OSIMSAND/SIMSAND contact laws.

◆ contact_substepping

template<typename T>
bool constitutive::Options< T >::contact_substepping = false

Whether to use substepping strategy.

◆ contact_substepping_max_increment

template<typename T>
T constitutive::Options< T >::contact_substepping_max_increment = -1.0

Maximum force ratio increment.

◆ contact_substepping_separate_normal_shear_displacements

template<typename T>
bool constitutive::Options< T >::contact_substepping_separate_normal_shear_displacements = true

Whether to separate normal and shear displacement in contact substepping.

◆ contact_tensile_stiffness_ratio

template<typename T>
T constitutive::Options< T >::contact_tensile_stiffness_ratio = 1.0

Ratio of tensile stiffness to compressive stiffness.

◆ contact_tolerance

template<typename T>
T constitutive::Options< T >::contact_tolerance = 1e-10

Contact tolerance.

◆ debug

template<typename T>
bool constitutive::Options< T >::debug = false

debug flag

◆ disp_steps

template<typename T>
int constitutive::Options< T >::disp_steps = -1

Print debug information every disp_steps steps.

◆ elastic_fabric_anisotropy_scale

template<typename T>
T constitutive::Options< T >::elastic_fabric_anisotropy_scale = 1.0

Scale factor for fabric anisotropy in elastic stiffness.

◆ elastic_stiffness_stress_dependence

template<typename T>
bool constitutive::Options< T >::elastic_stiffness_stress_dependence = true

Whether to use the stress dependent elastic stiffness.

◆ elastic_stiffness_stress_dependence_min_mean_stress_ratio

template<typename T>
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.

◆ elastic_stiffness_stress_dependence_use_anisotropic_mean_stress

template<typename T>
bool constitutive::Options< T >::elastic_stiffness_stress_dependence_use_anisotropic_mean_stress = false

Whether to consider anisotropic mean stress in stress dependent elastic stiffness.

◆ elastic_stiffness_void_ratio_dependence

template<typename T>
bool constitutive::Options< T >::elastic_stiffness_void_ratio_dependence = true

Whether to use the void ratio dependent elastic stiffness.

◆ elastic_stiffness_void_ratio_dependence_initial

template<typename T>
bool constitutive::Options< T >::elastic_stiffness_void_ratio_dependence_initial = false

Whether to use the initial void ratio for void ratio dependent elastic stiffness.

◆ elastoplastic_associated_flow_rule

template<typename T>
bool constitutive::Options< T >::elastoplastic_associated_flow_rule = false

whether to use associated flow rule for plastic correction

◆ elastoplastic_cache_state_variables

template<typename T>
bool constitutive::Options< T >::elastoplastic_cache_state_variables = true

Whether to cache state variables for elastoplastic models.

◆ elastoplastic_check_convergence

template<typename T>
bool constitutive::Options< T >::elastoplastic_check_convergence = true

whether to check the converge for plastic correction

◆ elastoplastic_check_stiffness_matrix_non_singularity

template<typename T>
bool constitutive::Options< T >::elastoplastic_check_stiffness_matrix_non_singularity = false

Whether to check the non-singularity of the elastoplastic stiffness matrix.

◆ elastoplastic_check_stiffness_matrix_positive_definite

template<typename T>
bool constitutive::Options< T >::elastoplastic_check_stiffness_matrix_positive_definite = false

Whether to check the positive definiteness of the elastoplastic stiffness matrix.

◆ elastoplastic_combined_stress_tensor_dilatancy_type

template<typename T>
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".

◆ elastoplastic_combined_stress_tensor_evolution_ratio

template<typename T>
T constitutive::Options< T >::elastoplastic_combined_stress_tensor_evolution_ratio = 1.0

Ratio for the evolution of the combined stress tensor in elastoplastic models.

◆ elastoplastic_combined_stress_tensor_fav_ratio

template<typename T>
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.

◆ elastoplastic_combined_stress_tensor_scale

template<typename T>
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.

◆ elastoplastic_combined_stress_tensor_type

template<typename T>
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".

◆ elastoplastic_critical_state_line_shape

template<typename T>
std::string constitutive::Options< T >::elastoplastic_critical_state_line_shape = "logarithmic"

Shape of critical state line, linear, logarithmic or exponential.

◆ elastoplastic_critical_state_line_use_anisotropic_mean_stress

template<typename T>
bool constitutive::Options< T >::elastoplastic_critical_state_line_use_anisotropic_mean_stress = false

Whether to consider anisotropic mean stress in critical state line.

◆ elastoplastic_critical_state_line_use_initial_stress_state

template<typename T>
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.

◆ elastoplastic_critical_stress_ratio_type

template<typename T>
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.

◆ elastoplastic_critical_stress_ratio_use_anisotropic_stress

template<typename T>
bool constitutive::Options< T >::elastoplastic_critical_stress_ratio_use_anisotropic_stress = true

Whether to use the anisotropic stress tensor to calculate critical stress ratio.

◆ elastoplastic_critical_stress_ratio_use_initial_stress_state

template<typename T>
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.

◆ elastoplastic_default_potential_function_derivative

template<typename T>
bool constitutive::Options< T >::elastoplastic_default_potential_function_derivative = false

whether to use the default potential function derivative for elastoplastic models

◆ elastoplastic_default_yield_function_derivative

template<typename T>
bool constitutive::Options< T >::elastoplastic_default_yield_function_derivative = false

whether to use the default yield function derivative for elastoplastic models

◆ elastoplastic_density_effect_on_strength_dilatancy_type

template<typename T>
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'.

◆ elastoplastic_dilatancy_exponent

template<typename T>
T constitutive::Options< T >::elastoplastic_dilatancy_exponent = 1.0

Exponent for the stress-dilatancy relationship when using a power-law type relationship.

◆ elastoplastic_dilatancy_scale_at_low_mean_stress

template<typename T>
T constitutive::Options< T >::elastoplastic_dilatancy_scale_at_low_mean_stress = 0.0

Low mean stress threshold to scale the dilatancy function.

◆ elastoplastic_dilatancy_separate_friction_angle

template<typename T>
bool constitutive::Options< T >::elastoplastic_dilatancy_separate_friction_angle = false

Whether to use a separate friction angle for the stress-dilatancy relationship.

◆ elastoplastic_ensure_stress_on_yield_surface

template<typename T>
bool constitutive::Options< T >::elastoplastic_ensure_stress_on_yield_surface = false

Whether to ensure the stress state is on the yield surface.

◆ elastoplastic_fabric_anisotropy_variable_nonproportionality_noncoaxial

template<typename T>
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.

◆ elastoplastic_fabric_anisotropy_variable_nonproportionality_orthogonal

template<typename T>
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.

◆ elastoplastic_finite_difference_central

template<typename T>
bool constitutive::Options< T >::elastoplastic_finite_difference_central = false

Whether to use central finite difference for numerical derivatives in elastoplastic models.

◆ elastoplastic_finite_difference_increment

template<typename T>
T constitutive::Options< T >::elastoplastic_finite_difference_increment = 1e-4

finite difference increment for numerical derivatives in elastoplastic models

◆ elastoplastic_flow_rule_tolerance

template<typename T>
T constitutive::Options< T >::elastoplastic_flow_rule_tolerance = 1e-7

tolerance of flow rule for plastic correction, only valid for CPPM method

◆ elastoplastic_max_iterations

template<typename T>
int constitutive::Options< T >::elastoplastic_max_iterations = 100

maximum number of iterations for plastic correction

◆ elastoplastic_min_principal_stress

template<typename T>
T constitutive::Options< T >::elastoplastic_min_principal_stress = -1.0

Minimum principal stress for elastoplastic models, negative value means no limit.

◆ elastoplastic_potential_function_half_shear_derivatives

template<typename T>
bool constitutive::Options< T >::elastoplastic_potential_function_half_shear_derivatives = false

Whether to use half derivatives of shear components for plastic potential function.

◆ elastoplastic_runge_kutta_correction_substep

template<typename T>
bool constitutive::Options< T >::elastoplastic_runge_kutta_correction_substep = false

Whether to perform yield function corrections at each substep of the Runge-Kutta method.

◆ elastoplastic_runge_kutta_diverged_steps_raise

template<typename T>
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.

◆ elastoplastic_runge_kutta_fourth_order_type

template<typename T>
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".

◆ elastoplastic_runge_kutta_integrate_stress_on_yield_surface_max_iterations

template<typename T>
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.

◆ elastoplastic_runge_kutta_integrate_stress_on_yield_surface_method

template<typename T>
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".

◆ elastoplastic_runge_kutta_integrate_stress_on_yield_surface_tolerance

template<typename T>
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.

◆ elastoplastic_runge_kutta_max_const_steps

template<typename T>
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.

◆ elastoplastic_runge_kutta_order

template<typename T>
int constitutive::Options< T >::elastoplastic_runge_kutta_order = 2

Order of the Runge-Kutta method for elastoplastic integration, 1, 2, 3, or 4.

◆ elastoplastic_runge_kutta_second_order_alpha

template<typename T>
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.

◆ elastoplastic_runge_kutta_stiffness_type

template<typename T>
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".

◆ elastoplastic_runge_kutta_substepping_adaptive_max_ratio

template<typename T>
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.

◆ elastoplastic_runge_kutta_substepping_adaptive_min_ratio

template<typename T>
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.

◆ elastoplastic_runge_kutta_substepping_adaptive_ratio

template<typename T>
T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_adaptive_ratio = 0.9

Ratio for adaptive step size control in Runge-Kutta elastoplastic integration.

◆ elastoplastic_runge_kutta_substepping_check_min_step_size

template<typename T>
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.

◆ elastoplastic_runge_kutta_substepping_initial_step_size

template<typename T>
T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_initial_step_size = 1.0

Initial step size for substepping in Runge-Kutta elastoplastic integration.

◆ elastoplastic_runge_kutta_substepping_max_iterations

template<typename T>
int constitutive::Options< T >::elastoplastic_runge_kutta_substepping_max_iterations = 100000

Maximum number of iterations for substepping in Runge-Kutta elastoplastic integration.

◆ elastoplastic_runge_kutta_substepping_max_step_size

template<typename T>
T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_max_step_size = 1.0

Maximum step size for substepping in Runge-Kutta elastoplastic integration.

◆ elastoplastic_runge_kutta_substepping_min_step_size

template<typename T>
T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_min_step_size = 1e-5

Minimum step size for substepping in Runge-Kutta elastoplastic integration.

◆ elastoplastic_runge_kutta_substepping_tolerance

template<typename T>
T constitutive::Options< T >::elastoplastic_runge_kutta_substepping_tolerance = -1

Tolerance for substepping in Runge-Kutta elastoplastic integration, negative value means no substepping.

◆ elastoplastic_runge_kutta_third_order_alpha

template<typename T>
T constitutive::Options< T >::elastoplastic_runge_kutta_third_order_alpha = 0.5

Parameter alpha for the third-order Runge-Kutta method in elastoplastic integration.

◆ elastoplastic_runge_kutta_third_order_beta

template<typename T>
T constitutive::Options< T >::elastoplastic_runge_kutta_third_order_beta = 0.75

Parameter beta for the third-order Runge-Kutta method in elastoplastic integration.

◆ elastoplastic_substepping_check_min_step_size

template<typename T>
bool constitutive::Options< T >::elastoplastic_substepping_check_min_step_size = true

Whether to check the minimum step size for substepping in plastic correction.

◆ elastoplastic_substepping_initial_step_size

template<typename T>
T constitutive::Options< T >::elastoplastic_substepping_initial_step_size = 1.0

Initial step size for substepping in plastic correction.

◆ elastoplastic_substepping_max_iterations

template<typename T>
int constitutive::Options< T >::elastoplastic_substepping_max_iterations = 100000

Maximum number of iterations for substepping in plastic correction.

◆ elastoplastic_substepping_max_plastic_strain

template<typename T>
T constitutive::Options< T >::elastoplastic_substepping_max_plastic_strain = -1.0

Maximum plastic strain for substepping in plastic correction, negative value means no substepping.

◆ elastoplastic_substepping_max_step_size

template<typename T>
T constitutive::Options< T >::elastoplastic_substepping_max_step_size = 1.0

Maximum step size for substepping in plastic correction.

◆ elastoplastic_substepping_min_step_size

template<typename T>
T constitutive::Options< T >::elastoplastic_substepping_min_step_size = 1e-5

Minimum step size for substepping in plastic correction.

◆ elastoplastic_substepping_step_size_decrease_ratio

template<typename T>
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.

◆ elastoplastic_substepping_step_size_increase_ratio

template<typename T>
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.

◆ elastoplastic_tolerance

template<typename T>
T constitutive::Options< T >::elastoplastic_tolerance = 1e-7

tolerance of yield function for plastic correction

◆ elastoplastic_update_critical_void_ratio_when_required

template<typename T>
bool constitutive::Options< T >::elastoplastic_update_critical_void_ratio_when_required = false

Whether to update the critical void ratio when required.

◆ elastoplastic_use_anisotropic_state_parameter

template<typename T>
bool constitutive::Options< T >::elastoplastic_use_anisotropic_state_parameter = false

Whether to use the anisotropic state parameter in the stress-dilatancy relationship.

◆ elastoplastic_yield_function_anisotropic_cohesion

template<typename T>
bool constitutive::Options< T >::elastoplastic_yield_function_anisotropic_cohesion = false

Whether the cohesion is anisotropic.

◆ elastoplastic_yield_function_correction_adaptive_ratio

template<typename T>
T constitutive::Options< T >::elastoplastic_yield_function_correction_adaptive_ratio = -1.0

Ratio for adaptive plastic correction, negative values are ignored.

◆ elastoplastic_yield_function_correction_direction

template<typename T>
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.

◆ elastoplastic_yield_function_correction_diverged_steps_raise

template<typename T>
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.

◆ elastoplastic_yield_function_correction_max_const_steps

template<typename T>
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.

◆ elastoplastic_yield_function_derivative_strain

template<typename T>
bool constitutive::Options< T >::elastoplastic_yield_function_derivative_strain = true

whether to consider the strain contribution to the yield function derivative for elastoplastic models

◆ elastoplastic_yield_function_fabric_anisotropy

template<typename T>
bool constitutive::Options< T >::elastoplastic_yield_function_fabric_anisotropy = true

Whether to consider fabric anisotropy in the yield function.

◆ elastoplastic_yield_function_min_critical_stress_ratio

template<typename T>
T constitutive::Options< T >::elastoplastic_yield_function_min_critical_stress_ratio = -1.0

Minimum critical stress ratio for elastoplastic models. Negative values are ignored.

◆ elastoplastic_yield_function_stress_dependent_kp_scale

template<typename T>
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.

◆ friction_angle_weight_mises

template<typename T>
T constitutive::Options< T >::friction_angle_weight_mises = 0.0

Weight of Mises component in lode angle dependent friction angle.

◆ friction_angle_weight_mohr_coulomb

template<typename T>
T constitutive::Options< T >::friction_angle_weight_mohr_coulomb = 1.0

Weight of Mohr-Coulomb component in lode angle dependent friction angle.

◆ friction_angle_weight_smp

template<typename T>
T constitutive::Options< T >::friction_angle_weight_smp = 0.0

Weight of SMP component in lode angle dependent friction angle.

◆ friction_angle_weight_tresca

template<typename T>
T constitutive::Options< T >::friction_angle_weight_tresca = 0.0

Weight of Tresca component in lode angle dependent friction angle.

◆ ignore_distractions

template<typename T>
bool constitutive::Options< T >::ignore_distractions = true

ignore distractions in the calculation

◆ ignore_fabric_anisotropy_for_isotropic_loading

template<typename T>
bool constitutive::Options< T >::ignore_fabric_anisotropy_for_isotropic_loading = false

ignore fabric anisotropy for isotropic loading

◆ ignore_fabric_evolution_for_isotropic_loading

template<typename T>
bool constitutive::Options< T >::ignore_fabric_evolution_for_isotropic_loading = false

ignore fabric evolution for isotropic loading

◆ increment_plastic_displacement

template<typename T>
bool constitutive::Options< T >::increment_plastic_displacement = false

increment plastic displacement to the total displacement

◆ integration_absolute_tolerance

template<typename T>
T constitutive::Options< T >::integration_absolute_tolerance = 1e-10

absolute tolerance for the unbalanced force

◆ integration_at_least_once

template<typename T>
bool constitutive::Options< T >::integration_at_least_once = false

macro-micro integration must be ran at least once

◆ integration_check_absolute_convergence

template<typename T>
bool constitutive::Options< T >::integration_check_absolute_convergence = true

check absolute contact integration error

◆ integration_check_convergence

template<typename T>
bool constitutive::Options< T >::integration_check_convergence = true

check convergence of integration with maximum iterations

◆ integration_loading_ratio

template<typename T>
T constitutive::Options< T >::integration_loading_ratio = 1.0

macro-micro integration loading ratio

◆ integration_max_iterations

template<typename T>
int constitutive::Options< T >::integration_max_iterations = 100

maximum number of iterations for the integration algorithm

◆ integration_relative_tolerance

template<typename T>
T constitutive::Options< T >::integration_relative_tolerance = 1e-3

relative tolerance for the unbalanced force

◆ integration_substepping_max_ratio

template<typename T>
T constitutive::Options< T >::integration_substepping_max_ratio = -1.0

maximum macro-micro integration substepping ratio

◆ integration_substepping_min_ratio

template<typename T>
T constitutive::Options< T >::integration_substepping_min_ratio = -1.0

minimum macro-micro integration substepping ratio

◆ integration_substepping_relative_to_increment

template<typename T>
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

◆ integration_tolerance_relative_stress

template<typename T>
bool constitutive::Options< T >::integration_tolerance_relative_stress = false

whether to use relative tolerance to the stress norm

◆ j2yang_yield_function_epsr_relative_to_kp

template<typename T>
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.

◆ j2yang_yield_function_softening_alpha

template<typename T>
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.

◆ j2yang_yield_function_softening_beta

template<typename T>
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.

◆ j2yang_yield_function_softening_relative_to_CSR

template<typename T>
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.

◆ j2yang_yield_function_softening_type

template<typename T>
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'.

◆ kinematic_hypothesis

template<typename T>
bool constitutive::Options< T >::kinematic_hypothesis = false

use the kinematic hypothesis

◆ loading_direction_scale

template<typename T>
T constitutive::Options< T >::loading_direction_scale = 1.0

Scale for the loading direction.

◆ loading_direction_type

template<typename T>
std::string constitutive::Options< T >::loading_direction_type = "depsd"

Type of loading direction, isotropic, depsd, depspd, s, sa, or custom.

◆ mixed_load_absolute_tolerance

template<typename T>
T constitutive::Options< T >::mixed_load_absolute_tolerance = 1e-5

absolute tolerance for the mixed load

◆ mixed_load_check_absolute_convergence

template<typename T>
bool constitutive::Options< T >::mixed_load_check_absolute_convergence = true

check absolute tolerance for the mixed load

◆ mixed_load_check_convergence

template<typename T>
bool constitutive::Options< T >::mixed_load_check_convergence = true

check convergence of mixed load control with maximum iterations

◆ mixed_load_check_strain_convergence

template<typename T>
bool constitutive::Options< T >::mixed_load_check_strain_convergence = false

check strain convergence of the mixed load control algorithm

◆ mixed_load_check_stress_convergence

template<typename T>
bool constitutive::Options< T >::mixed_load_check_stress_convergence = true

check stress convergence of the mixed load control algorithm

◆ mixed_load_constant_elastic_stiffness

template<typename T>
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.

◆ mixed_load_max_iterations

template<typename T>
int constitutive::Options< T >::mixed_load_max_iterations = 100

maximum number of iterations for the mixed load control algorithm

◆ mixed_load_max_larger_steps

template<typename T>
int constitutive::Options< T >::mixed_load_max_larger_steps = -1

maximum number of larger steps for the mixed load control algorithm

◆ mixed_load_relative_tolerance

template<typename T>
T constitutive::Options< T >::mixed_load_relative_tolerance = 1e-3

relative tolerance for the mixed load

◆ mixed_load_stress_as_anisotropic_stress

template<typename T>
bool constitutive::Options< T >::mixed_load_stress_as_anisotropic_stress = false

Whether the stress-controlled load is given as anisotropic stress.

◆ mixed_load_update_void_ratio_in

template<typename T>
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.

◆ multi_scale_return_mapping

template<typename T>
bool constitutive::Options< T >::multi_scale_return_mapping = false

solve the plastic problem with the multi-scale return mapping

◆ run_contact_integration_steps

template<typename T>
int constitutive::Options< T >::run_contact_integration_steps = -1

number of contact integration steps to run

◆ run_mixed_load_steps

template<typename T>
int constitutive::Options< T >::run_mixed_load_steps = -1

number of mixed load steps to run

◆ run_steps

template<typename T>
int constitutive::Options< T >::run_steps = -1

number of steps to run

◆ save_elastic_stiffness_matrix

template<typename T>
bool constitutive::Options< T >::save_elastic_stiffness_matrix = false

whether to save the elastic stiffness matrix

◆ simsand_yield_function_additional_shear_strain

template<typename T>
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.

◆ simsand_yield_function_shear_strain_scale

template<typename T>
T constitutive::Options< T >::simsand_yield_function_shear_strain_scale = 1.0

Scale factor for the shear strain for SIMSAND model.

◆ simsand_yield_function_use_plastic_strain

template<typename T>
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.

◆ update_fabric_coefs

template<typename T>
bool constitutive::Options< T >::update_fabric_coefs = false

whether to update fabric coefficients

◆ update_npv

template<typename T>
bool constitutive::Options< T >::update_npv = false

whether to update npv based on the coordination number and particle radius

◆ update_void_ratio_from_after_isotropic_loading_to_before

template<typename T>
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

◆ use_isotropic_fabric_tensor_in_strain_averaging

template<typename T>
bool constitutive::Options< T >::use_isotropic_fabric_tensor_in_strain_averaging = false

Use isotropic fabric tensor in strain averaging.

◆ use_isotropic_fabric_tensor_in_stress_localization

template<typename T>
bool constitutive::Options< T >::use_isotropic_fabric_tensor_in_stress_localization = false

Use isotropic fabric tensor in stress localization.

◆ use_plastic_strain_in_fabric_evolution

template<typename T>
bool constitutive::Options< T >::use_plastic_strain_in_fabric_evolution = false

Use plastic strain in fabric evolution.

◆ verbose

template<typename T>
bool constitutive::Options< T >::verbose = false

Whether to print verbose information.


The documentation for this struct was generated from the following file: