Skip to content

options

Options

Constitutive options.

best_fit_strain_averaging instance-attribute

best_fit_strain_averaging: bool = False

cache instance-attribute

cache: bool = True

cache_precision instance-attribute

cache_precision: int = 15

check_stiffness_matrix_symmetry instance-attribute

check_stiffness_matrix_symmetry: bool = False

contact_associated_flow_rule instance-attribute

contact_associated_flow_rule: bool = False

contact_check_convergence instance-attribute

contact_check_convergence: bool = True

contact_check_plastic_multiplier instance-attribute

contact_check_plastic_multiplier: bool = True

contact_default_potential_function_derivative instance-attribute

contact_default_potential_function_derivative: bool = False

contact_default_yield_function_derivative instance-attribute

contact_default_yield_function_derivative: bool = False

contact_ensure_force_state_on_yield_surface instance-attribute

contact_ensure_force_state_on_yield_surface: bool = False

contact_max_iterations instance-attribute

contact_max_iterations: int = 100

contact_min_normal_force instance-attribute

contact_min_normal_force: float = 1e-10

contact_plastic_method_multiplier instance-attribute

contact_plastic_method_multiplier: float = 1.0

contact_sanisand_constant_hardening_parameter instance-attribute

contact_sanisand_constant_hardening_parameter: bool = True

contact_sanisand_maintain_yield_surface instance-attribute

contact_sanisand_maintain_yield_surface: bool = False

contact_save_stiffness instance-attribute

contact_save_stiffness: bool = False

contact_simsand_hardening_use_plastic_displacement instance-attribute

contact_simsand_hardening_use_plastic_displacement: bool = True

contact_simsand_use_plastic_displacement instance-attribute

contact_simsand_use_plastic_displacement: bool = True

contact_substepping instance-attribute

contact_substepping: bool = False

contact_substepping_max_increment instance-attribute

contact_substepping_max_increment: float = -1.0

contact_substepping_separate_normal_shear_displacements instance-attribute

contact_substepping_separate_normal_shear_displacements: bool = True

contact_tensile_stiffness_ratio instance-attribute

contact_tensile_stiffness_ratio: float = 1.0

contact_tolerance instance-attribute

contact_tolerance: float = 1e-10

debug instance-attribute

debug: bool = False

disp_steps instance-attribute

disp_steps: int = -1

elastic_fabric_anisotropy_scale instance-attribute

elastic_fabric_anisotropy_scale: float = 1.0

elastic_stiffness_stress_dependence instance-attribute

elastic_stiffness_stress_dependence: bool = True

elastic_stiffness_stress_dependence_min_mean_stress_ratio instance-attribute

elastic_stiffness_stress_dependence_min_mean_stress_ratio: float = 0.0

elastic_stiffness_stress_dependence_use_anisotropic_mean_stress instance-attribute

elastic_stiffness_stress_dependence_use_anisotropic_mean_stress: bool = False

elastic_stiffness_void_ratio_dependence instance-attribute

elastic_stiffness_void_ratio_dependence: bool = True

elastic_stiffness_void_ratio_dependence_initial instance-attribute

elastic_stiffness_void_ratio_dependence_initial: bool = False

elastoplastic_associated_flow_rule instance-attribute

elastoplastic_associated_flow_rule: bool = False

elastoplastic_cache_state_variables instance-attribute

elastoplastic_cache_state_variables: bool = True

elastoplastic_check_convergence instance-attribute

elastoplastic_check_convergence: bool = True

elastoplastic_check_stiffness_matrix_non_singularity instance-attribute

elastoplastic_check_stiffness_matrix_non_singularity: bool = False

elastoplastic_check_stiffness_matrix_positive_definite instance-attribute

elastoplastic_check_stiffness_matrix_positive_definite: bool = False

elastoplastic_combined_stress_tensor_dilatancy_type instance-attribute

elastoplastic_combined_stress_tensor_dilatancy_type: str = 'anisotropic'

elastoplastic_combined_stress_tensor_evolution_ratio instance-attribute

elastoplastic_combined_stress_tensor_evolution_ratio: float = 1.0

elastoplastic_combined_stress_tensor_fav_ratio instance-attribute

elastoplastic_combined_stress_tensor_fav_ratio: float = 1.0

elastoplastic_combined_stress_tensor_scale instance-attribute

elastoplastic_combined_stress_tensor_scale: float = 1.0

elastoplastic_combined_stress_tensor_type instance-attribute

elastoplastic_combined_stress_tensor_type: str = 'anisotropic'

elastoplastic_critical_state_line_shape instance-attribute

elastoplastic_critical_state_line_shape: str = 'logarithmic'

elastoplastic_critical_state_line_use_anisotropic_mean_stress instance-attribute

elastoplastic_critical_state_line_use_anisotropic_mean_stress: bool = False

elastoplastic_critical_state_line_use_initial_stress_state instance-attribute

elastoplastic_critical_state_line_use_initial_stress_state: bool = False

elastoplastic_critical_stress_ratio_type instance-attribute

elastoplastic_critical_stress_ratio_type: str = 'mohr-coulomb'

elastoplastic_critical_stress_ratio_use_anisotropic_stress instance-attribute

elastoplastic_critical_stress_ratio_use_anisotropic_stress: bool = True

elastoplastic_critical_stress_ratio_use_initial_stress_state instance-attribute

elastoplastic_critical_stress_ratio_use_initial_stress_state: bool = False

elastoplastic_default_potential_function_derivative instance-attribute

elastoplastic_default_potential_function_derivative: bool = False

elastoplastic_default_yield_function_derivative instance-attribute

elastoplastic_default_yield_function_derivative: bool = False

elastoplastic_density_effect_on_strength_dilatancy_type instance-attribute

elastoplastic_density_effect_on_strength_dilatancy_type: str = 'powerlaw'

elastoplastic_dilatancy_exponent instance-attribute

elastoplastic_dilatancy_exponent: float = 1.0

elastoplastic_dilatancy_scale_at_low_mean_stress instance-attribute

elastoplastic_dilatancy_scale_at_low_mean_stress: float = 0.0

elastoplastic_dilatancy_separate_friction_angle instance-attribute

elastoplastic_dilatancy_separate_friction_angle: bool = False

elastoplastic_ensure_stress_on_yield_surface instance-attribute

elastoplastic_ensure_stress_on_yield_surface: bool = False

elastoplastic_fabric_anisotropy_variable_nonproportionality_noncoaxial instance-attribute

elastoplastic_fabric_anisotropy_variable_nonproportionality_noncoaxial: (
    float
) = 0.0

elastoplastic_fabric_anisotropy_variable_nonproportionality_orthogonal instance-attribute

elastoplastic_fabric_anisotropy_variable_nonproportionality_orthogonal: (
    float
) = 0.0

elastoplastic_finite_difference_central instance-attribute

elastoplastic_finite_difference_central: bool = False

elastoplastic_finite_difference_increment instance-attribute

elastoplastic_finite_difference_increment: float = 0.0001

elastoplastic_flow_rule_tolerance instance-attribute

elastoplastic_flow_rule_tolerance: float = 1e-07

elastoplastic_max_iterations instance-attribute

elastoplastic_max_iterations: int = 100

elastoplastic_min_principal_stress instance-attribute

elastoplastic_min_principal_stress: float = -1.0

elastoplastic_potential_function_half_shear_derivatives instance-attribute

elastoplastic_potential_function_half_shear_derivatives: bool = False

elastoplastic_runge_kutta_correction_substep instance-attribute

elastoplastic_runge_kutta_correction_substep: bool = False

elastoplastic_runge_kutta_diverged_steps_raise instance-attribute

elastoplastic_runge_kutta_diverged_steps_raise: bool = True

elastoplastic_runge_kutta_fourth_order_type instance-attribute

elastoplastic_runge_kutta_fourth_order_type: str = 'classic'

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_max_iterations instance-attribute

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_max_iterations: (
    int
) = 100

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_method instance-attribute

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_method: str = (
    "bisection"
)

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_tolerance instance-attribute

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_tolerance: float = (
    1e-10
)

elastoplastic_runge_kutta_max_const_steps instance-attribute

elastoplastic_runge_kutta_max_const_steps: int = -1

elastoplastic_runge_kutta_order instance-attribute

elastoplastic_runge_kutta_order: int = 2

elastoplastic_runge_kutta_second_order_alpha instance-attribute

elastoplastic_runge_kutta_second_order_alpha: float = 2 / 3

elastoplastic_runge_kutta_stiffness_type instance-attribute

elastoplastic_runge_kutta_stiffness_type: str = 'weighted'

elastoplastic_runge_kutta_substepping_adaptive_max_ratio instance-attribute

elastoplastic_runge_kutta_substepping_adaptive_max_ratio: float = 1.5

elastoplastic_runge_kutta_substepping_adaptive_min_ratio instance-attribute

elastoplastic_runge_kutta_substepping_adaptive_min_ratio: float = 0.25

elastoplastic_runge_kutta_substepping_adaptive_ratio instance-attribute

elastoplastic_runge_kutta_substepping_adaptive_ratio: float = 0.9

elastoplastic_runge_kutta_substepping_check_min_step_size instance-attribute

elastoplastic_runge_kutta_substepping_check_min_step_size: bool = True

elastoplastic_runge_kutta_substepping_initial_step_size instance-attribute

elastoplastic_runge_kutta_substepping_initial_step_size: float = 1.0

elastoplastic_runge_kutta_substepping_max_iterations instance-attribute

elastoplastic_runge_kutta_substepping_max_iterations: int = 100000

elastoplastic_runge_kutta_substepping_max_step_size instance-attribute

elastoplastic_runge_kutta_substepping_max_step_size: float = 1.0

elastoplastic_runge_kutta_substepping_min_step_size instance-attribute

elastoplastic_runge_kutta_substepping_min_step_size: float = 1e-05

elastoplastic_runge_kutta_substepping_tolerance instance-attribute

elastoplastic_runge_kutta_substepping_tolerance: float = -1.0

elastoplastic_runge_kutta_third_order_alpha instance-attribute

elastoplastic_runge_kutta_third_order_alpha: float = 0.5

elastoplastic_runge_kutta_third_order_beta instance-attribute

elastoplastic_runge_kutta_third_order_beta: float = 0.75

elastoplastic_substepping_check_min_step_size instance-attribute

elastoplastic_substepping_check_min_step_size: bool = True

elastoplastic_substepping_initial_step_size instance-attribute

elastoplastic_substepping_initial_step_size: float = 1.0

elastoplastic_substepping_max_iterations instance-attribute

elastoplastic_substepping_max_iterations: int = 100000

elastoplastic_substepping_max_plastic_strain instance-attribute

elastoplastic_substepping_max_plastic_strain: float = -1.0

elastoplastic_substepping_max_step_size instance-attribute

elastoplastic_substepping_max_step_size: float = 1.0

elastoplastic_substepping_min_step_size instance-attribute

elastoplastic_substepping_min_step_size: float = 1e-05

elastoplastic_substepping_step_size_decrease_ratio instance-attribute

elastoplastic_substepping_step_size_decrease_ratio: float = 0.5

elastoplastic_substepping_step_size_increase_ratio instance-attribute

elastoplastic_substepping_step_size_increase_ratio: float = 2.0

elastoplastic_tolerance instance-attribute

elastoplastic_tolerance: float = 1e-07

elastoplastic_update_critical_void_ratio_when_required instance-attribute

elastoplastic_update_critical_void_ratio_when_required: bool = False

elastoplastic_use_anisotropic_state_parameter instance-attribute

elastoplastic_use_anisotropic_state_parameter: bool = False

elastoplastic_yield_function_anisotropic_cohesion instance-attribute

elastoplastic_yield_function_anisotropic_cohesion: bool = False

elastoplastic_yield_function_correction_adaptive_ratio instance-attribute

elastoplastic_yield_function_correction_adaptive_ratio: float = -1.0

elastoplastic_yield_function_correction_direction instance-attribute

elastoplastic_yield_function_correction_direction: str = 'plastic_flow'

elastoplastic_yield_function_correction_diverged_steps_raise instance-attribute

elastoplastic_yield_function_correction_diverged_steps_raise: bool = True

elastoplastic_yield_function_correction_max_const_steps instance-attribute

elastoplastic_yield_function_correction_max_const_steps: int = -1

elastoplastic_yield_function_derivative_strain instance-attribute

elastoplastic_yield_function_derivative_strain: bool = True

elastoplastic_yield_function_fabric_anisotropy instance-attribute

elastoplastic_yield_function_fabric_anisotropy: bool = True

elastoplastic_yield_function_min_critical_stress_ratio instance-attribute

elastoplastic_yield_function_min_critical_stress_ratio: float = -1.0

elastoplastic_yield_function_stress_dependent_kp_scale instance-attribute

elastoplastic_yield_function_stress_dependent_kp_scale: float = -1.0

friction_angle_weight_mises instance-attribute

friction_angle_weight_mises: float = 0.0

friction_angle_weight_mohr_coulomb instance-attribute

friction_angle_weight_mohr_coulomb: float = 1.0

friction_angle_weight_smp instance-attribute

friction_angle_weight_smp: float = 0.0

friction_angle_weight_tresca instance-attribute

friction_angle_weight_tresca: float = 0.0

ignore_distractions instance-attribute

ignore_distractions: bool = True

ignore_fabric_anisotropy_for_isotropic_loading instance-attribute

ignore_fabric_anisotropy_for_isotropic_loading: bool = False

ignore_fabric_evolution_for_isotropic_loading instance-attribute

ignore_fabric_evolution_for_isotropic_loading: bool = False

increment_plastic_displacement instance-attribute

increment_plastic_displacement: bool = False

integration_absolute_tolerance instance-attribute

integration_absolute_tolerance: float = 1e-10

integration_at_least_once instance-attribute

integration_at_least_once: bool = False

integration_check_absolute_convergence instance-attribute

integration_check_absolute_convergence: bool = True

integration_check_convergence instance-attribute

integration_check_convergence: bool = True

integration_loading_ratio instance-attribute

integration_loading_ratio: float = 1.0

integration_max_iterations instance-attribute

integration_max_iterations: int = 100

integration_relative_tolerance instance-attribute

integration_relative_tolerance: float = 0.001

integration_substepping_max_ratio instance-attribute

integration_substepping_max_ratio: float = -1.0

integration_substepping_min_ratio instance-attribute

integration_substepping_min_ratio: float = -1.0

integration_substepping_relative_to_increment instance-attribute

integration_substepping_relative_to_increment: bool = False

integration_tolerance_relative_stress instance-attribute

integration_tolerance_relative_stress: bool = False

j2yang_yield_function_epsr_relative_to_kp instance-attribute

j2yang_yield_function_epsr_relative_to_kp: bool = False

j2yang_yield_function_softening_alpha instance-attribute

j2yang_yield_function_softening_alpha: float = 1.0

j2yang_yield_function_softening_beta instance-attribute

j2yang_yield_function_softening_beta: float = 1.0

j2yang_yield_function_softening_relative_to_CSR instance-attribute

j2yang_yield_function_softening_relative_to_CSR: bool = False

j2yang_yield_function_softening_type instance-attribute

j2yang_yield_function_softening_type: str = 'exponential'

kinematic_hypothesis instance-attribute

kinematic_hypothesis: bool = False

loading_direction_scale instance-attribute

loading_direction_scale: float = 1.0

loading_direction_type instance-attribute

loading_direction_type: str = 'depsd'

mixed_load_absolute_tolerance instance-attribute

mixed_load_absolute_tolerance: float = 1e-05

mixed_load_check_absolute_convergence instance-attribute

mixed_load_check_absolute_convergence: bool = True

mixed_load_check_convergence instance-attribute

mixed_load_check_convergence: bool = True

mixed_load_check_strain_convergence instance-attribute

mixed_load_check_strain_convergence: bool = False

mixed_load_check_stress_convergence instance-attribute

mixed_load_check_stress_convergence: bool = True

mixed_load_constant_elastic_stiffness instance-attribute

mixed_load_constant_elastic_stiffness: bool = True

mixed_load_max_iterations instance-attribute

mixed_load_max_iterations: int = 100

mixed_load_max_larger_steps instance-attribute

mixed_load_max_larger_steps: int = -1

mixed_load_relative_tolerance instance-attribute

mixed_load_relative_tolerance: float = 0.001

mixed_load_stress_as_anisotropic_stress instance-attribute

mixed_load_stress_as_anisotropic_stress: bool = False

mixed_load_update_void_ratio_in instance-attribute

mixed_load_update_void_ratio_in: str = 'after_convergence'

multi_scale_return_mapping instance-attribute

multi_scale_return_mapping: bool = False

run_contact_integration_steps instance-attribute

run_contact_integration_steps: int = -1

run_mixed_load_steps instance-attribute

run_mixed_load_steps: int = -1

run_steps instance-attribute

run_steps: int = -1

save_elastic_stiffness_matrix instance-attribute

save_elastic_stiffness_matrix: bool = False

simsand_yield_function_additional_shear_strain instance-attribute

simsand_yield_function_additional_shear_strain: float = 0.0

simsand_yield_function_shear_strain_scale instance-attribute

simsand_yield_function_shear_strain_scale: float = 1.0

simsand_yield_function_use_plastic_strain instance-attribute

simsand_yield_function_use_plastic_strain: bool = True

update_fabric_coefs instance-attribute

update_fabric_coefs: bool = False

update_npv instance-attribute

update_npv: bool = False

update_void_ratio_from_after_isotropic_loading_to_before instance-attribute

update_void_ratio_from_after_isotropic_loading_to_before: bool = False

use_isotropic_fabric_tensor_in_strain_averaging instance-attribute

use_isotropic_fabric_tensor_in_strain_averaging: bool = False

use_isotropic_fabric_tensor_in_stress_localization instance-attribute

use_isotropic_fabric_tensor_in_stress_localization: bool = False

use_plastic_strain_in_fabric_evolution instance-attribute

use_plastic_strain_in_fabric_evolution: bool = False

verbose instance-attribute

verbose: bool = False

__init__

__init__()

checkSubsteppingOptions

checkSubsteppingOptions()

Check the substepping options for plastic correction.

isFrictionAngleLodeDependent

isFrictionAngleLodeDependent() -> bool

Whether the friction angle is lode angle dependent.

setMises

setMises()

Use Mises criterion.

setMisesSMP

setMisesSMP(weight_mises: float = 0.5, weight_smp: float = 0.5)

Use Mises-SMP criterion.

setMohrCoulomb

setMohrCoulomb()

Use Mohr-Coulomb criterion.

setSMP

setSMP()

Use SMP criterion.

setTresca

setTresca()

Use Tresca criterion.

setTrescaMohrCoulomb

setTrescaMohrCoulomb(
    weight_tresca: float = 0.5, weight_mohr_coulomb: float = 0.5
)

Use Tresca-Mohr-Coulomb criterion.

setupModifiedModel

setupModifiedModel()

Set the model to the modified model.

setupOriginalModel

setupOriginalModel()

Set the model to the original model.

OptionsProxy

Bases: HashableBaseModelIO

best_fit_strain_averaging class-attribute instance-attribute

best_fit_strain_averaging: bool = False

Use the best-fit hypothesis for strain averaging

cache class-attribute instance-attribute

cache: bool = True

Cache state variables

cache_precision class-attribute instance-attribute

cache_precision: int = 15

Cache state variables precision

check_stiffness_matrix_symmetry class-attribute instance-attribute

check_stiffness_matrix_symmetry: bool = False

Whether to check the symmetry of the stiffness matrix

contact_associated_flow_rule class-attribute instance-attribute

contact_associated_flow_rule: bool = False

Whether to use associated flow rule for contact law

contact_check_convergence class-attribute instance-attribute

contact_check_convergence: bool = True

Whether to check the convergence

contact_check_plastic_multiplier class-attribute instance-attribute

contact_check_plastic_multiplier: bool = True

Whether to check the sign of plastic multiplier

contact_default_potential_function_derivative class-attribute instance-attribute

contact_default_potential_function_derivative: bool = False

Whether to use the default potential function derivative for contact laws

contact_default_yield_function_derivative class-attribute instance-attribute

contact_default_yield_function_derivative: bool = False

Whether to use the default yield function derivative for contact laws

contact_ensure_force_state_on_yield_surface class-attribute instance-attribute

contact_ensure_force_state_on_yield_surface: bool = False

Whether to ensure the force state is on the yield surface

contact_max_iterations class-attribute instance-attribute

contact_max_iterations: int = 100

Maximum number of iterations

contact_min_normal_force class-attribute instance-attribute

contact_min_normal_force: float = 1e-10

Minimum normal force

contact_plastic_method_multiplier class-attribute instance-attribute

contact_plastic_method_multiplier: float = 1.0

Multiplier for the contact plastic method

contact_sanisand_constant_hardening_parameter class-attribute instance-attribute

contact_sanisand_constant_hardening_parameter: bool = True

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

contact_sanisand_maintain_yield_surface class-attribute instance-attribute

contact_sanisand_maintain_yield_surface: bool = False

Whether to maintain yield surface for the SANISAND contact law

contact_save_stiffness class-attribute instance-attribute

contact_save_stiffness: bool = False

Whether to save contact stiffness in the state variables

contact_simsand_hardening_use_plastic_displacement class-attribute instance-attribute

contact_simsand_hardening_use_plastic_displacement: bool = True

Whether to use plastic displacement in OSIMSAND/SIMSAND contact laws in the hardening law

contact_simsand_use_plastic_displacement class-attribute instance-attribute

contact_simsand_use_plastic_displacement: bool = True

Whether to use plastic displacement in OSIMSAND/SIMSAND contact laws

contact_substepping class-attribute instance-attribute

contact_substepping: bool = False

Whether to use substepping strategy for the contact law

contact_substepping_max_increment class-attribute instance-attribute

contact_substepping_max_increment: float = -1.0

Maximum force ratio increment

contact_substepping_separate_normal_shear_displacements class-attribute instance-attribute

contact_substepping_separate_normal_shear_displacements: bool = True

Whether to separate normal and shear displacement in contact substepping

contact_tensile_stiffness_ratio class-attribute instance-attribute

contact_tensile_stiffness_ratio: float = 1.0

Ratio of tensile stiffness to compressive stiffness

contact_tolerance class-attribute instance-attribute

contact_tolerance: float = 1e-10

Contact tolerance

debug class-attribute instance-attribute

debug: bool = False

Debug mode

disp_steps class-attribute instance-attribute

disp_steps: int = -1

Print debug information every disp_steps steps

elastic_fabric_anisotropy_scale class-attribute instance-attribute

elastic_fabric_anisotropy_scale: float = 1.0

Scale factor for fabric anisotropy in elastic stiffness

elastic_stiffness_stress_dependence class-attribute instance-attribute

elastic_stiffness_stress_dependence: bool = True

Whether to use the stress dependent elastic stiffness

elastic_stiffness_stress_dependence_min_mean_stress_ratio class-attribute instance-attribute

elastic_stiffness_stress_dependence_min_mean_stress_ratio: float = 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 class-attribute instance-attribute

elastic_stiffness_stress_dependence_use_anisotropic_mean_stress: bool = False

Whether to use anisotropic mean stress in stress dependent elastic stiffness

elastic_stiffness_void_ratio_dependence class-attribute instance-attribute

elastic_stiffness_void_ratio_dependence: bool = True

Whether to use the void ratio dependent elastic stiffness

elastic_stiffness_void_ratio_dependence_initial class-attribute instance-attribute

elastic_stiffness_void_ratio_dependence_initial: bool = False

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

elastoplastic_associated_flow_rule class-attribute instance-attribute

elastoplastic_associated_flow_rule: bool = False

Whether to use associated flow rule for plastic correction

elastoplastic_cache_state_variables class-attribute instance-attribute

elastoplastic_cache_state_variables: bool = True

Whether to cache state variables for elastoplastic models

elastoplastic_check_convergence class-attribute instance-attribute

elastoplastic_check_convergence: bool = True

Whether to check the convergence for plastic correction

elastoplastic_check_stiffness_matrix_non_singularity class-attribute instance-attribute

elastoplastic_check_stiffness_matrix_non_singularity: bool = False

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

elastoplastic_check_stiffness_matrix_positive_definite class-attribute instance-attribute

elastoplastic_check_stiffness_matrix_positive_definite: bool = False

Whether to check the positive definiteness of the elastoplastic stiffness matrix

elastoplastic_combined_stress_tensor_dilatancy_type class-attribute instance-attribute

elastoplastic_combined_stress_tensor_dilatancy_type: Literal[
    "anisotropic",
    "isotropic",
    "linear",
    "quadratic",
    "exponential",
    "potential",
] = "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 class-attribute instance-attribute

elastoplastic_combined_stress_tensor_evolution_ratio: float = 1.0

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

elastoplastic_combined_stress_tensor_fav_ratio class-attribute instance-attribute

elastoplastic_combined_stress_tensor_fav_ratio: float = 1.0

Ratio for the fabric anisotropy variable in the combined stress tensor for elastoplastic models

elastoplastic_combined_stress_tensor_scale class-attribute instance-attribute

elastoplastic_combined_stress_tensor_scale: float = 1.0

Scale for effect of fabric anisotropy in the combined stress tensor for elastoplastic models

elastoplastic_combined_stress_tensor_type class-attribute instance-attribute

elastoplastic_combined_stress_tensor_type: Literal[
    "anisotropic",
    "isotropic",
    "linear",
    "quadratic",
    "exponential",
    "potential",
] = "anisotropic"

Type of the combined stress tensor for elastoplastic models, "anisotropic", "isotropic", "linear", "quadratic", "exponential", or "potential"

elastoplastic_critical_state_line_shape class-attribute instance-attribute

elastoplastic_critical_state_line_shape: Literal[
    "linear", "logarithmic", "exponential"
] = "logarithmic"

Shape of critical state line, linear, logarithmic or exponential

elastoplastic_critical_state_line_use_anisotropic_mean_stress class-attribute instance-attribute

elastoplastic_critical_state_line_use_anisotropic_mean_stress: bool = False

Whether to use anisotropic mean stress in critical state line

elastoplastic_critical_state_line_use_initial_stress_state class-attribute instance-attribute

elastoplastic_critical_state_line_use_initial_stress_state: bool = False

Whether to use the initial stress state to calculate critical state line

elastoplastic_critical_stress_ratio_type class-attribute instance-attribute

elastoplastic_critical_stress_ratio_type: Literal[
    "modified-mohr-coulomb",
    "mohr-coulomb",
    "gtheta_li2002",
    "gtheta_sheng2000",
    "gtheta_argyris1974",
] = "mohr-coulomb"

Method to calculate critical stress ratio, modified-mohr-coulomb, mohr-coulomb, gtheta_li2002, gtheta_sheng2000, or gtheta_argyris1974

elastoplastic_critical_stress_ratio_use_anisotropic_stress class-attribute instance-attribute

elastoplastic_critical_stress_ratio_use_anisotropic_stress: bool = True

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

elastoplastic_critical_stress_ratio_use_initial_stress_state class-attribute instance-attribute

elastoplastic_critical_stress_ratio_use_initial_stress_state: bool = False

Whether to use the initial stress state to calculate critical stress ratio

elastoplastic_default_potential_function_derivative class-attribute instance-attribute

elastoplastic_default_potential_function_derivative: bool = False

Whether to use the default potential function derivative for elastoplastic models

elastoplastic_default_yield_function_derivative class-attribute instance-attribute

elastoplastic_default_yield_function_derivative: bool = False

Whether to use the default yield function derivative for elastoplastic models

elastoplastic_density_effect_on_strength_dilatancy_type class-attribute instance-attribute

elastoplastic_density_effect_on_strength_dilatancy_type: Literal[
    "exponential", "powerlaw"
] = "powerlaw"

The type of density effect on strength and dilatancy, either 'exponential' or 'powerlaw'

elastoplastic_dilatancy_exponent class-attribute instance-attribute

elastoplastic_dilatancy_exponent: float = 1.0

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

elastoplastic_dilatancy_scale_at_low_mean_stress class-attribute instance-attribute

elastoplastic_dilatancy_scale_at_low_mean_stress: float = 0.0

Low mean stress threshold to scale the dilatancy function

elastoplastic_dilatancy_separate_friction_angle class-attribute instance-attribute

elastoplastic_dilatancy_separate_friction_angle: bool = False

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

elastoplastic_ensure_stress_on_yield_surface class-attribute instance-attribute

elastoplastic_ensure_stress_on_yield_surface: bool = False

Whether to ensure the stress state is on the yield surface

elastoplastic_fabric_anisotropy_variable_nonproportionality_noncoaxial class-attribute instance-attribute

elastoplastic_fabric_anisotropy_variable_nonproportionality_noncoaxial: (
    float
) = 0.0

Weight of the non-coaxial component of the non-proportionality in the fabric anisotropy variable

elastoplastic_fabric_anisotropy_variable_nonproportionality_orthogonal class-attribute instance-attribute

elastoplastic_fabric_anisotropy_variable_nonproportionality_orthogonal: (
    float
) = 0.0

Weight of the orthogonal component of the non-proportionality in the fabric anisotropy variable

elastoplastic_finite_difference_central class-attribute instance-attribute

elastoplastic_finite_difference_central: bool = False

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

elastoplastic_finite_difference_increment class-attribute instance-attribute

elastoplastic_finite_difference_increment: float = 0.0001

Finite difference increment for numerical derivatives in elastoplastic models

elastoplastic_flow_rule_tolerance class-attribute instance-attribute

elastoplastic_flow_rule_tolerance: float = 1e-07

Tolerance of flow_rule for plastic correction, only valid for CPPM method

elastoplastic_max_iterations class-attribute instance-attribute

elastoplastic_max_iterations: int = 100

Maximum number of iterations for plastic correction

elastoplastic_min_principal_stress class-attribute instance-attribute

elastoplastic_min_principal_stress: float = -1.0

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

elastoplastic_potential_function_half_shear_derivatives class-attribute instance-attribute

elastoplastic_potential_function_half_shear_derivatives: bool = False

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

elastoplastic_runge_kutta_correction_substep class-attribute instance-attribute

elastoplastic_runge_kutta_correction_substep: bool = False

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

elastoplastic_runge_kutta_diverged_steps_raise class-attribute instance-attribute

elastoplastic_runge_kutta_diverged_steps_raise: bool = True

Whether to raise an error when a Runge-Kutta step is detected as diverged

elastoplastic_runge_kutta_fourth_order_type class-attribute instance-attribute

elastoplastic_runge_kutta_fourth_order_type: Literal[
    "classic", "3/8-rule", "ralston"
] = "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 class-attribute instance-attribute

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_max_iterations: (
    int
) = 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 class-attribute instance-attribute

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_method: Literal[
    "bisection", "newton", "none"
] = "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 class-attribute instance-attribute

elastoplastic_runge_kutta_integrate_stress_on_yield_surface_tolerance: float = (
    1e-10
)

Tolerance to integrate stress from elastic to the yield surface for Runge-Kutta method

elastoplastic_runge_kutta_max_const_steps class-attribute instance-attribute

elastoplastic_runge_kutta_max_const_steps: int = -1

Maximum number of constant step size substeps for the Runge-Kutta method, non-positive value means no limit

elastoplastic_runge_kutta_order class-attribute instance-attribute

elastoplastic_runge_kutta_order: int = 2

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

elastoplastic_runge_kutta_second_order_alpha class-attribute instance-attribute

elastoplastic_runge_kutta_second_order_alpha: float = 2 / 3

Parameter alpha for the second-order Runge-Kutta method in elastoplastic integration. alpha=1/2 corresponds to the midpoint method; alpha=2/3 corresponds to the Ralston method; alpha=1 corresponds to the Heun's method

elastoplastic_runge_kutta_stiffness_type class-attribute instance-attribute

elastoplastic_runge_kutta_stiffness_type: Literal[
    "elastic", "elastoplastic", "elastoplastic_end", "weighted"
] = "weighted"

Type of the elastoplastic stiffness matrix for Runge-Kutta method, "elastic", "elastoplastic", "elastoplastic_end", or "weighted"

elastoplastic_runge_kutta_substepping_adaptive_max_ratio class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_adaptive_max_ratio: float = 1.5

Maximum step size ratio of adaptive step size control in Runge-Kutta elastoplastic integration

elastoplastic_runge_kutta_substepping_adaptive_min_ratio class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_adaptive_min_ratio: float = 0.25

Minimum step size ratio of adaptive step size control in Runge-Kutta elastoplastic integration

elastoplastic_runge_kutta_substepping_adaptive_ratio class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_adaptive_ratio: float = 0.9

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

elastoplastic_runge_kutta_substepping_check_min_step_size class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_check_min_step_size: bool = True

Whether to check the minimum step size for substepping in Runge-Kutta elastoplastic integration

elastoplastic_runge_kutta_substepping_initial_step_size class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_initial_step_size: float = 1.0

Initial step size for substepping in Runge-Kutta elastoplastic integration

elastoplastic_runge_kutta_substepping_max_iterations class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_max_iterations: int = 100000

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

elastoplastic_runge_kutta_substepping_max_step_size class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_max_step_size: float = 1.0

Maximum step size for substepping in Runge-Kutta elastoplastic integration

elastoplastic_runge_kutta_substepping_min_step_size class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_min_step_size: float = 1e-05

Minimum step size for substepping in Runge-Kutta elastoplastic integration

elastoplastic_runge_kutta_substepping_tolerance class-attribute instance-attribute

elastoplastic_runge_kutta_substepping_tolerance: float = -1.0

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

elastoplastic_runge_kutta_third_order_alpha class-attribute instance-attribute

elastoplastic_runge_kutta_third_order_alpha: float = 0.5

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

elastoplastic_runge_kutta_third_order_beta class-attribute instance-attribute

elastoplastic_runge_kutta_third_order_beta: float = 0.75

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

elastoplastic_substepping_check_min_step_size class-attribute instance-attribute

elastoplastic_substepping_check_min_step_size: bool = True

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

elastoplastic_substepping_initial_step_size class-attribute instance-attribute

elastoplastic_substepping_initial_step_size: float = 1.0

Initial step size for substepping in plastic correction

elastoplastic_substepping_max_iterations class-attribute instance-attribute

elastoplastic_substepping_max_iterations: int = 100000

Maximum number of iterations for substepping in plastic correction

elastoplastic_substepping_max_plastic_strain class-attribute instance-attribute

elastoplastic_substepping_max_plastic_strain: float = -1.0

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

elastoplastic_substepping_max_step_size class-attribute instance-attribute

elastoplastic_substepping_max_step_size: float = 1.0

Maximum step size for substepping in plastic correction

elastoplastic_substepping_min_step_size class-attribute instance-attribute

elastoplastic_substepping_min_step_size: float = 1e-05

Minimum step size for substepping in plastic correction

elastoplastic_substepping_step_size_decrease_ratio class-attribute instance-attribute

elastoplastic_substepping_step_size_decrease_ratio: float = 0.5

Step size decrease ratio for substepping in plastic correction when the step fails

elastoplastic_substepping_step_size_increase_ratio class-attribute instance-attribute

elastoplastic_substepping_step_size_increase_ratio: float = 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 class-attribute instance-attribute

elastoplastic_tolerance: float = 1e-07

Tolerance of yield function for plastic correction

elastoplastic_update_critical_void_ratio_when_required class-attribute instance-attribute

elastoplastic_update_critical_void_ratio_when_required: bool = False

Whether to update the critical void ratio when required

elastoplastic_use_anisotropic_state_parameter class-attribute instance-attribute

elastoplastic_use_anisotropic_state_parameter: bool = False

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

elastoplastic_yield_function_anisotropic_cohesion class-attribute instance-attribute

elastoplastic_yield_function_anisotropic_cohesion: bool = False

Whether the cohesion is anisotropic

elastoplastic_yield_function_correction_adaptive_ratio class-attribute instance-attribute

elastoplastic_yield_function_correction_adaptive_ratio: float = -1.0

Ratio for adaptive plastic correction, negative values are ignored

elastoplastic_yield_function_correction_direction class-attribute instance-attribute

elastoplastic_yield_function_correction_direction: Literal[
    "plastic_flow", "yield_normal"
] = "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 class-attribute instance-attribute

elastoplastic_yield_function_correction_diverged_steps_raise: bool = True

Whether to raise an error when the plastic correction is detected as diverged

elastoplastic_yield_function_correction_max_const_steps class-attribute instance-attribute

elastoplastic_yield_function_correction_max_const_steps: int = -1

Maximum number of constant step size substeps for the plastic correction, non-positive value means no limit

elastoplastic_yield_function_derivative_strain class-attribute instance-attribute

elastoplastic_yield_function_derivative_strain: bool = True

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

elastoplastic_yield_function_fabric_anisotropy class-attribute instance-attribute

elastoplastic_yield_function_fabric_anisotropy: bool = True

Whether to consider fabric anisotropy in the yield function

elastoplastic_yield_function_min_critical_stress_ratio class-attribute instance-attribute

elastoplastic_yield_function_min_critical_stress_ratio: float = -1.0

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

elastoplastic_yield_function_stress_dependent_kp_scale class-attribute instance-attribute

elastoplastic_yield_function_stress_dependent_kp_scale: float = -1.0

Scale factor for the stress-dependent kp in the yield function. If negative, kp is a constant

friction_angle_weight_mises class-attribute instance-attribute

friction_angle_weight_mises: float = 0.0

Weight of Mises component in lode angle dependent friction angle

friction_angle_weight_mohr_coulomb class-attribute instance-attribute

friction_angle_weight_mohr_coulomb: float = 1.0

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

friction_angle_weight_smp class-attribute instance-attribute

friction_angle_weight_smp: float = 0.0

Weight of SMP component in lode angle dependent friction angle

friction_angle_weight_tresca class-attribute instance-attribute

friction_angle_weight_tresca: float = 0.0

Weight of Tresca component in lode angle dependent friction angle

ignore_distractions class-attribute instance-attribute

ignore_distractions: bool = True

Whether to ignore distractions

ignore_fabric_anisotropy_for_isotropic_loading class-attribute instance-attribute

ignore_fabric_anisotropy_for_isotropic_loading: bool = False

Whether to ignore fabric anisotropy for isotropic loading

ignore_fabric_evolution_for_isotropic_loading class-attribute instance-attribute

ignore_fabric_evolution_for_isotropic_loading: bool = False

Whether to ignore fabric evolution for isotropic loading

increment_plastic_displacement class-attribute instance-attribute

increment_plastic_displacement: bool = False

Increment plastic displacement to the total displacement

integration_absolute_tolerance class-attribute instance-attribute

integration_absolute_tolerance: float = 1e-10

Absolute tolerance for the unbalanced force

integration_at_least_once class-attribute instance-attribute

integration_at_least_once: bool = False

Whether the macro-micro integration must be ran at least once

integration_check_absolute_convergence class-attribute instance-attribute

integration_check_absolute_convergence: bool = True

Whether to check absolute contact integration error instead of the relative error

integration_check_convergence class-attribute instance-attribute

integration_check_convergence: bool = True

Whether to converge the macro-micro integration algorithm when the number of iterations reaches the maximum

integration_loading_ratio class-attribute instance-attribute

integration_loading_ratio: float = 1.0

Macro-micro integration loading ratio for the contact force and displacement

integration_max_iterations class-attribute instance-attribute

integration_max_iterations: int = 100

Maximum number of macro-micro integration iterations

integration_relative_tolerance class-attribute instance-attribute

integration_relative_tolerance: float = 0.001

Relative tolerance for the unbalanced force

integration_substepping_max_ratio class-attribute instance-attribute

integration_substepping_max_ratio: float = -1.0

Maximum macro-micro integration substepping ratio

integration_substepping_min_ratio class-attribute instance-attribute

integration_substepping_min_ratio: float = -1.0

Minimum macro-micro integration substepping ratio

integration_substepping_relative_to_increment class-attribute instance-attribute

integration_substepping_relative_to_increment: bool = False

Whether to use the macro-micro integration substepping relative to the increment of last step

integration_tolerance_relative_stress class-attribute instance-attribute

integration_tolerance_relative_stress: bool = False

Whether to use relative tolerance to the stress norm

j2yang_yield_function_epsr_relative_to_kp class-attribute instance-attribute

j2yang_yield_function_epsr_relative_to_kp: bool = False

Whether to use the epsr relative to kp in the yield function for J2Yang model

j2yang_yield_function_softening_alpha class-attribute instance-attribute

j2yang_yield_function_softening_alpha: float = 1.0

Parameter alpha to control the softening behavior in the yield function for J2Yang model

j2yang_yield_function_softening_beta class-attribute instance-attribute

j2yang_yield_function_softening_beta: float = 1.0

Parameter beta to control the softening behavior in the yield function for J2Yang model

j2yang_yield_function_softening_relative_to_CSR class-attribute instance-attribute

j2yang_yield_function_softening_relative_to_CSR: bool = False

Whether softening behavior depends on critical stress ratio in the yield function for J2Yang model

j2yang_yield_function_softening_type class-attribute instance-attribute

j2yang_yield_function_softening_type: Literal[
    "exponential", "hyperbolic", "hyperbolic-modified"
] = "exponential"

Type of softening behavior in the yield function for J2Yang model, either 'exponential', 'hyperbolic' or 'hyperbolic-modified'

kinematic_hypothesis class-attribute instance-attribute

kinematic_hypothesis: bool = False

Whether to use the kinematic hypothesis

loading_direction_scale class-attribute instance-attribute

loading_direction_scale: float = 1.0

Scale for loading direction

loading_direction_type class-attribute instance-attribute

loading_direction_type: Literal[
    "isotropic", "depsd", "depspd", "s", "sa", "custom"
] = "depsd"

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

mixed_load_absolute_tolerance class-attribute instance-attribute

mixed_load_absolute_tolerance: float = 1e-05

Absolute tolerance for the mixed load

mixed_load_check_absolute_convergence class-attribute instance-attribute

mixed_load_check_absolute_convergence: bool = True

Whether to check absolute tolerance for the mixed load

mixed_load_check_convergence class-attribute instance-attribute

mixed_load_check_convergence: bool = True

Whether to converge the mixed load control algorithm when the number of iterations reaches the maximum

mixed_load_check_strain_convergence class-attribute instance-attribute

mixed_load_check_strain_convergence: bool = False

Whether to check strain convergence of the mixed load control algorithm

mixed_load_check_stress_convergence class-attribute instance-attribute

mixed_load_check_stress_convergence: bool = True

Whether to check stress convergence of the mixed load control algorithm

mixed_load_constant_elastic_stiffness class-attribute instance-attribute

mixed_load_constant_elastic_stiffness: bool = True

Whether to use constant elastic stiffness within a mixed load iteration to improve convergence of state-dependent elastoplastic models

mixed_load_max_iterations class-attribute instance-attribute

mixed_load_max_iterations: int = 100

Maximum number of iterations for the mixed load control algorithm

mixed_load_max_larger_steps class-attribute instance-attribute

mixed_load_max_larger_steps: int = -1

Maximum number of larger steps for the mixed load control algorithm

mixed_load_relative_tolerance class-attribute instance-attribute

mixed_load_relative_tolerance: float = 0.001

Relative tolerance for the mixed load

mixed_load_stress_as_anisotropic_stress class-attribute instance-attribute

mixed_load_stress_as_anisotropic_stress: bool = False

Whether the stress-controlled load is given as anisotropic stress

mixed_load_update_void_ratio_in class-attribute instance-attribute

mixed_load_update_void_ratio_in: Literal[
    "after_convergence", "after_iteration", "before_iteration", "elastoplastic"
] = "after_convergence"

When to update the void ratio in the mixed load control algorithm

multi_scale_return_mapping class-attribute instance-attribute

multi_scale_return_mapping: bool = False

Solve the plastic problem with the multi-scale return mapping

run_contact_integration_steps class-attribute instance-attribute

run_contact_integration_steps: int = -1

Number of macro-micro integration iterations to run

run_mixed_load_steps class-attribute instance-attribute

run_mixed_load_steps: int = -1

Number of mixed load iterations to run

run_steps class-attribute instance-attribute

run_steps: int = -1

Number of steps to run

save_elastic_stiffness_matrix class-attribute instance-attribute

save_elastic_stiffness_matrix: bool = False

Whether to save the elastic stiffness matrix

simsand_yield_function_additional_shear_strain class-attribute instance-attribute

simsand_yield_function_additional_shear_strain: float = 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 class-attribute instance-attribute

simsand_yield_function_shear_strain_scale: float = 1.0

Scale factor for the shear strain in the yield function for SIMSAND model

simsand_yield_function_use_plastic_strain class-attribute instance-attribute

simsand_yield_function_use_plastic_strain: bool = True

Whether to use plastic strain (or total strain) in the yield function for SIMSAND model

update_fabric_coefs class-attribute instance-attribute

update_fabric_coefs: bool = False

Whether to update fabric coefficients

update_npv class-attribute instance-attribute

update_npv: bool = False

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

update_void_ratio_from_after_isotropic_loading_to_before class-attribute instance-attribute

update_void_ratio_from_after_isotropic_loading_to_before: bool = False

Whether to update the void ratio after the isotropic loading to the void ratio before the isotropic loading, useful if the initial void ratio is given after the isotropic loading

use_isotropic_fabric_tensor_in_strain_averaging class-attribute instance-attribute

use_isotropic_fabric_tensor_in_strain_averaging: bool = False

Whether to evolve fabric tensor in strain averaging

use_isotropic_fabric_tensor_in_stress_localization class-attribute instance-attribute

use_isotropic_fabric_tensor_in_stress_localization: bool = False

Whether to evolve fabric tensor in stress localization

use_plastic_strain_in_fabric_evolution class-attribute instance-attribute

use_plastic_strain_in_fabric_evolution: bool = False

Whether to use plastic strain in fabric evolution

verbose class-attribute instance-attribute

verbose: bool = False

Whether to print verbose information